aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/mad/mpegmetadatamodel.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2014-07-11 05:59:55 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2014-07-11 05:59:55 +0000
commit4beb7f075d0cc4001d40406823b415602aeef2f5 (patch)
treee6f0fc557873d139c4bceb873d110681f3fbcc8c /src/plugins/Input/mad/mpegmetadatamodel.cpp
parent887f15da100abe6fed9ff8cd83f8678fbf20b8de (diff)
downloadqmmp-4beb7f075d0cc4001d40406823b415602aeef2f5.tar.gz
qmmp-4beb7f075d0cc4001d40406823b415602aeef2f5.tar.bz2
qmmp-4beb7f075d0cc4001d40406823b415602aeef2f5.zip
improved rusxmms autodetection
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4351 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/mad/mpegmetadatamodel.cpp')
-rw-r--r--src/plugins/Input/mad/mpegmetadatamodel.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/plugins/Input/mad/mpegmetadatamodel.cpp b/src/plugins/Input/mad/mpegmetadatamodel.cpp
index 0fb6d674a..49defe84f 100644
--- a/src/plugins/Input/mad/mpegmetadatamodel.cpp
+++ b/src/plugins/Input/mad/mpegmetadatamodel.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2013 by Ilya Kotov *
+ * Copyright (C) 2009-2014 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -35,12 +35,12 @@
#include "mpegmetadatamodel.h"
-MPEGMetaDataModel::MPEGMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent)
+MPEGMetaDataModel::MPEGMetaDataModel(bool using_rusxmms, const QString &path, QObject *parent) : MetaDataModel(parent)
{
m_file = new TagLib::MPEG::File(path.toLocal8Bit().constData());
- m_tags << new MpegFileTagModel(m_file, TagLib::MPEG::File::ID3v1);
- m_tags << new MpegFileTagModel(m_file, TagLib::MPEG::File::ID3v2);
- m_tags << new MpegFileTagModel(m_file, TagLib::MPEG::File::APE);
+ m_tags << new MpegFileTagModel(using_rusxmms, m_file, TagLib::MPEG::File::ID3v1);
+ m_tags << new MpegFileTagModel(using_rusxmms, m_file, TagLib::MPEG::File::ID3v2);
+ m_tags << new MpegFileTagModel(using_rusxmms, m_file, TagLib::MPEG::File::APE);
}
MPEGMetaDataModel::~MPEGMetaDataModel()
@@ -131,11 +131,12 @@ QPixmap MPEGMetaDataModel::cover()
return QPixmap();
}
-MpegFileTagModel::MpegFileTagModel(TagLib::MPEG::File *file, TagLib::MPEG::File::TagTypes tagType)
+MpegFileTagModel::MpegFileTagModel(bool using_rusxmms, TagLib::MPEG::File *file, TagLib::MPEG::File::TagTypes tagType)
: TagModel()
{
m_tagType = tagType;
m_file = file;
+ m_using_rusxmms = using_rusxmms;
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
settings.beginGroup("MAD");
if (m_tagType == TagLib::MPEG::File::ID3v1)
@@ -157,6 +158,10 @@ MpegFileTagModel::MpegFileTagModel(TagLib::MPEG::File *file, TagLib::MPEG::File:
m_tag = m_file->APETag();
m_codec = QTextCodec::codecForName ("UTF-8");
}
+ if(m_using_rusxmms)
+ {
+ m_codec = QTextCodec::codecForName ("UTF-8");
+ }
settings.endGroup();
}
@@ -237,7 +242,7 @@ void MpegFileTagModel::setValue(Qmmp::MetaData key, const QString &value)
if (m_tagType == TagLib::MPEG::File::ID3v1)
{
- if(m_codec->name().contains("UTF")) //utf is unsupported
+ if(m_codec->name().contains("UTF") && !m_using_rusxmms) //utf is unsupported
return;
}
else if (m_tagType == TagLib::MPEG::File::ID3v2)