diff --git a/docs/changes.rst b/docs/changes.rst index 2347ddb0..5d2ab57d 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -8,6 +8,10 @@ This change log is used to track all major changes to Mopidy. v0.6.0 (in development) ======================= +**Important changes** + +- Pykka 0.12.3 or greater is required. + **Changes** - Replace :attr:`mopidy.backends.base.Backend.uri_handlers` with diff --git a/docs/installation/index.rst b/docs/installation/index.rst index 5101cc84..198ac9e8 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -25,7 +25,7 @@ Otherwise, make sure you got the required dependencies installed. - Python >= 2.6, < 3 -- `Pykka `_ >= 0.12 +- `Pykka `_ >= 0.12.3 - GStreamer >= 0.10, with Python bindings. See :doc:`gstreamer`. diff --git a/mopidy/backends/base/playback.py b/mopidy/backends/base/playback.py index 53839891..088a5ad4 100644 --- a/mopidy/backends/base/playback.py +++ b/mopidy/backends/base/playback.py @@ -461,18 +461,30 @@ class PlaybackController(object): self.current_cp_track = None def _trigger_started_playing_event(self): + logger.debug(u'Triggering started playing event') if self.current_track is None: return - for listener_ref in ActorRegistry.get_by_class(BackendListener): - listener_ref.proxy().started_playing(track=self.current_track) + ActorRegistry.broadcast({ + 'command': 'pykka_call', + 'attr_path': ('started_playing',), + 'args': [], + 'kwargs': {'track': self.current_track}, + }, target_class=BackendListener) def _trigger_stopped_playing_event(self): # TODO Test that this is called on next/prev/end-of-track + logger.debug(u'Triggering stopped playing event') if self.current_track is None: return - for listener_ref in ActorRegistry.get_by_class(BackendListener): - listener_ref.proxy().stopped_playing( - track=self.current_track, time_position=self.time_position) + ActorRegistry.broadcast({ + 'command': 'pykka_call', + 'attr_path': ('stopped_playing',), + 'args': [], + 'kwargs': { + 'track': self.current_track, + 'time_position': self.time_position, + }, + }, target_class=BackendListener) class BasePlaybackProvider(object): diff --git a/requirements/core.txt b/requirements/core.txt index aaae84f8..8f9da622 100644 --- a/requirements/core.txt +++ b/requirements/core.txt @@ -1 +1 @@ -Pykka >= 0.12 +Pykka >= 0.12.3