From f904c854aba7f97bd45b50beb75179fb54c326af Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 30 Apr 2009 15:15:29 +0000 Subject: fixed playing cue files with symbol '#' in the path git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@921 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/flac/cueparser.cpp | 5 ++++- src/plugins/Input/flac/decoder_flac.cpp | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src/plugins/Input/flac') diff --git a/src/plugins/Input/flac/cueparser.cpp b/src/plugins/Input/flac/cueparser.cpp index 173b31e54..bedaadd52 100644 --- a/src/plugins/Input/flac/cueparser.cpp +++ b/src/plugins/Input/flac/cueparser.cpp @@ -59,7 +59,10 @@ CUEParser::CUEParser(const QByteArray &array, const QString &fileName) } else if (words[0] == "TRACK") { - FileInfo info("flac://" + fileName + QString("#%1").arg(words[1].toInt())); + QString path = fileName; + path.replace("%", QString(QUrl::toPercentEncoding("%"))); //replace special symbols + 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; m_offsets << 0; diff --git a/src/plugins/Input/flac/decoder_flac.cpp b/src/plugins/Input/flac/decoder_flac.cpp index d80916d69..372635511 100644 --- a/src/plugins/Input/flac/decoder_flac.cpp +++ b/src/plugins/Input/flac/decoder_flac.cpp @@ -372,6 +372,8 @@ bool DecoderFLAC::initialize() qWarning("DecoderFLAC: invalid url."); return FALSE; } + p.replace(QString(QUrl::toPercentEncoding("#")), "#"); + p.replace(QString(QUrl::toPercentEncoding("%")), "%"); TagLib::FLAC::File fileRef(p.toLocal8Bit ()); //looking for cuesheet comment TagLib::Ogg::XiphComment *xiph_comment = fileRef.xiphComment(); -- cgit v1.2.3-13-gbd6f