aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/vorbis
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/vorbis')
-rw-r--r--src/plugins/Input/vorbis/decodervorbisfactory.cpp9
-rw-r--r--src/plugins/Input/vorbis/replaygainreader.cpp6
-rw-r--r--src/plugins/Input/vorbis/vorbismetadatamodel.cpp14
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();
}