+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