aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/flac
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-01-28 21:10:00 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-01-28 21:10:00 +0000
commit47f1be7e4f2878f9b248401f60ac6160ac734e41 (patch)
treeb252c95d16d52edea6c909d1e852773ae75e2b7e /src/plugins/Input/flac
parentbb38383b4d6b0f88fa77fb919d6adbf7a75f5234 (diff)
downloadqmmp-47f1be7e4f2878f9b248401f60ac6160ac734e41.tar.gz
qmmp-47f1be7e4f2878f9b248401f60ac6160ac734e41.tar.bz2
qmmp-47f1be7e4f2878f9b248401f60ac6160ac734e41.zip
flac/wavpack plugin: fixed windows support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2571 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/flac')
-rw-r--r--src/plugins/Input/flac/cueparser.cpp7
-rw-r--r--src/plugins/Input/flac/decoder_flac.cpp14
-rw-r--r--src/plugins/Input/flac/decoderflacfactory.cpp10
-rw-r--r--src/plugins/Input/flac/flacmetadatamodel.cpp8
4 files changed, 11 insertions, 28 deletions
diff --git a/src/plugins/Input/flac/cueparser.cpp b/src/plugins/Input/flac/cueparser.cpp
index 3402dc114..c014c49ee 100644
--- a/src/plugins/Input/flac/cueparser.cpp
+++ b/src/plugins/Input/flac/cueparser.cpp
@@ -59,12 +59,7 @@ CUEParser::CUEParser(const QByteArray &array, const QString &fileName)
}
else if (words[0] == "TRACK")
{
- QString path = fileName;
- path.replace("%", QString(QUrl::toPercentEncoding("%"))); //replace special symbols
- path.replace("#", QString(QUrl::toPercentEncoding("#")));
- path.replace("?", QString(QUrl::toPercentEncoding("?")));
- path.replace(":", QString(QUrl::toPercentEncoding(":")));
- FileInfo info("flac://" + path + QString("#%1").arg(words[1].toInt()));
+ FileInfo info("flac://" + fileName + QString("#%1").arg(words[1].toInt()));
info.setMetaData(Qmmp::TRACK, words[1].toInt());
info.setMetaData(Qmmp::ALBUM, album);
info.setMetaData(Qmmp::GENRE, genre);
diff --git a/src/plugins/Input/flac/decoder_flac.cpp b/src/plugins/Input/flac/decoder_flac.cpp
index 3258ee701..a8a1c3c1f 100644
--- a/src/plugins/Input/flac/decoder_flac.cpp
+++ b/src/plugins/Input/flac/decoder_flac.cpp
@@ -270,19 +270,11 @@ bool DecoderFLAC::initialize()
{
if (!data()->input)
{
- QString p = m_path;
if (m_path.startsWith("flac://")) //embeded cue track
{
- p = QUrl(m_path).path();
- if (!p.endsWith(".flac"))
- {
- qWarning("DecoderFLAC: invalid url.");
- return false;
- }
- p.replace(QString(QUrl::toPercentEncoding("#")), "#");
- p.replace(QString(QUrl::toPercentEncoding("?")), "?");
- p.replace(QString(QUrl::toPercentEncoding("%")), "%");
- p.replace(QString(QUrl::toPercentEncoding(":")), ":");
+ QString p = m_path;
+ p.remove("flac://");
+ p.remove(QRegExp("#\\d+$"));
TagLib::FLAC::File fileRef(p.toLocal8Bit().constData());
//looking for cuesheet comment
TagLib::Ogg::XiphComment *xiph_comment = fileRef.xiphComment();
diff --git a/src/plugins/Input/flac/decoderflacfactory.cpp b/src/plugins/Input/flac/decoderflacfactory.cpp
index af787efe1..fc9779d82 100644
--- a/src/plugins/Input/flac/decoderflacfactory.cpp
+++ b/src/plugins/Input/flac/decoderflacfactory.cpp
@@ -79,14 +79,12 @@ QList<FileInfo *> DecoderFLACFactory::createPlayList(const QString &fileName, bo
TagLib::FLAC::File *flacFile = 0;
TagLib::Ogg::FLAC::File *oggFlacFile = 0;
- //extract metadata of one cue track
+ //extract metadata of the one cue track
if(fileName.contains("://"))
{
- QString path = QUrl(fileName).path();
- path.replace(QString(QUrl::toPercentEncoding("#")), "#");
- path.replace(QString(QUrl::toPercentEncoding("?")), "?");
- path.replace(QString(QUrl::toPercentEncoding("%")), "%");
- path.replace(QString(QUrl::toPercentEncoding(":")), ":");
+ QString path = fileName;
+ path.remove("flac://");
+ path.remove(QRegExp("#\\d+$"));
int track = fileName.section("#", -1).toInt();
list = createPlayList(path, true);
if (list.isEmpty() || track <= 0 || track > list.count())
diff --git a/src/plugins/Input/flac/flacmetadatamodel.cpp b/src/plugins/Input/flac/flacmetadatamodel.cpp
index fffc703db..1dbb4a33f 100644
--- a/src/plugins/Input/flac/flacmetadatamodel.cpp
+++ b/src/plugins/Input/flac/flacmetadatamodel.cpp
@@ -33,11 +33,9 @@ FLACMetaDataModel::FLACMetaDataModel(const QString &path, QObject *parent) : Met
{
if(path.startsWith("flac://"))
{
- QString p = QUrl(path).path();
- p.replace(QString(QUrl::toPercentEncoding("#")), "#");
- p.replace(QString(QUrl::toPercentEncoding("?")), "?");
- p.replace(QString(QUrl::toPercentEncoding("%")), "%");
- p.replace(QString(QUrl::toPercentEncoding(":")), ":");
+ QString p = path;
+ p.remove("flac://");
+ p.remove(QRegExp("#\\d+$"));
m_path = p;
}
else