diff options
Diffstat (limited to 'src/plugins/Input/cue/cueparser.cpp')
| -rw-r--r-- | src/plugins/Input/cue/cueparser.cpp | 8 |
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; |
