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__)
|
||||
|
||||
_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):
|
||||
|
||||
@ -59,35 +76,13 @@ class MpdFrontend(pykka.ThreadingActor, CoreListener):
|
||||
|
||||
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):
|
||||
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')
|
||||
if subsystem:
|
||||
listener.send(session.MpdSession, subsystem)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user