diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-02-02 15:24:09 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2011-02-02 15:24:09 +0000 |
| commit | 1bc607cb66a0a643d953ac06953152cf8815826c (patch) | |
| tree | 02e8d67d74cbffe4adb7b33517b46b754a6288db /src/plugins/Input/cue/decodercuefactory.cpp | |
| parent | 83d98a0ef5565a596342eabc21c357fb87eb5695 (diff) | |
| download | qmmp-1bc607cb66a0a643d953ac06953152cf8815826c.tar.gz qmmp-1bc607cb66a0a643d953ac06953152cf8815826c.tar.bz2 qmmp-1bc607cb66a0a643d953ac06953152cf8815826c.zip | |
added possibility to save cue tracks inside playlist files
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2036 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/cue/decodercuefactory.cpp')
| -rw-r--r-- | src/plugins/Input/cue/decodercuefactory.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/plugins/Input/cue/decodercuefactory.cpp b/src/plugins/Input/cue/decodercuefactory.cpp index 6befcca66..1bdeae7bd 100644 --- a/src/plugins/Input/cue/decodercuefactory.cpp +++ b/src/plugins/Input/cue/decodercuefactory.cpp @@ -63,10 +63,20 @@ Decoder *DecoderCUEFactory::create(const QString &path, QIODevice *input) QList<FileInfo *> DecoderCUEFactory::createPlayList(const QString &fileName, bool useMetaData) { Q_UNUSED(useMetaData); - if(!QFile::exists(fileName)) - return QList<FileInfo *>(); CUEParser parser(fileName); - return parser.createPlayList(); + if(fileName.contains("://")) + { + QList<FileInfo *> list; + int track = fileName.section("#", -1).toInt(); + if (!parser.count() || track <= 0 || track > parser.count()) + return list; + list = parser.createPlayList(); + FileInfo *info = list.takeAt(track - 1); + qDeleteAll(list); + return QList<FileInfo *>() << info; + } + else + return parser.createPlayList(); } MetaDataModel* DecoderCUEFactory::createMetaDataModel(const QString &path, QObject *parent) |
