aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-04-25 18:57:01 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-04-25 18:57:01 +0000
commit93e0bbb4f0c3ae83a2700881f244b9d80fbf952b (patch)
tree9f20cacb64f003282fb8d432291ba2fe286ce8ef /src
parent25e440225c1c5cadfb1f3f7b56f6ebde5b91fe16 (diff)
downloadqmmp-93e0bbb4f0c3ae83a2700881f244b9d80fbf952b.tar.gz
qmmp-93e0bbb4f0c3ae83a2700881f244b9d80fbf952b.tar.bz2
qmmp-93e0bbb4f0c3ae83a2700881f244b9d80fbf952b.zip
fixed QString to TagLib::FileName conversion (#852)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6266 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Input/flac/decoderflacfactory.cpp9
-rw-r--r--src/plugins/Input/flac/flacmetadatamodel.cpp4
-rw-r--r--src/plugins/Input/flac/replaygainreader.cpp6
-rw-r--r--src/plugins/Input/mad/decodermadfactory.cpp8
-rw-r--r--src/plugins/Input/mad/mpegmetadatamodel.cpp4
-rw-r--r--src/plugins/Input/mad/replaygainreader.cpp4
-rw-r--r--src/plugins/Input/mpc/decodermpcfactory.cpp10
-rw-r--r--src/plugins/Input/mpc/mpcmetadatamodel.cpp4
-rw-r--r--src/plugins/Input/opus/decoderopusfactory.cpp9
-rw-r--r--src/plugins/Input/opus/opusmetadatamodel.cpp4
-rw-r--r--src/plugins/Input/opus/replaygainreader.cpp4
-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
-rw-r--r--src/qmmp/qmmp.h11
15 files changed, 42 insertions, 64 deletions
diff --git a/src/plugins/Input/flac/decoderflacfactory.cpp b/src/plugins/Input/flac/decoderflacfactory.cpp
index 996c5bce1..dac5da374 100644
--- a/src/plugins/Input/flac/decoderflacfactory.cpp
+++ b/src/plugins/Input/flac/decoderflacfactory.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 *
@@ -34,13 +34,6 @@
#include "flacmetadatamodel.h"
#include "decoderflacfactory.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
-
-
// DecoderFLACFactory
bool DecoderFLACFactory::supports(const QString &source) const
diff --git a/src/plugins/Input/flac/flacmetadatamodel.cpp b/src/plugins/Input/flac/flacmetadatamodel.cpp
index adf81c99b..82a033b44 100644
--- a/src/plugins/Input/flac/flacmetadatamodel.cpp
+++ b/src/plugins/Input/flac/flacmetadatamodel.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2012 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 *
@@ -127,7 +127,7 @@ VorbisCommentModel::VorbisCommentModel(const QString &path) : TagModel(TagModel:
m_tag = 0;
if(path.endsWith(".flac"))
{
- m_file = new TagLib::FLAC::File (path.toLocal8Bit().constData());
+ m_file = new TagLib::FLAC::File (QStringToFileName(path));
m_tag = m_file->xiphComment();
}
else if (path.endsWith(".oga"))
diff --git a/src/plugins/Input/flac/replaygainreader.cpp b/src/plugins/Input/flac/replaygainreader.cpp
index 9aa27970c..095e94fa9 100644
--- a/src/plugins/Input/flac/replaygainreader.cpp
+++ b/src/plugins/Input/flac/replaygainreader.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2013 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 *
@@ -29,13 +29,13 @@ ReplayGainReader::ReplayGainReader(const QString &path)
{
if(path.endsWith(".flac", Qt::CaseInsensitive))
{
- TagLib::FLAC::File fileRef(path.toLocal8Bit ().constData());
+ TagLib::FLAC::File fileRef(QStringToFileName(path));
if(fileRef.xiphComment())
readVorbisComment(fileRef.xiphComment());
}
else if(path.endsWith(".oga", Qt::CaseInsensitive))
{
- TagLib::Ogg::FLAC::File fileRef(path.toLocal8Bit ().constData());
+ TagLib::Ogg::FLAC::File fileRef(QStringToFileName(path));
if(fileRef.tag())
readVorbisComment(fileRef.tag());
}
diff --git a/src/plugins/Input/mad/decodermadfactory.cpp b/src/plugins/Input/mad/decodermadfactory.cpp
index 095232f94..da570f0f9 100644
--- a/src/plugins/Input/mad/decodermadfactory.cpp
+++ b/src/plugins/Input/mad/decodermadfactory.cpp
@@ -39,12 +39,6 @@
#include "decoder_mad.h"
#include "decodermadfactory.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
-
// DecoderMADFactory
DecoderMADFactory::DecoderMADFactory()
@@ -137,7 +131,7 @@ QList<FileInfo *> DecoderMADFactory::createPlayList(const QString &fileName, boo
TagLib::FileStream stream(QStringToFileName(fileName), true);
TagLib::MPEG::File fileRef(&stream, TagLib::ID3v2::FrameFactory::instance());
#else
- TagLib::MPEG::File fileRef(fileName.toLocal8Bit ().constData());
+ TagLib::MPEG::File fileRef(QStringToFileName(fileName));
#endif
if (useMetaData)
diff --git a/src/plugins/Input/mad/mpegmetadatamodel.cpp b/src/plugins/Input/mad/mpegmetadatamodel.cpp
index 8979b489e..acfea5b36 100644
--- a/src/plugins/Input/mad/mpegmetadatamodel.cpp
+++ b/src/plugins/Input/mad/mpegmetadatamodel.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 *
@@ -37,7 +37,7 @@
MPEGMetaDataModel::MPEGMetaDataModel(bool using_rusxmms, const QString &path, QObject *parent) : MetaDataModel(parent)
{
- m_file = new TagLib::MPEG::File(path.toLocal8Bit().constData());
+ m_file = new TagLib::MPEG::File(QStringToFileName(path));
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);
diff --git a/src/plugins/Input/mad/replaygainreader.cpp b/src/plugins/Input/mad/replaygainreader.cpp
index 16f202acc..b8fac3ed4 100644
--- a/src/plugins/Input/mad/replaygainreader.cpp
+++ b/src/plugins/Input/mad/replaygainreader.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2014 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 *
@@ -29,7 +29,7 @@
ReplayGainReader::ReplayGainReader(const QString &path)
{
- TagLib::MPEG::File fileRef(path.toLocal8Bit().constData());
+ TagLib::MPEG::File fileRef(QStringToFileName(path));
if(fileRef.ID3v2Tag())
readID3v2(fileRef.ID3v2Tag());
if(m_values.isEmpty() && fileRef.APETag())
diff --git a/src/plugins/Input/mpc/decodermpcfactory.cpp b/src/plugins/Input/mpc/decodermpcfactory.cpp
index aba4263ba..f6abab6ff 100644
--- a/src/plugins/Input/mpc/decodermpcfactory.cpp
+++ b/src/plugins/Input/mpc/decodermpcfactory.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 *
@@ -30,18 +30,10 @@
#include "decoder_mpc.h"
#include "decodermpcfactory.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
-
-
// DecoderMPCFactory
bool DecoderMPCFactory::supports(const QString &source) const
{
-
return (source.right(4).toLower() == ".mpc");
}
diff --git a/src/plugins/Input/mpc/mpcmetadatamodel.cpp b/src/plugins/Input/mpc/mpcmetadatamodel.cpp
index 9a07390e6..1f6456bd5 100644
--- a/src/plugins/Input/mpc/mpcmetadatamodel.cpp
+++ b/src/plugins/Input/mpc/mpcmetadatamodel.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 *
@@ -26,7 +26,7 @@
MPCMetaDataModel::MPCMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent)
{
- m_file = new TagLib::MPC::File (path.toLocal8Bit().constData());
+ m_file = new TagLib::MPC::File (QStringToFileName(path));
m_tags << new MPCFileTagModel(m_file, TagLib::MPC::File::ID3v1);
m_tags << new MPCFileTagModel(m_file, TagLib::MPC::File::APE);
}
diff --git a/src/plugins/Input/opus/decoderopusfactory.cpp b/src/plugins/Input/opus/decoderopusfactory.cpp
index 270c98cb6..126fb222b 100644
--- a/src/plugins/Input/opus/decoderopusfactory.cpp
+++ b/src/plugins/Input/opus/decoderopusfactory.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2013-2015 by Ilya Kotov *
+ * Copyright (C) 2013-2016 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -26,13 +26,6 @@
#include "opusmetadatamodel.h"
#include "decoderopusfactory.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
-
-
// DecoderOpusFactory
bool DecoderOpusFactory::supports(const QString &source) const
{
diff --git a/src/plugins/Input/opus/opusmetadatamodel.cpp b/src/plugins/Input/opus/opusmetadatamodel.cpp
index b03e26e5b..3e742d1a8 100644
--- a/src/plugins/Input/opus/opusmetadatamodel.cpp
+++ b/src/plugins/Input/opus/opusmetadatamodel.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2013-2015 by Ilya Kotov *
+ * Copyright (C) 2013-2016 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -111,7 +111,7 @@ ulong OpusMetaDataModel::readPictureBlockField(QByteArray data, int offset)
VorbisCommentModel::VorbisCommentModel(const QString &path) : TagModel(TagModel::Save)
{
- m_file = new TagLib::Ogg::Opus::File (path.toLocal8Bit().constData());
+ m_file = new TagLib::Ogg::Opus::File (QStringToFileName(path));
m_tag = m_file->tag();
}
diff --git a/src/plugins/Input/opus/replaygainreader.cpp b/src/plugins/Input/opus/replaygainreader.cpp
index fad3afa57..0f508c302 100644
--- a/src/plugins/Input/opus/replaygainreader.cpp
+++ b/src/plugins/Input/opus/replaygainreader.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2013 by Ilya Kotov *
+ * Copyright (C) 2013-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::Opus::File fileRef(path.toLocal8Bit ().constData());
+ TagLib::Ogg::Opus::File fileRef(QStringToFileName(path));
if(fileRef.tag())
readVorbisComment(fileRef.tag());
}
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();
}
diff --git a/src/qmmp/qmmp.h b/src/qmmp/qmmp.h
index 892b43141..df6015052 100644
--- a/src/qmmp/qmmp.h
+++ b/src/qmmp/qmmp.h
@@ -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,6 +29,15 @@
#define QMMP_VERSION_INT (QMMP_VERSION_MAJOR<<16 | QMMP_VERSION_MINOR<<8 | QMMP_VERSION_PATCH)
+/*!
+ * Converts a \b QString to a \b TagLib::FileName
+ */
+#ifdef Q_OS_WIN
+#define QStringToFileName(s) TagLib::FileName(reinterpret_cast<const wchar_t *>(s.utf16()))
+#else
+#define QStringToFileName(s) s.toLocal8Bit().constData()
+#endif
+
/*! @brief The Qmmp class stores global settings and enums.
* @author Ilya Kotov <forkotov02@hotmail.ru>