Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/atoidejouer/story/keys.py
diff options
context:
space:
mode:
Diffstat (limited to 'atoidejouer/story/keys.py')
-rw-r--r--atoidejouer/story/keys.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/atoidejouer/story/keys.py b/atoidejouer/story/keys.py
index 4bebb2e..6d09820 100644
--- a/atoidejouer/story/keys.py
+++ b/atoidejouer/story/keys.py
@@ -356,6 +356,28 @@ class StoryKeys(object):
# return default
return [0, 0]
+ def get_next_align(self, sequence_name, frame, use_transition=False):
+ # prepare inversed range
+ _range = range(frame + 1, self.get_max_frame() + 1)
+ # try one by one
+ for _f in _range:
+ # get frame dict
+ _frame_dict = self.get_frame_dict(sequence_name, _f)
+ # get frame values
+ _frame_values = [] if _frame_dict is None else _frame_dict.values()
+ # find first valid key
+ for _f_dict in _frame_values:
+ # little check
+ if use_transition is False\
+ and _f_dict['__key_type'] != 'key':
+ continue
+ elif '__align' in _f_dict\
+ and _f_dict['__key_type'] in ['key', 'transition']:
+ return _f_dict['__align']
+ else:
+ continue
+ # default
+ return [0, 0]
def inc_position(self, sequence_name, frame, filename, move, value):
# get align first