diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-02-13 20:02:54 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-02-13 20:02:54 +0000 |
| commit | 526e04b8b4d8ba43f39c0bb653200b054bf5dbd9 (patch) | |
| tree | 243ac42cd058530735f62807599a36e760f377c4 /src/plugins/Input/flac | |
| parent | 336f191f80cbb5cfba9b4910ee1ada7a8133796e (diff) | |
| download | qmmp-526e04b8b4d8ba43f39c0bb653200b054bf5dbd9.tar.gz qmmp-526e04b8b4d8ba43f39c0bb653200b054bf5dbd9.tar.bz2 qmmp-526e04b8b4d8ba43f39c0bb653200b054bf5dbd9.zip | |
added 'disc number' tag support for flac files with embedded cuesheet, added sorting by disc number (Brice Videau)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2601 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/flac')
| -rw-r--r-- | src/plugins/Input/flac/decoder_flac.cpp | 5 | ||||
| -rw-r--r-- | src/plugins/Input/flac/decoderflacfactory.cpp | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/Input/flac/decoder_flac.cpp b/src/plugins/Input/flac/decoder_flac.cpp index a8a1c3c1f..3651f407a 100644 --- a/src/plugins/Input/flac/decoder_flac.cpp +++ b/src/plugins/Input/flac/decoder_flac.cpp @@ -292,6 +292,11 @@ bool DecoderFLAC::initialize() } data()->input = new QFile(p); data()->input->open(QIODevice::ReadOnly); + if(xiph_comment->contains("DISCNUMBER") && !xiph_comment->fieldListMap()["DISCNUMBER"].isEmpty()) + { + m_parser->info(m_track)->setMetaData(Qmmp::DISCNUMBER, + QString::fromUtf8(xiph_comment->fieldListMap()["DISCNUMBER"].toString().toCString(true)).trimmed()); + } QMap<Qmmp::MetaData, QString> metaData = m_parser->info(m_track)->metaData(); addMetaData(metaData); //send metadata } diff --git a/src/plugins/Input/flac/decoderflacfactory.cpp b/src/plugins/Input/flac/decoderflacfactory.cpp index fc9779d82..521318336 100644 --- a/src/plugins/Input/flac/decoderflacfactory.cpp +++ b/src/plugins/Input/flac/decoderflacfactory.cpp @@ -132,6 +132,17 @@ QList<FileInfo *> DecoderFLACFactory::createPlayList(const QString &fileName, bo if (tag->fieldListMap().contains("CUESHEET")) { CUEParser parser(tag->fieldListMap()["CUESHEET"].toString().toCString(true), fileName); + if(tag->contains("DISCNUMBER") && !tag->fieldListMap()["DISCNUMBER"].isEmpty()) + { + TagLib::StringList fld; + fld = tag->fieldListMap()["DISCNUMBER"]; + int i; + for(i=1; i<=parser.count(); i++) + { + parser.info(i)->setMetaData(Qmmp::DISCNUMBER, + QString::fromUtf8(fld.toString().toCString(true)).trimmed()); + } + } list = parser.createPlayList(); delete info; if(flacFile) |
