[Xfce4-commits] <parole:master> Fix Track ID

Sean Davis noreply at xfce.org
Thu Dec 12 00:18:20 CET 2013


Updating branch refs/heads/master
         to 28472fbc56401e120bdd9747c2cb1e703920b872 (commit)
       from d132bc7880c30ceedcb1aaf5ed1752929680d1ee (commit)

commit 28472fbc56401e120bdd9747c2cb1e703920b872
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Sun Nov 17 14:31:28 2013 -0500

    Fix Track ID

 src/gst/parole-gst.c                 |   10 ++++++++++
 src/plugins/mpris2/mpris2-provider.c |   12 +++++++-----
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/gst/parole-gst.c b/src/gst/parole-gst.c
index 7fc18cd..3dc1191 100644
--- a/src/gst/parole-gst.c
+++ b/src/gst/parole-gst.c
@@ -1297,6 +1297,8 @@ parole_gst_get_meta_data_local_file (ParoleGst *gst, GstTagList *tag)
 {
     gchar *str;
     GDate *date;
+    guint integer;
+    
     GdkPixbuf *pixbuf;
     
     if ( gst_tag_list_get_string_index (tag, GST_TAG_TITLE, 0, &str) )
@@ -1347,6 +1349,14 @@ parole_gst_get_meta_data_local_file (ParoleGst *gst, GstTagList *tag)
         g_free (str);
     }
     
+    if ( gst_tag_list_get_uint (tag, GST_TAG_TRACK_NUMBER, &integer) )
+    {
+        TRACE ("track:%i", integer);
+        g_object_set (G_OBJECT (gst->priv->stream),
+                      "track", integer,
+                      NULL);
+    }
+    
     pixbuf = parole_gst_tag_list_get_cover (gst, tag);
     if (pixbuf)
     {
diff --git a/src/plugins/mpris2/mpris2-provider.c b/src/plugins/mpris2/mpris2-provider.c
index ebc34c5..3a37389 100644
--- a/src/plugins/mpris2/mpris2-provider.c
+++ b/src/plugins/mpris2/mpris2-provider.c
@@ -442,6 +442,7 @@ static void handle_strings_request(GVariantBuilder *b, const gchar *tag, const g
 static void handle_get_metadata (const ParoleStream *stream, GVariantBuilder *b)
 {
     gchar *title, *album, *artist, *year, *comment, *stream_uri, *image_uri;
+    gint track_id;
     gint64 duration;
 
     g_object_get (G_OBJECT (stream),
@@ -453,6 +454,7 @@ static void handle_get_metadata (const ParoleStream *stream, GVariantBuilder *b)
                   "duration", &duration,
                   "uri", &stream_uri,
                   "image_uri", &image_uri,
+                  "track", &track_id,
                   NULL);
 
     g_variant_builder_add (b, "{sv}", "mpris:trackid",
@@ -466,19 +468,19 @@ static void handle_get_metadata (const ParoleStream *stream, GVariantBuilder *b)
     handle_strings_request(b, "xesam:artist", artist);
     g_variant_builder_add (b, "{sv}", "xesam:album",
         g_variant_new_string(album));
-    handle_strings_request(b, "xesam:genre", "unknown"); // FIXME: genre was mandatory?
+    handle_strings_request(b, "xesam:genre", "unknown");        // GST_TAG_GENRE
     g_variant_builder_add (b, "{sv}", "xesam:contentCreated",
         g_variant_new_string(year));
     g_variant_builder_add (b, "{sv}", "xesam:trackNumber",
-        g_variant_new_int32(0));
+        g_variant_new_int32(track_id));
     handle_strings_request(b, "xesam:comment", comment);
     g_variant_builder_add (b, "{sv}", "mpris:length",
         g_variant_new_int64((gint64)duration * 1000000));
-    g_variant_builder_add (b, "{sv}", "audio-bitrate", // TODO: How get audio properties?
+    g_variant_builder_add (b, "{sv}", "audio-bitrate",          // GST_TAG_BITRATE
         g_variant_new_int32(0));
-    g_variant_builder_add (b, "{sv}", "audio-channels",
+    g_variant_builder_add (b, "{sv}", "audio-channels",         // No GST_TAG
         g_variant_new_int32(0));
-    g_variant_builder_add (b, "{sv}", "audio-samplerate",
+    g_variant_builder_add (b, "{sv}", "audio-samplerate",       // No GST_TAG
         g_variant_new_int32(0));
 
     g_free(title);


More information about the Xfce4-commits mailing list