Philipp Hörist pushed to branch master at gajim / gajim
Commits:
0e9aed6a by André Apitzsch at 2020-11-07T15:55:20+01:00
MusicTrackListener: Get currently playing song asynchronously
Fixes #10339.
- - - - -
1 changed file:
- gajim/common/dbus/music_track.py
Changes:
=====================================
gajim/common/dbus/music_track.py
=====================================
@@ -93,9 +93,7 @@ def start(self):
self._add_player(name)
for name in list(self.players):
- info = self._get_playing_track(name)
- if info is not None:
- self._emit(info)
+ self._get_playing_track(name)
def stop(self):
for name in list(self.players):
@@ -154,10 +152,7 @@ def _signal_received(self,
'''Signal handler for PropertiesChanged event'''
log.info('Signal received: %s - %s', interface_name, parameters)
-
- info = self._get_playing_track(user_data[0])
-
- self._emit(info)
+ self._get_playing_track(user_data[0])
@staticmethod
def _get_music_info(properties):
@@ -189,18 +184,23 @@ def _get_playing_track(self, name):
'org.freedesktop.DBus.Properties',
None)
- try:
- result = proxy.call_sync(
- "GetAll",
- GLib.Variant('(s)', ('org.mpris.MediaPlayer2.Player',)),
- Gio.DBusCallFlags.NONE,
- -1,
- None)
- except GLib.Error as error:
- log.debug("Could not enable music listener: %s", error.message)
- return None
+ def proxy_call_finished(proxy, res):
+ try:
+ result = proxy.call_finish(res)
+ except GLib.Error as error:
+ log.debug("Could not enable music listener: %s", error.message)
+ return
+
+ info = self._get_music_info(result[0])
+ if info is not None:
+ self._emit(info)
- return self._get_music_info(result[0])
+ proxy.call("GetAll",
+ GLib.Variant('(s)', ('org.mpris.MediaPlayer2.Player',)),
+ Gio.DBusCallFlags.NONE,
+ -1,
+ None,
+ proxy_call_finished)
def enable():
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/0e9aed6a32099ef88fdfd763a000417f5ea89fd3
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/0e9aed6a32099ef88fdfd763a000417f5ea89fd3
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits