aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/mpc/mpcmetadatamodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/mpc/mpcmetadatamodel.cpp')
-rw-r--r--src/plugins/Input/mpc/mpcmetadatamodel.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/plugins/Input/mpc/mpcmetadatamodel.cpp b/src/plugins/Input/mpc/mpcmetadatamodel.cpp
index 1a1983199..9a07390e6 100644
--- a/src/plugins/Input/mpc/mpcmetadatamodel.cpp
+++ b/src/plugins/Input/mpc/mpcmetadatamodel.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009 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 *
@@ -86,8 +86,12 @@ const QString MPCFileTagModel::name()
QList<Qmmp::MetaData> MPCFileTagModel::keys()
{
QList<Qmmp::MetaData> list = TagModel::keys();
- list.removeAll(Qmmp::COMPOSER);
list.removeAll(Qmmp::DISCNUMBER);
+ if (m_tagType == TagLib::MPC::File::ID3v1)
+ {
+ list.removeAll(Qmmp::COMPOSER);
+ list.removeAll(Qmmp::ALBUMARTIST);
+ }
return list;
}
@@ -105,6 +109,13 @@ const QString MPCFileTagModel::value(Qmmp::MetaData key)
case Qmmp::ARTIST:
str = m_tag->artist();
break;
+ case Qmmp::ALBUMARTIST:
+ if(m_tagType == TagLib::MPC::File::APE &&
+ !m_file->APETag()->itemListMap()["ALBUMARTIST"].isEmpty())
+ {
+ str = m_file->APETag()->itemListMap()["ALBUMARTIST"].toString();
+ }
+ break;
case Qmmp::ALBUM:
str = m_tag->album();
break;
@@ -114,6 +125,13 @@ const QString MPCFileTagModel::value(Qmmp::MetaData key)
case Qmmp::GENRE:
str = m_tag->genre();
break;
+ case Qmmp::COMPOSER:
+ if(m_tagType == TagLib::MPC::File::APE &&
+ !m_file->APETag()->itemListMap()["COMPOSER"].isEmpty())
+ {
+ str = m_file->APETag()->itemListMap()["COMPOSER"].toString();
+ }
+ break;
case Qmmp::YEAR:
return QString::number(m_tag->year());
case Qmmp::TRACK: