diff options
author | Markus Kaufhold <markuskauf@users.sourceforge.net> | 2009-05-10 21:29:05 +0100 |
---|---|---|
committer | Markus Kaufhold <markuskauf@users.sourceforge.net> | 2009-05-10 21:29:05 +0100 |
commit | cc36b63853e116978e76b0e54ad0480d77ff0981 (patch) | |
tree | 1e53027a01e3bdc6a19ea0202af1068bb71c13d8 /src | |
parent | 62f8c9b05e77a753b6dbdbea754f755eb050ed5f (diff) | |
download | xine-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.c | 8 |
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); } |