[gnome-music/wip/mschraal/core: 200/208] coresong: Add grlid property



commit a648129da045ca493825b35dd2361a7114005f0b
Author: Marinus Schraal <mschraal gnome org>
Date:   Wed Jul 3 21:37:47 2019 +0200

    coresong: Add grlid property
    
    Grilo id is source + media_id.

 gnomemusic/coredisc.py | 4 ++--
 gnomemusic/coresong.py | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/gnomemusic/coredisc.py b/gnomemusic/coredisc.py
index 58be6130..373c9bac 100644
--- a/gnomemusic/coredisc.py
+++ b/gnomemusic/coredisc.py
@@ -81,7 +81,7 @@ class CoreDisc(GObject.GObject):
         model_filter = model
 
         def _filter_func(core_song):
-            return core_song.props.media.get_id() in album_ids
+            return core_song.props.grlid in album_ids
 
         def _reverse_sort(song_a, song_b, data=None):
             return song_a.props.track_number - song_b.props.track_number
@@ -95,7 +95,7 @@ class CoreDisc(GObject.GObject):
                 self._update_duration()
                 return
 
-            album_ids.append(media.get_id())
+            album_ids.append(media.get_source() + media.get_id())
 
         self._coremodel._grilo.populate_album_disc_songs(
             media, discnr, _callback)
diff --git a/gnomemusic/coresong.py b/gnomemusic/coresong.py
index f0b4b6ef..a4f3756a 100644
--- a/gnomemusic/coresong.py
+++ b/gnomemusic/coresong.py
@@ -15,6 +15,7 @@ class CoreSong(GObject.GObject):
     artist = GObject.Property(type=str)
     duration = GObject.Property(type=int)
     media = GObject.Property(type=Grl.Media)
+    grlid = GObject.Property(type=str, default=None)
     play_count = GObject.Property(type=int)
     state = GObject.Property()  # FIXME: How to set an IntEnum type?
     title = GObject.Property(type=str)
@@ -30,6 +31,7 @@ class CoreSong(GObject.GObject):
         self._favorite = False
         self._selected = False
 
+        self.props.grlid = media.get_source() + media.get_id()
         self.update(media)
 
     @GObject.Property(type=bool, default=False)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]