From c515397c5ebb19e12bd56258f63c0bd4a56429e0 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 8 Aug 2009 11:40:22 +0000 Subject: flac plugin: added support for composer and disc number tags git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1121 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/flac/decoderflacfactory.cpp | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'src/plugins/Input/flac/decoderflacfactory.cpp') diff --git a/src/plugins/Input/flac/decoderflacfactory.cpp b/src/plugins/Input/flac/decoderflacfactory.cpp index 5e953f851..d52eb830e 100644 --- a/src/plugins/Input/flac/decoderflacfactory.cpp +++ b/src/plugins/Input/flac/decoderflacfactory.cpp @@ -94,14 +94,29 @@ QList DecoderFLACFactory::createPlayList(const QString &fileName, bo //looking for cuesheet comment TagLib::Ogg::XiphComment *xiph_comment = useMetaData ? fileRef.xiphComment() : 0; QList list; - if (xiph_comment && xiph_comment->fieldListMap().contains("CUESHEET")) + if(xiph_comment) { - CUEParser parser(xiph_comment->fieldListMap()["CUESHEET"].toString().toCString(TRUE), fileName); - list = parser.createPlayList(); - delete info; + if (xiph_comment->fieldListMap().contains("CUESHEET")) + { + CUEParser parser(xiph_comment->fieldListMap()["CUESHEET"] + .toString().toCString(TRUE), fileName); + list = parser.createPlayList(); + delete info; + return list; + } + else + { + //additional metadata + TagLib::StringList fld; + if(!xiph_comment->fieldListMap()["COMPOSER"].isEmpty()) + info->setMetaData(Qmmp::COMPOSER, + QString::fromUtf8(fld.toString().toCString(TRUE)).trimmed()); + if(!xiph_comment->fieldListMap()["DISCNUMBER"].isEmpty()) + info->setMetaData(Qmmp::DISCNUMBER, + QString::fromUtf8(fld.toString().toCString(TRUE)).trimmed()); + } } - else - list << info; + list << info; return list; } -- cgit v1.2.3-13-gbd6f