[rygel] tracker: Provide UPnP class for artists and albums



commit 47d9140d54fdb89831809b73c3d2ab30e37ab061
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date:   Mon Sep 20 19:11:07 2010 +0300

    tracker: Provide UPnP class for artists and albums
    
    Provide specific UPnP class for artist and album containers so that they
    could be searched by this property. This should fix music browsing on XBox
    360.

 src/plugins/tracker/rygel-tracker-albums.vala      |    3 ++-
 src/plugins/tracker/rygel-tracker-artists.vala     |    3 ++-
 .../tracker/rygel-tracker-metadata-values.vala     |    9 ++++++++-
 3 files changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/src/plugins/tracker/rygel-tracker-albums.vala b/src/plugins/tracker/rygel-tracker-albums.vala
index a9e5d23..8fcee2d 100644
--- a/src/plugins/tracker/rygel-tracker-albums.vala
+++ b/src/plugins/tracker/rygel-tracker-albums.vala
@@ -34,7 +34,8 @@ public class Rygel.Tracker.Albums : MetadataValues {
               parent,
               _("Albums"),
               parent.item_factory,
-              key_chain);
+              key_chain,
+              MediaContainer.MUSIC_ALBUM);
     }
 }
 
diff --git a/src/plugins/tracker/rygel-tracker-artists.vala b/src/plugins/tracker/rygel-tracker-artists.vala
index 451800a..646b4ab 100644
--- a/src/plugins/tracker/rygel-tracker-artists.vala
+++ b/src/plugins/tracker/rygel-tracker-artists.vala
@@ -34,7 +34,8 @@ public class Rygel.Tracker.Artists : MetadataValues {
               parent,
               _("Artists"),
               parent.item_factory,
-              key_chain);
+              key_chain,
+              MediaContainer.MUSIC_ARTIST);
     }
 }
 
diff --git a/src/plugins/tracker/rygel-tracker-metadata-values.vala b/src/plugins/tracker/rygel-tracker-metadata-values.vala
index aa2dc74..4a6ff61 100644
--- a/src/plugins/tracker/rygel-tracker-metadata-values.vala
+++ b/src/plugins/tracker/rygel-tracker-metadata-values.vala
@@ -41,6 +41,8 @@ public abstract class Rygel.Tracker.MetadataValues : Rygel.SimpleContainer {
     // nmm:Performer -> nmm:artistName
     public string[] key_chain;
 
+    private string child_class;
+
     private ResourcesIface resources;
     private ResourcesClassIface resources_class;
 
@@ -48,11 +50,13 @@ public abstract class Rygel.Tracker.MetadataValues : Rygel.SimpleContainer {
                            MediaContainer parent,
                            string         title,
                            ItemFactory    item_factory,
-                           string[]       key_chain) {
+                           string[]       key_chain,
+                           string?        child_class = null) {
         base (id, parent, title);
 
         this.item_factory = item_factory;
         this.key_chain = key_chain;
+        this.child_class = child_class;
 
         try {
             this.create_proxies ();
@@ -146,6 +150,9 @@ public abstract class Rygel.Tracker.MetadataValues : Rygel.SimpleContainer {
                                                  this.item_factory,
                                                  child_triplets,
                                                  filters);
+            if (this.child_class != null) {
+                container.upnp_class = child_class;
+            }
 
             this.add_child (container);
         }



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