[gnome-music] mpris: Send PropertiesChanged signal when thumbnail is updated
- From: Arnel A. Borja <arnelborja src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music] mpris: Send PropertiesChanged signal when thumbnail is updated
- Date: Mon, 16 Sep 2013 08:39:30 +0000 (UTC)
commit 4fe075646d1e5baaf0ec4466abfba26089192255
Author: Arnel A. Borja <arnelborja src gnome org>
Date: Sat Sep 14 21:31:06 2013 +0800
mpris: Send PropertiesChanged signal when thumbnail is updated
Resends the metadata when the thumbnail is updated. We could send just
the mpris:artUrl key, but some clients ignore metadata that contains
only one key (some music players send a dummy value on stop), so send
all metadata to be safe.
https://bugzilla.gnome.org/show_bug.cgi?id=708102
gnomemusic/mpris.py | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/gnomemusic/mpris.py b/gnomemusic/mpris.py
index dfcae49..6f42ea3 100644
--- a/gnomemusic/mpris.py
+++ b/gnomemusic/mpris.py
@@ -28,6 +28,8 @@ import dbus
import dbus.service
from dbus.mainloop.glib import DBusGMainLoop
+from gi.repository import GLib
+
from gnomemusic.player import PlaybackStatus, RepeatType
from gnomemusic.albumArtCache import AlbumArtCache
@@ -43,6 +45,7 @@ class MediaPlayer2Service(dbus.service.Object):
self.app = app
self.player = app.get_active_window().player
self.player.connect('current-changed', self._on_current_changed)
+ self.player.connect('thumbnail-updated', self._on_thumbnail_updated)
self.player.connect('playback-status-changed', self._on_playback_status_changed)
self.player.connect('repeat-mode-changed', self._on_repeat_mode_changed)
self.player.connect('volume-changed', self._on_volume_changed)
@@ -118,6 +121,14 @@ class MediaPlayer2Service(dbus.service.Object):
},
[])
+ def _on_thumbnail_updated(self, player, path, data=None):
+ self.PropertiesChanged(self.MEDIA_PLAYER2_PLAYER_IFACE,
+ {
+ 'Metadata': dbus.Dictionary(self._get_metadata(),
+ signature='sv'),
+ },
+ [])
+
def _on_playback_status_changed(self, data=None):
self.PropertiesChanged(self.MEDIA_PLAYER2_PLAYER_IFACE,
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]