From 5ab2d1dfa607cf67f3e7f71ba57c9586d14ee6ad Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 1 May 2015 07:41:45 +0000 Subject: opus plugin: extra tags support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4890 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/opus/decoderopusfactory.cpp | 7 +++++-- src/plugins/Input/opus/opusmetadatamodel.cpp | 12 +++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'src/plugins/Input/opus') diff --git a/src/plugins/Input/opus/decoderopusfactory.cpp b/src/plugins/Input/opus/decoderopusfactory.cpp index 445d2a6df..003eca863 100644 --- a/src/plugins/Input/opus/decoderopusfactory.cpp +++ b/src/plugins/Input/opus/decoderopusfactory.cpp @@ -101,12 +101,15 @@ QList DecoderOpusFactory::createPlayList(const QString &fileName, bo 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/opus/opusmetadatamodel.cpp b/src/plugins/Input/opus/opusmetadatamodel.cpp index 254abb582..b03e26e5b 100644 --- a/src/plugins/Input/opus/opusmetadatamodel.cpp +++ b/src/plugins/Input/opus/opusmetadatamodel.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2013 by Ilya Kotov * + * Copyright (C) 2013-2015 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -137,6 +137,11 @@ const QString VorbisCommentModel::value(Qmmp::MetaData key) return TStringToQString_qt4(m_tag->artist()); case Qmmp::ALBUM: return TStringToQString_qt4(m_tag->album()); + case Qmmp::ALBUMARTIST: + if(m_tag->fieldListMap()["ALBUMARTIST"].isEmpty()) + return QString(); + else + return TStringToQString_qt4(m_tag->fieldListMap()["ALBUMARTIST"].front()); case Qmmp::COMMENT: return TStringToQString_qt4(m_tag->comment()); case Qmmp::GENRE: @@ -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