aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/cue/cueparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/cue/cueparser.cpp')
-rw-r--r--src/plugins/Input/cue/cueparser.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/Input/cue/cueparser.cpp b/src/plugins/Input/cue/cueparser.cpp
index 68d3cb9e2..1c4df54e5 100644
--- a/src/plugins/Input/cue/cueparser.cpp
+++ b/src/plugins/Input/cue/cueparser.cpp
@@ -51,8 +51,7 @@ CUEParser::CUEParser(const QString &fileName)
if (words[0] == "FILE")
{
- m_filePath = QUrl(fileName).path ();
- m_filePath = QFileInfo(m_filePath).dir().filePath(words[1]);
+ m_filePath = QFileInfo(fileName).dir().filePath(words[1]);
}
else if (words[0] == "PERFORMER")
{
@@ -74,7 +73,10 @@ CUEParser::CUEParser(const QString &fileName)
}
else if (words[0] == "TRACK")
{
- FileInfo info("cue://" + fileName + QString("#%1").arg(words[1].toInt()));
+ QString path = fileName;
+ 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;
m_offsets << 0;