[gnome-music/wip/jfelder/mpris-fix-playlist-changes: 1/2] mpris: Listen to the player model changes once a song is playing
- From: Jean Felder <jfelder src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/jfelder/mpris-fix-playlist-changes: 1/2] mpris: Listen to the player model changes once a song is playing
- Date: Wed, 20 Nov 2019 22:56:35 +0000 (UTC)
commit 5c35fe25ae7e6e5948e578c48c0f91810334f5da
Author: Jean Felder <jfelder src gnome org>
Date: Wed Nov 20 23:23:50 2019 +0100
mpris: Listen to the player model changes once a song is playing
If the "items-changed" signal from the player model is connected
before the model is populated, the MPRIS tracklist will be populated
with a list of empty track the first time it is filled.
Fix the issue by connecting this signal once the first song starts
playing.
gnomemusic/mpris.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/gnomemusic/mpris.py b/gnomemusic/mpris.py
index 9792e1ea..edfb310f 100644
--- a/gnomemusic/mpris.py
+++ b/gnomemusic/mpris.py
@@ -293,8 +293,7 @@ class MPRIS(DBusInterface):
self._coremodel = app.props.coremodel
self._player_model = self._coremodel.props.playlist_sort
- self._player_model.connect(
- "items-changed", self._on_player_model_changed)
+ self._player_model_changed_id = None
self._coremodel.connect(
"playlist-loaded", self._on_player_playlist_changed)
@@ -518,6 +517,10 @@ class MPRIS(DBusInterface):
if self._previous_can_play is True:
return
+ if self._player_model_changed_id is None:
+ self._player_model_changed_id = self._player_model.connect_after(
+ "items-changed", self._on_player_model_changed)
+
self._on_player_model_changed(None, 0, 0, 0)
def _on_player_model_changed(self, model, pos, removed, added):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]