[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