diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-08-08 11:40:22 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-08-08 11:40:22 +0000 |
| commit | c515397c5ebb19e12bd56258f63c0bd4a56429e0 (patch) | |
| tree | 9258f6633a9213cb4f296b38c2a2157a7d664037 /src/plugins/Input/flac/decoderflacfactory.cpp | |
| parent | 12746dbfb28759b831aaf02e5b542cfa55be3fb5 (diff) | |
| download | qmmp-c515397c5ebb19e12bd56258f63c0bd4a56429e0.tar.gz qmmp-c515397c5ebb19e12bd56258f63c0bd4a56429e0.tar.bz2 qmmp-c515397c5ebb19e12bd56258f63c0bd4a56429e0.zip | |
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
Diffstat (limited to 'src/plugins/Input/flac/decoderflacfactory.cpp')
| -rw-r--r-- | src/plugins/Input/flac/decoderflacfactory.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
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<FileInfo *> DecoderFLACFactory::createPlayList(const QString &fileName, bo //looking for cuesheet comment TagLib::Ogg::XiphComment *xiph_comment = useMetaData ? fileRef.xiphComment() : 0; QList <FileInfo*> 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; } |
