diff --git a/mpd/mpdparseutils.cpp b/mpd/mpdparseutils.cpp index 3fc7f1ced..545c3ccf7 100644 --- a/mpd/mpdparseutils.cpp +++ b/mpd/mpdparseutils.cpp @@ -407,9 +407,24 @@ MusicLibraryItemRoot * MPDParseUtils::parseLibraryItems(const QByteArray &data, QSet cueFiles; // List of source (flac, mp3, etc) files referenced in cue file DBUG << "Got playlist item" << currentSong.file << "prevFile:" << prevSongFile; - if (canSplitCue && currentSong.file.endsWith(".cue", Qt::CaseInsensitive) && CueFile::parse(currentSong.file, mpdDir, cueSongs, cueFiles) && + if (canSplitCue && currentSong.file.endsWith(".cue", Qt::CaseInsensitive) && !mpdDir.startsWith("http://") && + CueFile::parse(currentSong.file, mpdDir, cueSongs, cueFiles) && (cueFiles.count()data()==unknown && albumItem->parentItem()->data()==unknown))) { DBUG << "Parsed file, songs:" << cueSongs.count() << "files:" << cueFiles; + + bool canUseThisCueFile=true; + foreach (const Song &s, cueSongs) { + if (!QFile::exists(mpdDir+s.name)) { + DBUG << QString(mpdDir+s.name) << "is referenced in cue file, but does not exist in MPD folder"; + canUseThisCueFile=false; + break; + } + } + + if (!canUseThisCueFile) { + continue; + } + bool canUseCueFileTracks=false; QList fixedCueSongs; // Songs taken from cueSongs that have been updated...