diff --git a/src/music_track_listener.py b/src/music_track_listener.py index deb7b7bc1..12f034499 100644 --- a/src/music_track_listener.py +++ b/src/music_track_listener.py @@ -159,6 +159,7 @@ class MusicTrackListener(gobject.GObject): def _mpris_music_track_change_cb(self, arg): self._last_playing_music = self._mpris_properties_extract(arg) + self.emit('music-track-changed', self._last_playing_music) def _muine_properties_extract(self, song_string): d = dict((x.strip() for x in s1.split(':', 1)) for s1 in \ diff --git a/src/roster_window.py b/src/roster_window.py index f7ad2200d..20b5144d8 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -1646,9 +1646,14 @@ class RosterWindow: continue if not gajim.connections[account].pep_supported: continue + if self._music_track_info == music_track_info: + continue pep.user_send_tune(account, artist, title, source) + self._music_track_info = music_track_info elif gajim.connections[account].pep_supported: - pep.user_send_tune(account, artist, title, source) + if self._music_track_info != music_track_info: + pep.user_send_tune(account, artist, title, source) + self._music_track_info = music_track_info def connected_rooms(self, account): @@ -5767,6 +5772,8 @@ class RosterWindow: # quitting self.quit_on_next_offline = -1 + self._music_track_info = None + # uf_show, img, show, sensitive liststore = gtk.ListStore(str, gtk.Image, str, bool) self.status_combobox = self.xml.get_widget('status_combobox')