diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-02-18 16:43:02 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-02-18 16:43:02 +0000 |
| commit | 02956c7fdc805b002271efc656aabfb7aa5a686a (patch) | |
| tree | 49749b3e85970b0a2738d4573ef04d9558b995e7 /src | |
| parent | 0f0790e535b39ef6dfa7891b771232b58efb3bb6 (diff) | |
| download | qmmp-02956c7fdc805b002271efc656aabfb7aa5a686a.tar.gz qmmp-02956c7fdc805b002271efc656aabfb7aa5a686a.tar.bz2 qmmp-02956c7fdc805b002271efc656aabfb7aa5a686a.zip | |
fixed ID3v2 again
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@249 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Input/mad/detailsdialog.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/plugins/Input/mad/detailsdialog.cpp b/src/plugins/Input/mad/detailsdialog.cpp index abaf503de..c2e55e5cb 100644 --- a/src/plugins/Input/mad/detailsdialog.cpp +++ b/src/plugins/Input/mad/detailsdialog.cpp @@ -53,7 +53,7 @@ DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) QTextCodec::codecForName(settings.value("ID3v1_encoding", "ISO-8859-1" ) .toByteArray ()); m_codec_v2 = - QTextCodec::codecForName(settings.value("ID3v2_encoding", "UTF-8" ) + QTextCodec::codecForName(settings.value("ID3v2_encoding","UTF-8" ) .toByteArray ()); if (!m_codec_v1) m_codec_v1 = QTextCodec::codecForName ("ISO-8859-1"); @@ -171,7 +171,7 @@ void DetailsDialog::loadTag() if (tag) { bool utf = codec->name().contains("UTF"); - if(utf) + if (utf) codec = QTextCodec::codecForName ("UTF-8"); TagLib::String title = tag->title(); TagLib::String artist = tag->artist(); @@ -220,11 +220,19 @@ void DetailsDialog::save() if (codec->name().contains("UTF")) { - type = TagLib::String::UTF8; //FIXME add utf-16 (LE, BE) support + type = TagLib::String::UTF8; + if (codec->name().contains("UTF-16")) + type = TagLib::String::UTF16; + else if (codec->name().contains("UTF-16LE")) + type = TagLib::String::UTF16LE; + else if (codec->name().contains("UTF-16BE")) + type = TagLib::String::UTF16BE; + codec = QTextCodec::codecForName ("UTF-8"); TagLib::ID3v2::FrameFactory *factory = TagLib::ID3v2::FrameFactory::instance(); factory->setDefaultTextEncoding(type); f->setID3v2FrameFactory(factory); + type = TagLib::String::UTF8; } } if (selectedTag() == TagLib::MPEG::File::APE) |
