From: Thadeu Lima de Souza Cascardo Date: Mon, 22 Jun 2009 09:16:11 +0000 (-0300) Subject: Map gstreamer over dbus tags into xmpp tune tags. X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fpubsub-bot.git;a=commitdiff_plain;h=40ce820aa77140248e8af4d6e0f389aa0a0bab1c;ds=sidebyside Map gstreamer over dbus tags into xmpp tune tags. --- diff --git a/status.c b/status.c index 6362b6d..2c78898 100644 --- a/status.c +++ b/status.c @@ -417,6 +417,28 @@ handler (GIOChannel *channel, GIOCondition cond, gpointer data) return TRUE; } +struct + { char * key; char * val; } keymaps[] = +{ + { "artist", "artist" }, + { "duration", "length" }, + { "album", "source" }, + { "title", "title" }, + { "track-number", "track" }, + { "location", "uri" }, + { NULL, NULL } +}; + +static char * +map_key (char *orig) +{ + int i; + for (i = 0; keymaps[i].key != NULL; i++) + if (strcmp (orig, keymaps[i].key) == 0) + return keymaps[i].val; + return NULL; +} + static void tune_add_dbus_arg (iks *tune, DBusMessageIter *args) { @@ -440,6 +462,7 @@ tune_add_dbus_arg (iks *tune, DBusMessageIter *args) } else printf ("%c\n", dbus_message_iter_get_arg_type (&entry)); + strkey = map_key (strkey); if (strkey && strval) { iks_insert_cdata (iks_insert (tune, strkey), strval, 0);