示例#1
0
 def test_broadcast_sends_message_to_all_actors_of_given_class_name(self):
     ActorRegistry.broadcast({'command': 'foo'}, target_class='AnActor')
     for actor_ref in ActorRegistry.get_by_class(self.AnActor):
         received_messages = actor_ref.proxy().received_messages.get()
         self.assert_({'command': 'foo'} in received_messages)
     for actor_ref in ActorRegistry.get_by_class(self.BeeActor):
         received_messages = actor_ref.proxy().received_messages.get()
         self.assert_({'command': 'foo'} not in received_messages)
示例#2
0
    def setup(self):
        audio_refs = ActorRegistry.get_by_class(audio.Audio)
        assert len(audio_refs) == 1, \
            'Expected exactly one running Audio instance.'
        self.audio = audio_refs[0].proxy()

        backend_refs = ActorRegistry.get_by_class(Backend)
        assert len(backend_refs) == 1, 'Expected exactly one running backend.'
        self.backend = backend_refs[0].proxy()
示例#3
0
    def setup(self):
        gstreamer_refs = ActorRegistry.get_by_class(GStreamer)
        assert len(gstreamer_refs) == 1, \
            'Expected exactly one running gstreamer.'
        self.gstreamer = gstreamer_refs[0].proxy()

        backend_refs = ActorRegistry.get_by_class(Backend)
        assert len(backend_refs) == 1, 'Expected exactly one running backend.'
        self.backend = backend_refs[0].proxy()
示例#4
0
 def backend(self):
     if self._backend is None:
         backend_refs = ActorRegistry.get_by_class(Backend)
         assert len(backend_refs) == 1, \
             'Expected exactly one running backend.'
         self._backend = backend_refs[0].proxy()
     return self._backend
示例#5
0
文件: __init__.py 项目: Amli/mopidy
    def on_start(self):
        gstreamer_refs = ActorRegistry.get_by_class(GStreamer)
        assert len(gstreamer_refs) == 1, 'Expected exactly one running gstreamer.'
        self.gstreamer = gstreamer_refs[0].proxy()

        logger.info(u'Mopidy uses SPOTIFY(R) CORE')
        self.spotify = self._connect()
示例#6
0
文件: __init__.py 项目: xim/mopidy
 def _notify_backend_of_eos(self):
     backend_refs = ActorRegistry.get_by_class(Backend)
     assert len(backend_refs) <= 1, 'Expected at most one running backend.'
     if backend_refs:
         logger.debug(u'Notifying backend of end-of-stream.')
         backend_refs[0].proxy().playback.on_end_of_track()
     else:
         logger.debug(u'No backend to notify of end-of-stream found.')
示例#7
0
文件: __init__.py 项目: Dvad/mopidy
    def on_start(self):
        audio_refs = ActorRegistry.get_by_class(audio.Audio)
        assert len(audio_refs) == 1, \
            'Expected exactly one running Audio instance.'
        self.audio = audio_refs[0].proxy()

        logger.info(u'Mopidy uses SPOTIFY(R) CORE')
        self.spotify = self._connect()
示例#8
0
 def backend(self):
     """
     The backend. An instance of :class:`mopidy.backends.base.Backend`.
     """
     if self._backend is None:
         backend_refs = ActorRegistry.get_by_class(Backend)
         assert len(backend_refs) == 1, 'Expected exactly one running backend.'
         self._backend = backend_refs[0].proxy()
     return self._backend
示例#9
0
 def mixer(self):
     """
     The mixer. An instance of :class:`mopidy.mixers.base.BaseMixer`.
     """
     if self._mixer is None:
         mixer_refs = ActorRegistry.get_by_class(BaseMixer)
         assert len(mixer_refs) == 1, 'Expected exactly one running mixer.'
         self._mixer = mixer_refs[0].proxy()
     return self._mixer
示例#10
0
 def backend(self):
     """
     The backend. An instance of :class:`mopidy.backends.base.Backend`.
     """
     if self._backend is None:
         backend_refs = ActorRegistry.get_by_class(Backend)
         assert len(
             backend_refs) == 1, 'Expected exactly one running backend.'
         self._backend = backend_refs[0].proxy()
     return self._backend
