Add seeked event

This commit is contained in:
Stein Magnus Jodal 2011-07-27 01:20:00 +02:00
parent 3c2a944e8a
commit 607cdc7871
3 changed files with 20 additions and 1 deletions

View File

@ -484,7 +484,10 @@ class PlaybackController(object):
self.play_time_started = self._current_wall_time
self.play_time_accumulated = time_position
return self.provider.seek(time_position)
success = self.provider.seek(time_position)
if success:
self._trigger_seeked()
return success
def stop(self, clear_current_track=False):
"""
@ -540,6 +543,10 @@ class PlaybackController(object):
logger.debug(u'Triggering options changed event')
BackendListener.send('options_changed')
def _trigger_seeked(self):
logger.debug(u'Triggering seeked event')
BackendListener.send('seeked')
class BasePlaybackProvider(object):
"""

View File

@ -105,3 +105,12 @@ class BackendListener(object):
*MAY* be implemented by actor.
"""
pass
def seeked(self):
"""
Called whenever the time position changes by an unexpected amount, e.g.
at seek to a new time position.
*MAY* be implemented by actor.
"""
pass

View File

@ -30,3 +30,6 @@ class BackendListenerTest(unittest.TestCase):
def test_listener_has_default_impl_for_volume_changed(self):
self.listener.volume_changed()
def test_listener_has_default_impl_for_seeked(self):
self.listener.seeked()