summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarkus Kaufhold <markuskauf@users.sourceforge.net>2009-05-10 21:29:05 +0100
committerMarkus Kaufhold <markuskauf@users.sourceforge.net>2009-05-10 21:29:05 +0100
commitcc36b63853e116978e76b0e54ad0480d77ff0981 (patch)
tree1e53027a01e3bdc6a19ea0202af1068bb71c13d8 /src
parent62f8c9b05e77a753b6dbdbea754f755eb050ed5f (diff)
downloadxine-lib-cc36b63853e116978e76b0e54ad0480d77ff0981.tar.gz
xine-lib-cc36b63853e116978e76b0e54ad0480d77ff0981.tar.bz2
Provide genre & track no. for CDDB data
(Tweaked to fit current hg and to fix a bug.) --HG-- extra : transplant_source : %FC%0C%D1n%D1%26%90%88%E0%EC%7D/%27%A1i%00%B0m%E5%AF
Diffstat (limited to 'src')
-rw-r--r--src/input/input_cdda.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/input/input_cdda.c b/src/input/input_cdda.c
index 9a9429359..baae34321 100644
--- a/src/input/input_cdda.c
+++ b/src/input/input_cdda.c
@@ -1479,6 +1479,11 @@ static void _cdda_parse_cddb_info (cdda_input_plugin_t *this, char *buffer, char
if (pt && strlen (pt) == 5)
this->cddb.disc_year = strdup (pt + 1);
}
+ else if(sscanf(buffer, "DGENRE=%s", &buf[0]) == 1) {
+ char *pt = strrchr(buffer, '=');
+ if (pt)
+ this->cddb.disc_category = strdup (pt + 1);
+ }
else if (sscanf (buffer, "TTITLE%d=%s", &track_no, &buf[0]) == 2) {
char *pt = strchr(buffer, '=');
this->cddb.track[track_no].title = _cdda_append (this->cddb.track[track_no].title, pt + 1);
@@ -2418,6 +2423,9 @@ static int cdda_plugin_open (input_plugin_t *this_gen ) {
}
lprintf("Track %d Title: %s\n", this->track+1, pt);
+ char tracknum[4];
+ snprintf(tracknum, 4, "%d", this->track+1);
+ _x_meta_info_set_utf8(this->stream, XINE_META_INFO_TRACK_NUMBER, tracknum);
_x_meta_info_set_utf8(this->stream, XINE_META_INFO_TITLE, pt);
}