示例#11
0
文件: playback.py 项目: Amli/mopidy
    def _trigger_started_playing_event(self):
        """
        Notifies frontends that a track has started playing.

        For internal use only. Should be called by the backend directly after a
        track has started playing.
        """
        if self.current_track is None:
            return
        frontend_refs = ActorRegistry.get_by_class(BaseFrontend)
        for frontend_ref in frontend_refs:
            frontend_ref.send_one_way({
                'command': 'started_playing',
                'track': self.current_track,
            })
示例#12
0
文件: playback.py 项目: Amli/mopidy
    def _trigger_stopped_playing_event(self):
        """
        Notifies frontends that a track has stopped playing.

        For internal use only. Should be called by the backend before a track
        is stopped playing, e.g. at the next, previous, and stop actions and at
        end-of-track.
        """
        if self.current_track is None:
            return
        frontend_refs = ActorRegistry.get_by_class(BaseFrontend)
        for frontend_ref in frontend_refs:
            frontend_ref.send_one_way({
                'command': 'stopped_playing',
                'track': self.current_track,
                'stop_position': self.time_position,
            })
示例#13
0
文件: __init__.py 项目: xim/mopidy
 def on_start(self):
     audio_refs = ActorRegistry.get_by_class(audio.Audio)
     assert len(audio_refs) == 1, \
         'Expected exactly one running Audio instance.'
     self.audio = audio_refs[0].proxy()
示例#14
0
文件: process.py 项目: xim/mopidy
def stop_actors_by_class(klass):
    actors = ActorRegistry.get_by_class(klass)
    logger.debug(u'Stopping %d instance(s) of %s', len(actors), klass.__name__)
    for actor in actors:
        actor.stop()
示例#15
0
文件: network.py 项目: ruudud/mopidy
 def number_of_connections(self):
     return len(ActorRegistry.get_by_class(self.protocol))
示例#16
0
 def test_actors_may_be_looked_up_by_superclass(self):
     result = ActorRegistry.get_by_class(AnActor)
     for a_actor in self.a_actors:
         self.assert_(a_actor in result)
     for b_actor in self.b_actors:
         self.assert_(b_actor not in result)
示例#17
0
文件: __init__.py 项目: ruudud/mopidy
 def on_start(self):
     gstreamer_refs = ActorRegistry.get_by_class(GStreamer)
     assert len(gstreamer_refs) == 1, \
         'Expected exactly one running GStreamer.'
     self.gstreamer = gstreamer_refs[0].proxy()
示例#18
0
 def mixer(self):
     if self._mixer is None:
         mixer_refs = ActorRegistry.get_by_class(BaseMixer)
         assert len(mixer_refs) == 1, 'Expected exactly one running mixer.'
         self._mixer = mixer_refs[0].proxy()
     return self._mixer
示例#19
0
文件: __init__.py 项目: Dvad/mopidy
 def on_start(self):
     audio_refs = ActorRegistry.get_by_class(audio.Audio)
     assert len(audio_refs) == 1, \
         'Expected exactly one running Audio instance.'
     self.audio = audio_refs[0].proxy()
示例#20
0
 def on_start(self):
     output_refs = ActorRegistry.get_by_class(GStreamer)
     assert len(output_refs) == 1, 'Expected exactly one running output.'
     self.output = output_refs[0].proxy()
示例#21
0
 def _get_backend(self):
     backend_refs = ActorRegistry.get_by_class(Backend)
     assert len(backend_refs) == 1, 'Expected exactly one running backend.'
     return backend_refs[0].proxy()
示例#22
0
 def test_actors_may_be_looked_up_by_superclass(self):
     result = ActorRegistry.get_by_class(AnActorSuperclass)
     for a_actor in self.a_actors:
         self.assert_(a_actor in result)
     for b_actor in self.b_actors:
         self.assert_(b_actor not in result)
示例#23
0
 def on_start(self):
     output_refs = ActorRegistry.get_by_class(GStreamer)
     assert len(output_refs) == 1, 'Expected exactly one running output.'
     self.output = output_refs[0].proxy()
示例#24
0
文件: network.py 项目: ruudud/mopidy
 def number_of_connections(self):
     return len(ActorRegistry.get_by_class(self.protocol))