From 3cea1252078e99840d2231affb21731b36d11d0f Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Wed, 26 Dec 2007 19:25:29 +0000 Subject: [PATCH] [js] fix MRPIS behaviour --- src/music_track_listener.py | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/src/music_track_listener.py b/src/music_track_listener.py index 181cdc3d2..1867db981 100644 --- a/src/music_track_listener.py +++ b/src/music_track_listener.py @@ -128,19 +128,37 @@ class MusicTrackListener(gobject.GObject): def _mpris_properties_extract(self, song): info = MusicTrackInfo() - info.title = song['title'] - info.album = song['album'] - info.artist = song['artist'] - info.duration = int(song['length']) + + if song.has_key('title'): + info.title = song['title'] + else: + info.title = '' + + if song.has_key('album'): + info.album = song['album'] + else: + info.album = '' + + if song.has_key('artist'): + info.artist = song['artist'] + else: + info.artist = '' + + if song.has_key('length'): + info.duration = int(song['length']) + else: + info.duration = 0 + return info def _mpris_playing_changed_cb(self, playing): - if playing == 2: + if playing == 0: + self.emit('music-track-changed', self._last_playing_music) + else: self.emit('music-track-changed', None) def _mpris_music_track_change_cb(self, arg): - info = self._mpris_properties_extract(arg) - self.emit('music-track-changed', info) + self._last_playing_music = self._mpris_properties_extract(arg) def _muine_properties_extract(self, song_string): d = dict((x.strip() for x in s1.split(':', 1)) for s1 in \