diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-04-27 16:50:58 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-04-27 16:50:58 +0000 |
| commit | 1a72354c0765d2ac473ce052ca507963ce0b007c (patch) | |
| tree | f98baf14b8b7ab02b078d0721a8861e7a1e925e4 /src/plugins/Input/cue | |
| parent | 6131c57fbb181c31cfd4dff25034dec7f70f340f (diff) | |
| download | qmmp-1a72354c0765d2ac473ce052ca507963ce0b007c.tar.gz qmmp-1a72354c0765d2ac473ce052ca507963ce0b007c.tar.bz2 qmmp-1a72354c0765d2ac473ce052ca507963ce0b007c.zip | |
ignore invalid cue files
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8797 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/cue')
| -rw-r--r-- | src/plugins/Input/cue/cuefile.cpp | 22 | ||||
| -rw-r--r-- | src/plugins/Input/cue/decodercuefactory.cpp | 8 |
2 files changed, 12 insertions, 18 deletions
diff --git a/src/plugins/Input/cue/cuefile.cpp b/src/plugins/Input/cue/cuefile.cpp index 69a4622b9..897578860 100644 --- a/src/plugins/Input/cue/cuefile.cpp +++ b/src/plugins/Input/cue/cuefile.cpp @@ -79,7 +79,7 @@ CueFile::CueFile(const QString &path) : CueParser() codec = QTextCodec::codecForName("UTF-8"); settings.endGroup(); //qDebug("CUEParser: using %s encoding", codec->name().constData()); - loadData(data, codec->name()); + loadData(data, codec); setUrl("cue", path); for(const QString &dataFileName : files()) { @@ -94,6 +94,16 @@ CueFile::CueFile(const QString &path) : CueParser() pl.clear(); } } + + for(const QString &path : m_dataFiles.values()) + { + if(!QFile::exists(path)) + { + qDebug("CueFile: unable to find file: %s", qPrintable(path)); + clear(); + return; + } + } } CueFile::~CueFile() @@ -144,16 +154,6 @@ QStringList CueFile::splitLine(const QString &line) return list; } -/*qint64 CueFile::getLength(const QString &str) -{ - QStringList list = str.split(":"); - if (list.size() == 2) - return (qint64)list.at(0).toInt()*60000 + list.at(1).toInt()*1000; - else if (list.size() == 3) - return (qint64)list.at(0).toInt()*60000 + list.at(1).toInt()*1000 + list.at(2).toInt()*1000/75; - return 0; -}*/ - QString CueFile::getDirtyPath(const QString &cue_path, const QString &path) { if((QFile::exists(path) && Decoder::findByFilePath(path)) || !m_dirty) diff --git a/src/plugins/Input/cue/decodercuefactory.cpp b/src/plugins/Input/cue/decodercuefactory.cpp index 43bbb7354..386d3e94d 100644 --- a/src/plugins/Input/cue/decodercuefactory.cpp +++ b/src/plugins/Input/cue/decodercuefactory.cpp @@ -58,14 +58,8 @@ QList<TrackInfo *> DecoderCUEFactory::createPlayList(const QString &path, TrackI CueFile parser(path); if(path.contains("://")) { - QList<TrackInfo *> list; int track = path.section("#", -1).toInt(); - if (!parser.count() || track <= 0 || track > parser.count()) - return list; - list = parser.createPlayList(); - TrackInfo *info = list.takeAt(track - 1); - qDeleteAll(list); - return QList<TrackInfo *>() << info; + return parser.createPlayList(track); } else { |
