aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/opus
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-05-01 07:41:45 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-05-01 07:41:45 +0000
commit5ab2d1dfa607cf67f3e7f71ba57c9586d14ee6ad (patch)
tree546c2c7e9cde9cf8e11de04cc2b04ede8336b252 /src/plugins/Input/opus
parent903ae1362440fbe258678bdeb7f69224ec82003f (diff)
downloadqmmp-5ab2d1dfa607cf67f3e7f71ba57c9586d14ee6ad.tar.gz
qmmp-5ab2d1dfa607cf67f3e7f71ba57c9586d14ee6ad.tar.bz2
qmmp-5ab2d1dfa607cf67f3e7f71ba57c9586d14ee6ad.zip
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
Diffstat (limited to 'src/plugins/Input/opus')
-rw-r--r--src/plugins/Input/opus/decoderopusfactory.cpp7
-rw-r--r--src/plugins/Input/opus/opusmetadatamodel.cpp12
2 files changed, 14 insertions, 5 deletions
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<FileInfo *> 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 <FileInfo*> 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: