diff options
Diffstat (limited to 'src/plugins')
| -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 { |
