From 47d9140d54fdb89831809b73c3d2ab30e37ab061 Mon Sep 17 00:00:00 2001 From: "Zeeshan Ali (Khattak)" Date: Mon, 20 Sep 2010 19:11:07 +0300 Subject: [PATCH] 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 ++- src/plugins/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); } -- 2.7.4