mpd: Update event handling to warn about unknown events
This commit is contained in:
parent
da84c0f59c
commit
c2fc313151
@ -11,6 +11,23 @@ from mopidy.mpd import session, uri_mapper
|
|||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
_CORE_EVENTS_TO_IDLE_SUBSYSTEMS = {
|
||||||
|
'track_playback_paused': None,
|
||||||
|
'track_playback_resumed': None,
|
||||||
|
'track_playback_started': None,
|
||||||
|
'track_playback_ended': None,
|
||||||
|
'playback_state_changed': 'player',
|
||||||
|
'tracklist_changed': 'playlist',
|
||||||
|
'playlists_loaded': 'stored_playlist',
|
||||||
|
'playlist_changed': 'stored_playlist',
|
||||||
|
'playlist_deleted': 'stored_playlist',
|
||||||
|
'options_changed': 'options',
|
||||||
|
'volume_changed': 'mixer',
|
||||||
|
'mute_changed': 'output',
|
||||||
|
'seeked': 'player',
|
||||||
|
'stream_title_changed': 'playlist',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class MpdFrontend(pykka.ThreadingActor, CoreListener):
|
class MpdFrontend(pykka.ThreadingActor, CoreListener):
|
||||||
|
|
||||||
@ -59,35 +76,13 @@ class MpdFrontend(pykka.ThreadingActor, CoreListener):
|
|||||||
|
|
||||||
process.stop_actors_by_class(session.MpdSession)
|
process.stop_actors_by_class(session.MpdSession)
|
||||||
|
|
||||||
|
def on_event(self, event, **kwargs):
|
||||||
|
if event not in _CORE_EVENTS_TO_IDLE_SUBSYSTEMS:
|
||||||
|
logger.warning(
|
||||||
|
'Got unexpected event: %s(%s)', event, ', '.join(kwargs))
|
||||||
|
else:
|
||||||
|
self.send_idle(_CORE_EVENTS_TO_IDLE_SUBSYSTEMS[event])
|
||||||
|
|
||||||
def send_idle(self, subsystem):
|
def send_idle(self, subsystem):
|
||||||
listener.send(session.MpdSession, subsystem)
|
if subsystem:
|
||||||
|
listener.send(session.MpdSession, subsystem)
|
||||||
def playback_state_changed(self, old_state, new_state):
|
|
||||||
self.send_idle('player')
|
|
||||||
|
|
||||||
def tracklist_changed(self):
|
|
||||||
self.send_idle('playlist')
|
|
||||||
|
|
||||||
def playlists_loaded(self):
|
|
||||||
self.send_idle('stored_playlist')
|
|
||||||
|
|
||||||
def playlist_changed(self, playlist):
|
|
||||||
self.send_idle('stored_playlist')
|
|
||||||
|
|
||||||
def playlist_deleted(self, uri):
|
|
||||||
self.send_idle('stored_playlist')
|
|
||||||
|
|
||||||
def options_changed(self):
|
|
||||||
self.send_idle('options')
|
|
||||||
|
|
||||||
def volume_changed(self, volume):
|
|
||||||
self.send_idle('mixer')
|
|
||||||
|
|
||||||
def mute_changed(self, mute):
|
|
||||||
self.send_idle('output')
|
|
||||||
|
|
||||||
def stream_title_changed(self, title):
|
|
||||||
self.send_idle('playlist')
|
|
||||||
|
|
||||||
def seeked(self, time_position):
|
|
||||||
self.send_idle('player')
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user