aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/flac/decoderflacfactory.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-08-08 11:40:22 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-08-08 11:40:22 +0000
commitc515397c5ebb19e12bd56258f63c0bd4a56429e0 (patch)
tree9258f6633a9213cb4f296b38c2a2157a7d664037 /src/plugins/Input/flac/decoderflacfactory.cpp
parent12746dbfb28759b831aaf02e5b542cfa55be3fb5 (diff)
downloadqmmp-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.cpp27
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;
}