diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-01-28 21:10:00 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2012-01-28 21:10:00 +0000 |
| commit | 47f1be7e4f2878f9b248401f60ac6160ac734e41 (patch) | |
| tree | b252c95d16d52edea6c909d1e852773ae75e2b7e /src/plugins/Input/flac | |
| parent | bb38383b4d6b0f88fa77fb919d6adbf7a75f5234 (diff) | |
| download | qmmp-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.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/Input/flac/decoder_flac.cpp | 14 | ||||
| -rw-r--r-- | src/plugins/Input/flac/decoderflacfactory.cpp | 10 | ||||
| -rw-r--r-- | src/plugins/Input/flac/flacmetadatamodel.cpp | 8 |
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 |
