From 208435cd79817fe436d7680cd1cbc5ce05219ae3 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 31 Oct 2010 01:06:00 +0200 Subject: [PATCH] Made play/next/prev in Ubuntu's Sound Menu work by wiring the MPRIS methods to their MPD frontend equivalents #thisisatemporaryhacktoprovethatitworks #ipromise --- mopidy/frontends/mpris.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/mopidy/frontends/mpris.py b/mopidy/frontends/mpris.py index 41c0118f..55d96b87 100644 --- a/mopidy/frontends/mpris.py +++ b/mopidy/frontends/mpris.py @@ -245,6 +245,13 @@ class MprisObject(dbus.service.Object): # TODO call playback.next(), keep playback.state unchanged pass + # XXX Proof of concept only. Throw away, write tests, reimplement: + self.core_queue.put({ + 'to': 'frontend', + 'command': 'mpd_request', + 'request': 'next', + }) + @dbus.service.method(dbus_interface=player_interface) def OpenUri(self, uri): logger.debug(u'%s.OpenUri called', self.player_interface) @@ -273,17 +280,31 @@ class MprisObject(dbus.service.Object): @dbus.service.method(dbus_interface=player_interface) def PlayPause(self): logger.debug(u'%s.PlayPause called', self.player_interface) + # TODO Pseudo code: # if playback.state == playback.PLAYING: playback.pause() # elif playback.state == playback.PAUSED: playback.resume() # elif playback.state == playback.STOPPED: playback.play() - pass + + # XXX Proof of concept only. Throw away, write tests, reimplement: + self.core_queue.put({ + 'to': 'frontend', + 'command': 'mpd_request', + 'request': 'play', + }) @dbus.service.method(dbus_interface=player_interface) def Previous(self): logger.debug(u'%s.Previous called', self.player_interface) + # TODO call playback.previous(), keep playback.state unchanged - pass + + # XXX Proof of concept only. Throw away, write tests, reimplement: + self.core_queue.put({ + 'to': 'frontend', + 'command': 'mpd_request', + 'request': 'previous', + }) @dbus.service.method(dbus_interface=player_interface) def Seek(self, offset):