From 24f8305b819bb116326b117c58486e8f89b90c0f Mon Sep 17 00:00:00 2001 From: Stephan Erb <steve-e@h3c.de> Date: Mon, 27 Oct 2008 22:06:58 +0000 Subject: [PATCH] Update banshee current track when necessary. Defective by design but working. Fixes #2229 --- src/music_track_listener.py | 17 +++++++++++++++++ src/roster_window.py | 8 ++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/music_track_listener.py b/src/music_track_listener.py index d8e27a1c63..f54b5a1697 100644 --- a/src/music_track_listener.py +++ b/src/music_track_listener.py @@ -220,6 +220,23 @@ def get_playing_track(self): self._last_playing_music = info return info + ## Check Banshee playing track + test = False + if hasattr(bus, 'name_has_owner'): + if bus.name_has_owner('org.bansheeproject.Banshee'): + test = True + elif dbus.dbus_bindings.bus_name_has_owner(bus.get_connection(), + 'org.bansheeproject.Banshee'): + test = True + if test: + banshee = bus.get_object('org.bansheeproject.Banshee', + '/org/bansheeproject/Banshee/PlayerEngine') + currentTrack = banshee.GetCurrentTrack() + if currentTrack: + song = self._banshee_properties_extract(currentTrack) + self._last_playing_music = song + return song + return None # here we test :) diff --git a/src/roster_window.py b/src/roster_window.py index 81fb8ff6a4..665344db39 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -1004,7 +1004,7 @@ def draw_account(self, account): gajim.connections[account].activity['activity'].strip(), gajim.connections[account].activity['subactivity'].strip()). \ get_pixbuf() - else: + else: self.model[child_iter][C_ACTIVITY_PIXBUF] = \ gtkgui_helpers.load_activity_icon( gajim.connections[account].activity['activity'].strip()). \ @@ -3285,12 +3285,12 @@ def on_publish_tune_toggled(self, widget, account): act = widget.get_active() gajim.config.set_per('accounts', account, 'publish_tune', act) if act: + listener = MusicTrackListener.get() if not self.music_track_changed_signal: - listener = MusicTrackListener.get() self.music_track_changed_signal = listener.connect( 'music-track-changed', self.music_track_changed) - track = listener.get_playing_track() - self.music_track_changed(listener, track) + track = listener.get_playing_track() + self.music_track_changed(listener, track) else: # disable it only if no other account use it for acct in gajim.connections: -- GitLab