aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-10-02 21:49:39 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-10-02 21:49:39 +0000
commit29b06c8896a887bbb9849744b653a4e21ec8823d (patch)
treee7c77185f04a045d6f2701698e836a54394ff578 /src/plugins/Input
parentd0ef1343ab2c0fc8fc07138ed031c0079c2d9810 (diff)
downloadqmmp-29b06c8896a887bbb9849744b653a4e21ec8823d.tar.gz
qmmp-29b06c8896a887bbb9849744b653a4e21ec8823d.tar.bz2
qmmp-29b06c8896a887bbb9849744b653a4e21ec8823d.zip
fixed cue playing with '?' in its path
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1279 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input')
-rw-r--r--src/plugins/Input/cue/cueparser.cpp1
-rw-r--r--src/plugins/Input/cue/decoder_cue.cpp3
-rw-r--r--src/plugins/Input/flac/cueparser.cpp1
-rw-r--r--src/plugins/Input/flac/decoder_flac.cpp1
-rw-r--r--src/plugins/Input/wavpack/cueparser.cpp1
-rw-r--r--src/plugins/Input/wavpack/decoder_wavpack.cpp1
6 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/Input/cue/cueparser.cpp b/src/plugins/Input/cue/cueparser.cpp
index 4dec239b0..b6fb8594d 100644
--- a/src/plugins/Input/cue/cueparser.cpp
+++ b/src/plugins/Input/cue/cueparser.cpp
@@ -78,6 +78,7 @@ CUEParser::CUEParser(const QString &fileName)
QString path = fileName;
path.replace("%", QString(QUrl::toPercentEncoding("%"))); //replace special symbols
path.replace("#", QString(QUrl::toPercentEncoding("#")));
+ path.replace("?", QString(QUrl::toPercentEncoding("?")));
FileInfo info("cue://" + path + QString("#%1").arg(words[1].toInt()));
info.setMetaData(Qmmp::TRACK, words[1].toInt());
m_infoList << info;
diff --git a/src/plugins/Input/cue/decoder_cue.cpp b/src/plugins/Input/cue/decoder_cue.cpp
index 03aaeb159..2f7b879dc 100644
--- a/src/plugins/Input/cue/decoder_cue.cpp
+++ b/src/plugins/Input/cue/decoder_cue.cpp
@@ -63,7 +63,8 @@ bool DecoderCUE::initialize()
{
QString p = QUrl(m_path).path();
p.replace(QString(QUrl::toPercentEncoding("#")), "#");
- p.replace(QString(QUrl::toPercentEncoding("%")), "%");
+ p.replace(QString(QUrl::toPercentEncoding("?")), "?");
+ p.replace(QString(QUrl::toPercentEncoding("%")), "%");
m_parser = new CUEParser(p);
if (m_parser->count() == 0)
{
diff --git a/src/plugins/Input/flac/cueparser.cpp b/src/plugins/Input/flac/cueparser.cpp
index 196813145..20bf94ec7 100644
--- a/src/plugins/Input/flac/cueparser.cpp
+++ b/src/plugins/Input/flac/cueparser.cpp
@@ -63,6 +63,7 @@ CUEParser::CUEParser(const QByteArray &array, const QString &fileName)
QString path = fileName;
path.replace("%", QString(QUrl::toPercentEncoding("%"))); //replace special symbols
path.replace("#", QString(QUrl::toPercentEncoding("#")));
+ path.replace("?", QString(QUrl::toPercentEncoding("?")));
FileInfo info("flac://" + path + QString("#%1").arg(words[1].toInt()));
info.setMetaData(Qmmp::TRACK, words[1].toInt());
m_infoList << info;
diff --git a/src/plugins/Input/flac/decoder_flac.cpp b/src/plugins/Input/flac/decoder_flac.cpp
index 0e0bbf8b8..51ee170f7 100644
--- a/src/plugins/Input/flac/decoder_flac.cpp
+++ b/src/plugins/Input/flac/decoder_flac.cpp
@@ -303,6 +303,7 @@ bool DecoderFLAC::initialize()
return FALSE;
}
p.replace(QString(QUrl::toPercentEncoding("#")), "#");
+ p.replace(QString(QUrl::toPercentEncoding("?")), "?");
p.replace(QString(QUrl::toPercentEncoding("%")), "%");
TagLib::FLAC::File fileRef(p.toLocal8Bit ());
//looking for cuesheet comment
diff --git a/src/plugins/Input/wavpack/cueparser.cpp b/src/plugins/Input/wavpack/cueparser.cpp
index 6aaf7025d..41190be4b 100644
--- a/src/plugins/Input/wavpack/cueparser.cpp
+++ b/src/plugins/Input/wavpack/cueparser.cpp
@@ -63,6 +63,7 @@ CUEParser::CUEParser(const QByteArray &array, const QString &fileName)
QString path = fileName;
path.replace("%", QString(QUrl::toPercentEncoding("%"))); //replace special symbols
path.replace("#", QString(QUrl::toPercentEncoding("#")));
+ path.replace("?", QString(QUrl::toPercentEncoding("?")));
FileInfo info("wvpack://" + path + QString("#%1").arg(words[1].toInt()));
info.setMetaData(Qmmp::TRACK, words[1].toInt());
m_infoList << info;
diff --git a/src/plugins/Input/wavpack/decoder_wavpack.cpp b/src/plugins/Input/wavpack/decoder_wavpack.cpp
index ec3ca0ca2..9c99c7992 100644
--- a/src/plugins/Input/wavpack/decoder_wavpack.cpp
+++ b/src/plugins/Input/wavpack/decoder_wavpack.cpp
@@ -71,6 +71,7 @@ bool DecoderWavPack::initialize()
{
QString p = QUrl(m_path).path();
p.replace(QString(QUrl::toPercentEncoding("#")), "#");
+ p.replace(QString(QUrl::toPercentEncoding("?")), "?");
p.replace(QString(QUrl::toPercentEncoding("%")), "%");
m_context = WavpackOpenFileInput (p.toLocal8Bit(), err, OPEN_WVC | OPEN_TAGS, 0);
int cue_len = WavpackGetTagItem (m_context, "cuesheet", NULL, 0);