diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2014-07-11 05:59:55 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2014-07-11 05:59:55 +0000 |
| commit | 4beb7f075d0cc4001d40406823b415602aeef2f5 (patch) | |
| tree | e6f0fc557873d139c4bceb873d110681f3fbcc8c /src/plugins/Input/mad/mpegmetadatamodel.cpp | |
| parent | 887f15da100abe6fed9ff8cd83f8678fbf20b8de (diff) | |
| download | qmmp-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.cpp | 19 |
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) |
