[rygel] core: Add originalTrackNumber to sortCaps
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] core: Add originalTrackNumber to sortCaps
- Date: Wed, 20 Jul 2011 12:32:26 +0000 (UTC)
commit 3cbe62c3b9fd9378c85b34b9bed7eb58f5d71beb
Author: Jens Georg <mail jensge org>
Date: Wed Jul 20 13:47:09 2011 +0200
core: Add originalTrackNumber to sortCaps
Needed for XBox music support
src/rygel/rygel-media-object.vala | 4 ++++
src/rygel/rygel-media-objects.vala | 3 ++-
src/rygel/rygel-music-item.vala | 3 +++
3 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/src/rygel/rygel-media-object.vala b/src/rygel/rygel-media-object.vala
index 357f45d..1df14e1 100644
--- a/src/rygel/rygel-media-object.vala
+++ b/src/rygel/rygel-media-object.vala
@@ -178,6 +178,10 @@ public abstract class Rygel.MediaObject : GLib.Object {
}
}
+ protected int compare_int_props (int prop1, int prop2) {
+ return (prop1 - prop2).clamp (-1, 1);
+ }
+
private async bool check_writable (File file, Cancellable? cancellable)
throws Error {
if (!file.is_native ()) {
diff --git a/src/rygel/rygel-media-objects.vala b/src/rygel/rygel-media-objects.vala
index 55c69a4..40fb535 100644
--- a/src/rygel/rygel-media-objects.vala
+++ b/src/rygel/rygel-media-objects.vala
@@ -28,7 +28,8 @@ using GUPnP;
*/
public class Rygel.MediaObjects : ArrayList<MediaObject> {
public const string SORT_CAPS = "@id,@parentID,dc:title,upnp:class," +
- "dc:artist,dc:author,upnp:album,dc:date";
+ "dc:artist,dc:author,upnp:album," +
+ "dc:date,upnp:originalTrackNumber";
public override Gee.List<MediaObject>? slice (int start, int stop) {
var slice = base.slice (start, stop);
diff --git a/src/rygel/rygel-music-item.vala b/src/rygel/rygel-music-item.vala
index 2a8b621..6c997c3 100644
--- a/src/rygel/rygel-music-item.vala
+++ b/src/rygel/rygel-music-item.vala
@@ -85,6 +85,9 @@ public class Rygel.MusicItem : AudioItem {
return this.compare_string_props (this.artist, item.artist);
case "upnp:album":
return this.compare_string_props (this.album, item.album);
+ case "upnp:originalTrackNumber":
+ return this.compare_int_props (this.track_number,
+ item.track_number);
default:
return base.compare_by_property (item, property);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]