diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2014-09-22 17:16:26 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2014-09-22 17:16:26 +0000 |
| commit | b66a8c518cbaa660ca3b9d18a1d071b144e5a2ab (patch) | |
| tree | 45c7f5c5f45f54636b60449b137aaee79fb1f8a9 /src/plugins/Input/flac | |
| parent | 9f312260e06b7d3bc0a017e0dda4836d02f925e4 (diff) | |
| download | qmmp-b66a8c518cbaa660ca3b9d18a1d071b144e5a2ab.tar.gz qmmp-b66a8c518cbaa660ca3b9d18a1d071b144e5a2ab.tar.bz2 qmmp-b66a8c518cbaa660ca3b9d18a1d071b144e5a2ab.zip | |
added 'album artist' field support (patch by Dmitry Misharov)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4509 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/flac')
| -rw-r--r-- | src/plugins/Input/flac/decoderflacfactory.cpp | 3 | ||||
| -rw-r--r-- | src/plugins/Input/flac/flacmetadatamodel.cpp | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/Input/flac/decoderflacfactory.cpp b/src/plugins/Input/flac/decoderflacfactory.cpp index d45a8164c..7e2600b7d 100644 --- a/src/plugins/Input/flac/decoderflacfactory.cpp +++ b/src/plugins/Input/flac/decoderflacfactory.cpp @@ -152,6 +152,9 @@ QList<FileInfo *> DecoderFLACFactory::createPlayList(const QString &fileName, bo //additional metadata TagLib::StringList fld; + if(!(fld = tag->fieldListMap()["ALBUMARTIST"]).isEmpty()) + info->setMetaData(Qmmp::ALBUMARTIST, + QString::fromUtf8(fld.toString().toCString(true)).trimmed()); if(!(fld = tag->fieldListMap()["COMPOSER"]).isEmpty()) info->setMetaData(Qmmp::COMPOSER, QString::fromUtf8(fld.toString().toCString(true)).trimmed()); diff --git a/src/plugins/Input/flac/flacmetadatamodel.cpp b/src/plugins/Input/flac/flacmetadatamodel.cpp index 3c0738819..9b700383f 100644 --- a/src/plugins/Input/flac/flacmetadatamodel.cpp +++ b/src/plugins/Input/flac/flacmetadatamodel.cpp @@ -160,6 +160,11 @@ const QString VorbisCommentModel::value(Qmmp::MetaData key) return TStringToQString_qt4(m_tag->title()); case Qmmp::ARTIST: return TStringToQString_qt4(m_tag->artist()); + case Qmmp::ALBUMARTIST: + if(m_tag->fieldListMap()["ALBUMARTIST"].isEmpty()) + return QString(); + else + return TStringToQString_qt4(m_tag->fieldListMap()["ALBUMARTIST"].front()); case Qmmp::ALBUM: return TStringToQString_qt4(m_tag->album()); case Qmmp::COMMENT: @@ -199,6 +204,11 @@ void VorbisCommentModel::setValue(Qmmp::MetaData key, const QString &value) case Qmmp::ARTIST: m_tag->setArtist(str); return; + case Qmmp::ALBUMARTIST: + value.isEmpty() ? + m_tag->removeField("ALBUMARTIST"): + m_tag->addField("ALBUMARTIST", str, true); + return; case Qmmp::ALBUM: m_tag->setAlbum(str); return; |
