aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/PlayListFormats
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/PlayListFormats')
-rw-r--r--src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp21
-rw-r--r--src/plugins/PlayListFormats/pls/plsplaylistformat.cpp38
2 files changed, 32 insertions, 27 deletions
diff --git a/src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp b/src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp
index 95e2bae91..29eb042e0 100644
--- a/src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp
+++ b/src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp
@@ -20,6 +20,7 @@
#include <QFileInfo>
#include <QtPlugin>
+#include <QRegularExpression>
#include <qmmpui/metadataformatter.h>
#include "m3uplaylistformat.h"
@@ -39,8 +40,8 @@ QList<PlayListTrack *> M3UPlaylistFormat::decode(const QByteArray &contents)
if(splitted.isEmpty())
return out;
- QRegExp extInfRegExp("#EXTINF:(-{0,1}\\d+),(.*) - (.*)");
- QRegExp extInfRegExp2("#EXTINF:(-{0,1}\\d+),(.*)");
+ QRegularExpression extInfRegExp("#EXTINF:(-{0,1}\\d+),(.*) - (.*)");
+ QRegularExpression extInfRegExp2("#EXTINF:(-{0,1}\\d+),(.*)");
int length = 0;
QString artist, title;
bool hasExtInf = false;
@@ -51,17 +52,19 @@ QList<PlayListTrack *> M3UPlaylistFormat::decode(const QByteArray &contents)
if(str.startsWith("#EXTM3U") || str.isEmpty())
continue;
- if(extInfRegExp.indexIn(str) > -1)
+ QRegularExpressionMatch match;
+
+ if((match = extInfRegExp.match(str)).hasMatch())
{
- length = extInfRegExp.cap(1).toInt();
- artist = extInfRegExp.cap(2);
- title = extInfRegExp.cap(3);
+ length = match.captured(1).toInt();
+ artist = match.captured(2);
+ title = match.captured(3);
hasExtInf = true;
}
- else if(extInfRegExp2.indexIn(str) > -1)
+ else if((match = extInfRegExp2.match(str)).hasMatch())
{
- length = extInfRegExp.cap(1).toInt();
- title = extInfRegExp.cap(2);
+ length = match.captured(1).toInt();
+ title = match.captured(2);
hasExtInf = true;
}
diff --git a/src/plugins/PlayListFormats/pls/plsplaylistformat.cpp b/src/plugins/PlayListFormats/pls/plsplaylistformat.cpp
index 989173aaa..532acb2f1 100644
--- a/src/plugins/PlayListFormats/pls/plsplaylistformat.cpp
+++ b/src/plugins/PlayListFormats/pls/plsplaylistformat.cpp
@@ -19,7 +19,7 @@
***************************************************************************/
#include <QtPlugin>
-#include <QRegExp>
+#include <QRegularExpression>
#include <qmmpui/metadataformatter.h>
#include "plsplaylistformat.h"
@@ -49,57 +49,59 @@ QList<PlayListTrack *> PLSPlaylistFormat::decode(const QByteArray &contents)
return out;
}
- QRegExp fileRegExp("^File(\\d+)=(.+)");
- QRegExp fullTitleRegExp("^Title(\\d+)=(.+) - (.+)");
- QRegExp titleRegExp("^Title(\\d+)=(.+)");
- QRegExp lengthRegExp("^Length(\\d+)=(-{0,1}\\d+)");
+ const QRegularExpression fileRegExp("^File(\\d+)=(.+)");
+ const QRegularExpression fullTitleRegExp("^Title(\\d+)=(.+) - (.+)");
+ const QRegularExpression titleRegExp("^Title(\\d+)=(.+)");
+ const QRegularExpression lengthRegExp("^Length(\\d+)=(-{0,1}\\d+)");
int number = 0;
bool error = false;
for(const QString &line : qAsConst(splitted))
{
- if(fileRegExp.indexIn(line) > -1)
+ QRegularExpressionMatch match;
+
+ if((match = fileRegExp.match(line)).hasMatch())
{
- if((number = fileRegExp.cap(1).toInt()) > 0)
+ if((number = match.captured(1).toInt()) > 0)
{
while(number > out.count())
out << new PlayListTrack();
- out[number - 1]->setPath(fileRegExp.cap(2));
+ out[number - 1]->setPath(match.captured(2));
}
else
error = true;
}
- else if(fullTitleRegExp.indexIn(line) > -1)
+ else if((match = fullTitleRegExp.match(line)).hasMatch())
{
- if((number = fullTitleRegExp.cap(1).toInt()) > 0)
+ if((number = match.captured(1).toInt()) > 0)
{
while(number > out.count())
out << new PlayListTrack();
- out[number - 1]->setValue(Qmmp::ARTIST, fullTitleRegExp.cap(2));
- out[number - 1]->setValue(Qmmp::TITLE, fullTitleRegExp.cap(3));
+ out[number - 1]->setValue(Qmmp::ARTIST, match.captured(2));
+ out[number - 1]->setValue(Qmmp::TITLE, match.captured(3));
}
else
error = true;
}
- else if(titleRegExp.indexIn(line) > -1)
+ else if((match = titleRegExp.match(line)).hasMatch())
{
- if((number = titleRegExp.cap(1).toInt()) > 0)
+ if((number = match.captured(1).toInt()) > 0)
{
while(number > out.count())
out << new PlayListTrack();
- out[number - 1]->setValue(Qmmp::TITLE, titleRegExp.cap(2));
+ out[number - 1]->setValue(Qmmp::TITLE, match.captured(2));
}
else
error = true;
}
- else if(lengthRegExp.indexIn(line) > -1)
+ else if((match = lengthRegExp.match(line)).hasMatch())
{
- if((number = lengthRegExp.cap(1).toInt()) > 0)
+ if((number = match.captured(1).toInt()) > 0)
{
while(number > out.count())
out << new PlayListTrack();
- out[number - 1]->setDuration(lengthRegExp.cap(2).toInt() * 1000);
+ out[number - 1]->setDuration(match.captured(2).toInt() * 1000);
}
else
error = true;