aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp2
-rw-r--r--src/plugins/Input/flac/decoderflacfactory.cpp2
-rw-r--r--src/plugins/Input/wavpack/decoderwavpackfactory.cpp2
-rw-r--r--src/qmmp/cueparser.cpp22
-rw-r--r--src/qmmp/cueparser.h3
5 files changed, 16 insertions, 15 deletions
diff --git a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
index 040819ba9..d146e9c9d 100644
--- a/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
+++ b/src/plugins/Input/ffmpeg/decoderffmpegfactory.cpp
@@ -253,7 +253,7 @@ QList<TrackInfo *> DecoderFFmpegFactory::createPlayList(const QString &path, Tra
avformat_close_input(&in);
delete info;
- return (trackNumber > 0) ? parser.createPlayList(trackNumber) : parser.createPlayList();
+ return parser.createPlayList(trackNumber);
}
AVDictionaryEntry *album = av_dict_get(in->metadata,"album",nullptr,0);
diff --git a/src/plugins/Input/flac/decoderflacfactory.cpp b/src/plugins/Input/flac/decoderflacfactory.cpp
index 2967c8f3a..8ab8cf0ce 100644
--- a/src/plugins/Input/flac/decoderflacfactory.cpp
+++ b/src/plugins/Input/flac/decoderflacfactory.cpp
@@ -167,7 +167,7 @@ QList<TrackInfo*> DecoderFLACFactory::createPlayList(const QString &path, TrackI
delete oggFlacFile;
delete info;
- return (track > 0) ? parser.createPlayList(track) : parser.createPlayList();
+ return parser.createPlayList(track);
}
info->setValue(Qmmp::ALBUM, TStringToQString(tag->album()));
diff --git a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp
index ab185bcda..23cae57f6 100644
--- a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp
+++ b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp
@@ -129,7 +129,7 @@ QList<TrackInfo *> DecoderWavPackFactory::createPlayList(const QString &path, Tr
WavpackCloseFile(ctx);
delete info;
- return (track > 0) ? parser.createPlayList(track) : parser.createPlayList();
+ return parser.createPlayList(track);
}
else
{
diff --git a/src/qmmp/cueparser.cpp b/src/qmmp/cueparser.cpp
index 770376268..fb4ae4a15 100644
--- a/src/qmmp/cueparser.cpp
+++ b/src/qmmp/cueparser.cpp
@@ -123,23 +123,25 @@ void CueParser::loadData(const QByteArray &data, QTextCodec *codec)
qWarning("CueParser: invalid cue data");
}
-QList<TrackInfo *> CueParser::createPlayList() const
-{
- QList<TrackInfo *> out;
- for(const CUETrack *track : m_tracks)
- out << new TrackInfo(track->info);
- return out;
-}
-
QList<TrackInfo *> CueParser::createPlayList(int track) const
{
QList<TrackInfo *> out;
- if(track < 1 || track > m_tracks.count())
+
+ if(track <= 0)
+ {
+ for(const CUETrack *track : m_tracks)
+ out << new TrackInfo(track->info);
+ }
+ else if(track > m_tracks.count())
{
qWarning("CueParser: invalid track number: %d", track);
return out;
}
- out << new TrackInfo(m_tracks.at(track - 1)->info);
+ else
+ {
+ out << new TrackInfo(m_tracks.at(track - 1)->info);
+ }
+
return out;
}
diff --git a/src/qmmp/cueparser.h b/src/qmmp/cueparser.h
index ee0583022..467430630 100644
--- a/src/qmmp/cueparser.h
+++ b/src/qmmp/cueparser.h
@@ -36,8 +36,7 @@ public:
~CueParser();
void loadData(const QByteArray &data, const QByteArray &codecName = QByteArray());
void loadData(const QByteArray &data, QTextCodec *codec);
- QList<TrackInfo *> createPlayList() const;
- QList<TrackInfo *> createPlayList(int track) const;
+ QList<TrackInfo *> createPlayList(int track = -1) const;
const QStringList &files() const;
qint64 offset(int track) const;
qint64 duration(int track) const;