librygel_media_tracker_la_SOURCES = \
rygel-media-tracker.vala \
rygel-tracker-root-container.vala \
+ rygel-tracker-music.vala \
rygel-tracker-metadata-values.vala \
rygel-tracker-tags.vala \
rygel-tracker-search-container.vala \
--- /dev/null
+/*
+ * Copyright (C) 2009 Nokia Corporation.
+ *
+ * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
+ * <zeeshan.ali@nokia.com>
+ *
+ * This file is part of Rygel.
+ *
+ * Rygel is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Rygel is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+using Gee;
+
+/**
+ * Container listing Music content hierarchy.
+ */
+public class Rygel.TrackerMusic : Rygel.SimpleContainer {
+ public TrackerMusic (string id,
+ MediaContainer parent,
+ string title) {
+ base (id, parent, title);
+
+ var item_factory = new TrackerMusicItemFactory ();
+ var key_chain = new string[] { "nmm:performer",
+ "nmm:artistName",
+ null };
+ this.add_child (new TrackerMetadataValues ("17",
+ this,
+ "Artists",
+ item_factory,
+ key_chain));
+
+ key_chain = new string[] { "nmm:musicAlbum", "nmm:albumTitle", null };
+ this.add_child (new TrackerMetadataValues ("18",
+ this,
+ "Albums",
+ item_factory,
+ key_chain));
+ }
+}
+
"Pictures",
new TrackerImageItemFactory ()));
this.add_child (new TrackerSearchContainer (
- "14",
- this,
- "Music",
- new TrackerMusicItemFactory ()));
- this.add_child (new TrackerSearchContainer (
"15",
this,
"Videos",
new TrackerVideoItemFactory ()));
- var key_chain = new string[] { "nmm:performer",
- "nmm:artistName",
- null };
- this.add_child (new TrackerMetadataValues (
- "17",
- this,
- "Artists",
- new TrackerMusicItemFactory (),
- key_chain));
-
- key_chain = new string[] { "nmm:musicAlbum", "nmm:albumTitle", null };
- this.add_child (new TrackerMetadataValues (
- "18",
- this,
- "Albums",
- new TrackerMusicItemFactory (),
- key_chain));
-
+ this.add_child (new TrackerMusic ("14", this, "Music"));
this.add_child (new TrackerTags ("19", this));
}
}