diff options
Diffstat (limited to 'src/plugins/Input')
| -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; |
