[gnome-music/wip/jfelder/tag-test: 3/22] grilo: Watch resolve and browse sources



commit fc89f00fde5b4ad3ea040ea72cd3d600a1cc61d0
Author: Sumaid Syed <sumaidsyed gmail com>
Date:   Wed Jul 17 16:18:35 2019 +0530

    grilo: Watch resolve and browse sources
    
    Introduce a new signal "new-resolve-source-found" when a RESOLVE
    source has been found.
    Introduce a new signal "new-browse-source-found" when a BROWSE source has been found.
    
    Based on the patches by Jean Felder.
    
    https://gitlab.gnome.org/GNOME/gnome-music/issues/293

 gnomemusic/grilo.py | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
---
diff --git a/gnomemusic/grilo.py b/gnomemusic/grilo.py
index d089ecd8..ce91ba20 100644
--- a/gnomemusic/grilo.py
+++ b/gnomemusic/grilo.py
@@ -49,7 +49,11 @@ class Grilo(GObject.GObject):
     __gsignals__ = {
         'ready': (GObject.SignalFlags.RUN_FIRST, None, ()),
         'changes-pending': (GObject.SignalFlags.RUN_FIRST, None, ()),
-        'new-source-added': (GObject.SignalFlags.RUN_FIRST, None, (Grl.Source, ))
+        'new-source-added': (GObject.SignalFlags.RUN_FIRST, None, (Grl.Source, )),
+        'new-resolve-source-found': (
+            GObject.SignalFlags.RUN_FIRST, None, (Grl.Source, )),
+        'new-browse-source-found': (
+            GObject.SignalFlags.RUN_FIRST, None, (Grl.Source, )),
     }
 
     METADATA_KEYS = [
@@ -270,6 +274,16 @@ class Grilo(GObject.GObject):
                 self.props.sources[id] = mediaSource
                 self.emit('new-source-added', mediaSource)
 
+            elif (ops & Grl.SupportedOps.RESOLVE
+                  and mediaSource.get_supported_media() & Grl.MediaType.AUDIO):
+                logger.debug("source %s can be resolved", id)
+                self.emit('new-resolve-source-found', mediaSource)
+
+            elif (ops & Grl.SupportedOps.BROWSE
+                  and mediaSource.get_supported_media() & Grl.MediaType.AUDIO):
+                logger.debug("source %s can be resolved", id)
+                self.emit('new-browse-source-found', mediaSource)
+
         except Exception as e:
             logger.debug("Source {}: exception {}".format(id, e))
 


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