From 903ae1362440fbe258678bdeb7f69224ec82003f Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 1 May 2015 07:30:50 +0000 Subject: vorbis plugin: added extra tags support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4889 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/vorbis/decodervorbisfactory.cpp | 7 +++++-- src/plugins/Input/vorbis/vorbismetadatamodel.cpp | 12 +++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/plugins/Input/vorbis/decodervorbisfactory.cpp b/src/plugins/Input/vorbis/decodervorbisfactory.cpp index 31fbdb94d..248e25a06 100644 --- a/src/plugins/Input/vorbis/decodervorbisfactory.cpp +++ b/src/plugins/Input/vorbis/decodervorbisfactory.cpp @@ -111,12 +111,15 @@ QList DecoderVorbisFactory::createPlayList(const QString &fileName, if(tag) { TagLib::StringList fld; + if(!(fld = tag->fieldListMap()["ALBUMARTIST"]).isEmpty()) + info->setMetaData(Qmmp::ALBUMARTIST, + QString::fromUtf8(fld.front().toCString(true)).trimmed()); if(!(fld = tag->fieldListMap()["COMPOSER"]).isEmpty()) info->setMetaData(Qmmp::COMPOSER, - QString::fromUtf8(fld.toString().toCString(true)).trimmed()); + QString::fromUtf8(fld.front().toCString(true)).trimmed()); if(!(fld = tag->fieldListMap()["DISCNUMBER"]).isEmpty()) info->setMetaData(Qmmp::DISCNUMBER, - QString::fromUtf8(fld.toString().toCString(true)).trimmed()); + QString::fromUtf8(fld.front().toCString(true)).trimmed()); } QList list; diff --git a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp index eb45caa27..108addbd5 100644 --- a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp +++ b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2012 by Ilya Kotov * + * Copyright (C) 2009-2015 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -135,6 +135,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: @@ -177,6 +182,9 @@ void VorbisCommentModel::setValue(Qmmp::MetaData key, const QString &value) case Qmmp::ALBUM: m_tag->setAlbum(str); return; + case Qmmp::ALBUMARTIST: + m_tag->addField("ALBUMARTIST", str, true); + return; case Qmmp::COMMENT: m_tag->setComment(str); return; @@ -184,8 +192,6 @@ void VorbisCommentModel::setValue(Qmmp::MetaData key, const QString &value) m_tag->setGenre(str); return; case Qmmp::COMPOSER: - value.isEmpty() ? - m_tag->removeField("COMPOSER"): m_tag->addField("COMPOSER", str, true); return; case Qmmp::TRACK: -- cgit v1.2.3-13-gbd6f