diff options
Diffstat (limited to 'src/plugins/Input/vorbis')
| -rw-r--r-- | src/plugins/Input/vorbis/decodervorbisfactory.cpp | 9 | ||||
| -rw-r--r-- | src/plugins/Input/vorbis/replaygainreader.cpp | 6 | ||||
| -rw-r--r-- | src/plugins/Input/vorbis/vorbismetadatamodel.cpp | 14 |
3 files changed, 13 insertions, 16 deletions
diff --git a/src/plugins/Input/vorbis/decodervorbisfactory.cpp b/src/plugins/Input/vorbis/decodervorbisfactory.cpp index 2f914e94c..777738ae7 100644 --- a/src/plugins/Input/vorbis/decodervorbisfactory.cpp +++ b/src/plugins/Input/vorbis/decodervorbisfactory.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2015 by Ilya Kotov * + * Copyright (C) 2008-2016 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -29,13 +29,6 @@ #include "vorbismetadatamodel.h" #include "decodervorbisfactory.h" -#ifdef Q_OS_WIN -#define QStringToFileName(s) TagLib::FileName(reinterpret_cast<const wchar_t *>(s.utf16())) -#else -#define QStringToFileName(s) s.toLocal8Bit().constData() -#endif - - // DecoderOggFactory bool DecoderVorbisFactory::supports(const QString &source) const diff --git a/src/plugins/Input/vorbis/replaygainreader.cpp b/src/plugins/Input/vorbis/replaygainreader.cpp index d88d78120..aac5957f5 100644 --- a/src/plugins/Input/vorbis/replaygainreader.cpp +++ b/src/plugins/Input/vorbis/replaygainreader.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2016 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -26,7 +26,7 @@ ReplayGainReader::ReplayGainReader(const QString &path) { - TagLib::Ogg::Vorbis::File fileRef(path.toLocal8Bit ().constData()); + TagLib::Ogg::Vorbis::File fileRef(QStringToFileName(path)); if(fileRef.tag()) readVorbisComment(fileRef.tag()); } @@ -39,7 +39,7 @@ QMap <Qmmp::ReplayGainKey, double> ReplayGainReader::replayGainInfo() const void ReplayGainReader::readVorbisComment(TagLib::Ogg::XiphComment *comment) { TagLib::Ogg::FieldListMap items = comment->fieldListMap(); - if (items.contains("REPLAYGAIN_TRACK_GAIN")) + if (items.contains("REPLAYGAIN_TRACK_GAIN")) setValue(Qmmp::REPLAYGAIN_TRACK_GAIN,TStringToQString(items["REPLAYGAIN_TRACK_GAIN"].front())); if (items.contains("REPLAYGAIN_TRACK_PEAK")) setValue(Qmmp::REPLAYGAIN_TRACK_PEAK,TStringToQString(items["REPLAYGAIN_TRACK_PEAK"].front())); diff --git a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp index 108addbd5..9dcc17557 100644 --- a/src/plugins/Input/vorbis/vorbismetadatamodel.cpp +++ b/src/plugins/Input/vorbis/vorbismetadatamodel.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2015 by Ilya Kotov * + * Copyright (C) 2009-2016 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -43,7 +43,7 @@ VorbisMetaDataModel::~VorbisMetaDataModel() QHash<QString, QString> VorbisMetaDataModel::audioProperties() { QHash<QString, QString> ap; - TagLib::Ogg::Vorbis::File f (m_path.toLocal8Bit().constData()); + TagLib::Ogg::Vorbis::File f (QStringToFileName(m_path)); if(f.audioProperties()) { QString text = QString("%1").arg(f.audioProperties()->length()/60); @@ -64,7 +64,7 @@ QList<TagModel* > VorbisMetaDataModel::tags() QPixmap VorbisMetaDataModel::cover() { - TagLib::Ogg::Vorbis::File file(m_path.toLocal8Bit().constData()); + TagLib::Ogg::Vorbis::File file(QStringToFileName(m_path)); TagLib::Ogg::XiphComment *tag = file.tag(); if(!tag) return QPixmap(); @@ -111,7 +111,7 @@ ulong VorbisMetaDataModel::readPictureBlockField(QByteArray data, int offset) VorbisCommentModel::VorbisCommentModel(const QString &path) : TagModel(TagModel::Save) { - m_file = new TagLib::Ogg::Vorbis::File (path.toLocal8Bit().constData()); + m_file = new TagLib::Ogg::Vorbis::File (QStringToFileName(path)); m_tag = m_file->tag(); } @@ -212,8 +212,12 @@ void VorbisCommentModel::save() if(m_tag) m_file->save(); //taglib bug workarround +#ifdef Q_OS_WIN + QString path = QString::fromStdWString(m_file->name().wstr()); +#else QString path = QString::fromLocal8Bit(m_file->name()); +#endif delete m_file; - m_file = new TagLib::Ogg::Vorbis::File(path.toLocal8Bit().constData()); + m_file = new TagLib::Ogg::Vorbis::File(QStringToFileName(path)); m_tag = m_file->tag(); } |
