diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-01-17 17:52:35 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-01-17 17:52:35 +0000 |
| commit | f91f63b99f25d8a01dc1d211e31cc4f39c0476bf (patch) | |
| tree | 9a72048abb609290caa56f61c3ae8a4983c1d230 /src/plugins/Input/cue | |
| parent | a5c350a7cd30d835deb6f7f2ef3b913b473725a2 (diff) | |
| download | qmmp-f91f63b99f25d8a01dc1d211e31cc4f39c0476bf.tar.gz qmmp-f91f63b99f25d8a01dc1d211e31cc4f39c0476bf.tar.bz2 qmmp-f91f63b99f25d8a01dc1d211e31cc4f39c0476bf.zip | |
added feature to exclude cue data files
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4693 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/cue')
| -rw-r--r-- | src/plugins/Input/cue/cueparser.cpp | 19 | ||||
| -rw-r--r-- | src/plugins/Input/cue/cueparser.h | 3 | ||||
| -rw-r--r-- | src/plugins/Input/cue/decodercuefactory.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/Input/cue/decodercuefactory.h | 4 |
4 files changed, 27 insertions, 6 deletions
diff --git a/src/plugins/Input/cue/cueparser.cpp b/src/plugins/Input/cue/cueparser.cpp index d326ce8b1..7383e4111 100644 --- a/src/plugins/Input/cue/cueparser.cpp +++ b/src/plugins/Input/cue/cueparser.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2013 by Ilya Kotov * + * Copyright (C) 2008-2015 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -213,6 +213,23 @@ const QString CUEParser::filePath(int track) const return (track <= m_tracks.count()) ? m_tracks[track - 1]->file : QString(); } +const QStringList CUEParser::dataFiles() const +{ + QStringList files; + for(int i = 0; i < m_tracks.count(); ++i) + { + if(i == 0) + { + files << m_tracks[i]->file; + continue; + } + + if(files.last() != m_tracks[i]->file) + files.append(m_tracks[i]->file); + } + return files; +} + qint64 CUEParser::offset(int track) const { return m_tracks.at(track - 1)->offset; diff --git a/src/plugins/Input/cue/cueparser.h b/src/plugins/Input/cue/cueparser.h index 55c04c20a..797f3ae23 100644 --- a/src/plugins/Input/cue/cueparser.h +++ b/src/plugins/Input/cue/cueparser.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2012 by Ilya Kotov * + * Copyright (C) 2008-2015 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -40,6 +40,7 @@ public: QList<FileInfo*> createPlayList(); const QString filePath(int track) const; + const QStringList dataFiles() const; qint64 offset(int track) const; qint64 length(int track) const; int count() const; diff --git a/src/plugins/Input/cue/decodercuefactory.cpp b/src/plugins/Input/cue/decodercuefactory.cpp index 68ccc4fd4..a77190a2b 100644 --- a/src/plugins/Input/cue/decodercuefactory.cpp +++ b/src/plugins/Input/cue/decodercuefactory.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2012 by Ilya Kotov * + * Copyright (C) 2008-2015 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -60,7 +60,7 @@ Decoder *DecoderCUEFactory::create(const QString &path, QIODevice *input) return new DecoderCUE(path); } -QList<FileInfo *> DecoderCUEFactory::createPlayList(const QString &fileName, bool useMetaData) +QList<FileInfo *> DecoderCUEFactory::createPlayList(const QString &fileName, bool useMetaData, QStringList *ignoredPaths) { Q_UNUSED(useMetaData); CUEParser parser(fileName); @@ -76,7 +76,10 @@ QList<FileInfo *> DecoderCUEFactory::createPlayList(const QString &fileName, boo return QList<FileInfo *>() << info; } else + { + ignoredPaths->append(parser.dataFiles()); return parser.createPlayList(); + } } MetaDataModel* DecoderCUEFactory::createMetaDataModel(const QString &path, QObject *parent) diff --git a/src/plugins/Input/cue/decodercuefactory.h b/src/plugins/Input/cue/decodercuefactory.h index e5fadd935..0e146ccf5 100644 --- a/src/plugins/Input/cue/decodercuefactory.h +++ b/src/plugins/Input/cue/decodercuefactory.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2009 by Ilya Kotov * + * Copyright (C) 2008-2015 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -41,7 +41,7 @@ public: bool canDecode(QIODevice *input) const; const DecoderProperties properties() const; Decoder *create(const QString &, QIODevice *); - QList<FileInfo *> createPlayList(const QString &fileName, bool useMetaData); + QList<FileInfo *> createPlayList(const QString &fileName, bool useMetaData, QStringList *ignoredPaths); MetaDataModel* createMetaDataModel(const QString &path, QObject *parent = 0); void showSettings(QWidget *parent); void showAbout(QWidget *parent); |
