diff options
author | florent <florent.pigout@gmail.com> | 2011-06-22 11:11:23 (GMT) |
---|---|---|
committer | florent <florent.pigout@gmail.com> | 2011-06-22 11:11:23 (GMT) |
commit | e52a80edba74513190b5751deda4ff1e15405ceb (patch) | |
tree | d696a4233614918b5f4257705db63650a50e79cb | |
parent | cb280add46288950852aa0babb95a5a72b9bcce6 (diff) |
ensure good sound start/pause/stop on key or intermediate farmes
-rw-r--r-- | activity.py | 28 | ||||
-rw-r--r-- | atoidejouer/ui/screens.py | 4 |
2 files changed, 18 insertions, 14 deletions
diff --git a/activity.py b/activity.py index 7add340..be41f1c 100644 --- a/activity.py +++ b/activity.py @@ -46,7 +46,7 @@ class ThreadAnim(threading.Thread): if stop is True: self._time = 0 else: - pass + self.set_time() def play(self): self._pause = False @@ -62,36 +62,36 @@ class ThreadAnim(threading.Thread): # set pause self._pause = self._pause if pause is None else pause # ... - _s = self._activity.get_current_screen() + _current_screen = self._activity.get_current_screen() # ??? - if _s is None: + if _current_screen is None: # ERROR logger.error('[activity] set_time - scene not found!') # do pause on toolbar elif pause is True: - if hasattr(_s, 'toolbar'): - _s.toolbar.pause() + if hasattr(_current_screen, 'toolbar'): + _current_screen.toolbar.pause() else: pass else: # update scene - if hasattr(_s, 'scene'): - _s.scene.refresh() + if hasattr(_current_screen, 'scene'): + _current_screen.scene.refresh() else: - _s.refresh() + _current_screen.refresh() # update timeline - if hasattr(_s, 'timeline'): - _s.timeline.refresh() + if hasattr(_current_screen, 'timeline'): + _current_screen.timeline.refresh() else: pass # update panel - if hasattr(_s, 'panel'): - _s.panel.refresh() + if hasattr(_current_screen, 'panel'): + _current_screen.panel.refresh() else: pass # update slider - if hasattr(_s, 'toolbar'): - _s.toolbar.refresh(self._time) + if hasattr(_current_screen, 'toolbar'): + _current_screen.toolbar.refresh(self._time) else: pass diff --git a/atoidejouer/ui/screens.py b/atoidejouer/ui/screens.py index 551edab..e4477c0 100644 --- a/atoidejouer/ui/screens.py +++ b/atoidejouer/ui/screens.py @@ -187,6 +187,9 @@ class ScreenStory(graphics.Scene): if self.toolbar.activity._thread is None: pass elif self.toolbar.activity._thread._pause is False: + # DEBUG + logger.debug('[screens] refresh - _pause: %s' % self.toolbar.activity._thread._pause) + # DEBUG # for each sound for _n in self._get_keys('sounds').get_names(): if sequence_name is None\ @@ -449,6 +452,7 @@ class ScreenStory(graphics.Scene): # play _s.play() else: + _s.seek(frame) _s.play() else: # create new |