aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/PlayListFormats
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-04-30 18:29:11 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-04-30 18:29:11 +0000
commitaa167f22dbbeb4c2b680bc860dbc409d5a447864 (patch)
treefd5a0ac440a784de26546e23acf798b042bec75b /src/plugins/PlayListFormats
parent4fa75cf5e6e7f0abe43d68342d1f7ff993c0c3f6 (diff)
downloadqmmp-aa167f22dbbeb4c2b680bc860dbc409d5a447864.tar.gz
qmmp-aa167f22dbbeb4c2b680bc860dbc409d5a447864.tar.bz2
qmmp-aa167f22dbbeb4c2b680bc860dbc409d5a447864.zip
changed playlist API, fixed some issues
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7940 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/PlayListFormats')
-rw-r--r--src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp16
-rw-r--r--src/plugins/PlayListFormats/pls/plsplaylistformat.cpp14
-rw-r--r--src/plugins/PlayListFormats/xspf/xspfplaylistformat.cpp24
3 files changed, 27 insertions, 27 deletions
diff --git a/src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp b/src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp
index feb31fa19..dca7bac33 100644
--- a/src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp
+++ b/src/plugins/PlayListFormats/m3u/m3uplaylistformat.cpp
@@ -62,13 +62,13 @@ QList<PlayListTrack *> M3UPlaylistFormat::decode(const QByteArray &contents)
continue;
out << new PlayListTrack();
- out.last()->insert(Qmmp::URL, str);
+ out.last()->setPath(str);
if(hasExtInf)
{
- out.last()->setLength(length);
- out.last()->insert(Qmmp::ARTIST, artist);
- out.last()->insert(Qmmp::TITLE, title);
+ out.last()->setDuration(length * 1000);
+ out.last()->setValue(Qmmp::ARTIST, artist);
+ out.last()->setValue(Qmmp::TITLE, title);
hasExtInf = false;
}
}
@@ -84,19 +84,19 @@ QByteArray M3UPlaylistFormat::encode(const QList<PlayListTrack*> &contents, cons
foreach(PlayListTrack* f, contents)
{
- QString info = "#EXTINF:" + QString::number(f->length()) + "," + formatter.format(f);
+ QString info = "#EXTINF:" + QString::number(f->duration() / 1000) + "," + formatter.format(f);
out.append(info);
- if(!f->url().contains("://") && f->url().startsWith(m3uDir))
+ if(!f->path().contains("://") && f->path().startsWith(m3uDir))
{
- QString p = f->url();
+ QString p = f->path();
p.remove(0, m3uDir.size());
if(p.startsWith("/"))
p.remove(0, 1);
out.append(p);
}
else
- out.append(f->url());
+ out.append(f->path());
}
return out.join("\n").toUtf8();
}
diff --git a/src/plugins/PlayListFormats/pls/plsplaylistformat.cpp b/src/plugins/PlayListFormats/pls/plsplaylistformat.cpp
index 1e96077dc..47ba32822 100644
--- a/src/plugins/PlayListFormats/pls/plsplaylistformat.cpp
+++ b/src/plugins/PlayListFormats/pls/plsplaylistformat.cpp
@@ -65,7 +65,7 @@ QList<PlayListTrack *> PLSPlaylistFormat::decode(const QByteArray &contents)
{
while(number > out.count())
out << new PlayListTrack();
- out[number - 1]->insert(Qmmp::URL, fileRegExp.cap(2));
+ out[number - 1]->setPath(fileRegExp.cap(2));
}
else
error = true;
@@ -76,8 +76,8 @@ QList<PlayListTrack *> PLSPlaylistFormat::decode(const QByteArray &contents)
{
while(number > out.count())
out << new PlayListTrack();
- out[number - 1]->insert(Qmmp::ARTIST, fullTitleRegExp.cap(2));
- out[number - 1]->insert(Qmmp::TITLE, fullTitleRegExp.cap(3));
+ out[number - 1]->setValue(Qmmp::ARTIST, fullTitleRegExp.cap(2));
+ out[number - 1]->setValue(Qmmp::TITLE, fullTitleRegExp.cap(3));
}
else
error = true;
@@ -88,7 +88,7 @@ QList<PlayListTrack *> PLSPlaylistFormat::decode(const QByteArray &contents)
{
while(number > out.count())
out << new PlayListTrack();
- out[number - 1]->insert(Qmmp::TITLE, titleRegExp.cap(2));
+ out[number - 1]->setValue(Qmmp::TITLE, titleRegExp.cap(2));
}
else
error = true;
@@ -99,7 +99,7 @@ QList<PlayListTrack *> PLSPlaylistFormat::decode(const QByteArray &contents)
{
while(number > out.count())
out << new PlayListTrack();
- out[number - 1]->setLength(lengthRegExp.cap(2).toInt());
+ out[number - 1]->setDuration(lengthRegExp.cap(2).toInt() * 1000);
}
else
error = true;
@@ -127,11 +127,11 @@ QByteArray PLSPlaylistFormat::encode(const QList<PlayListTrack *> &contents, con
foreach(PlayListTrack *f, contents)
{
QString begin = "File" + QString::number(counter) + "=";
- out.append(begin + f->url());
+ out.append(begin + f->path());
begin = "Title" + QString::number(counter) + "=";
out.append(begin + formatter.format(f));
begin = "Length" + QString::number(counter) + "=";
- out.append(begin + QString::number(f->length()));
+ out.append(begin + QString::number(f->duration() / 1000));
counter++;
}
out << "NumberOfEntries=" + QString::number(contents.count());
diff --git a/src/plugins/PlayListFormats/xspf/xspfplaylistformat.cpp b/src/plugins/PlayListFormats/xspf/xspfplaylistformat.cpp
index f20c83903..7a66bc7bb 100644
--- a/src/plugins/PlayListFormats/xspf/xspfplaylistformat.cpp
+++ b/src/plugins/PlayListFormats/xspf/xspfplaylistformat.cpp
@@ -72,29 +72,29 @@ QList<PlayListTrack*> XSPFPlaylistFormat::decode(const QByteArray &contents)
{
QUrl url(xml.text().toString());
if (url.scheme() == "file") //remove scheme for local files only
- out.last()->insert(Qmmp::URL, QUrl::fromPercentEncoding(url.toString().toLatin1()).remove("file://"));
+ out.last()->setPath(QUrl::fromPercentEncoding(url.toString().toLatin1()).remove("file://"));
else
- out.last()->insert(Qmmp::URL, QUrl::fromPercentEncoding(url.toString().toLatin1()));
+ out.last()->setPath(QUrl::fromPercentEncoding(url.toString().toLatin1()));
}
else if(currentTag == "title")
{
- out.last()->insert(Qmmp::TITLE, xml.text().toString());
+ out.last()->setValue(Qmmp::TITLE, xml.text().toString());
}
else if(currentTag == "creator")
{
- out.last()->insert(Qmmp::ARTIST, xml.text().toString());
+ out.last()->setValue(Qmmp::ARTIST, xml.text().toString());
}
else if(currentTag == "annotation")
{
- out.last()->insert(Qmmp::COMMENT, xml.text().toString());
+ out.last()->setValue(Qmmp::COMMENT, xml.text().toString());
}
else if(currentTag == "album")
{
- out.last()->insert(Qmmp::ALBUM, xml.text().toString());
+ out.last()->setValue(Qmmp::ALBUM, xml.text().toString());
}
else if(currentTag == "meta" && xml.attributes().value("rel") == "year")
{
- out.last()->insert(Qmmp::YEAR, xml.text().toString());
+ out.last()->setValue(Qmmp::YEAR, xml.text().toString());
}
else
xml.skipCurrentElement();
@@ -131,13 +131,13 @@ QByteArray XSPFPlaylistFormat::encode(const QList<PlayListTrack*> &files, const
xml.writeStartElement("track");
QString url;
- if (f->url().contains("://"))
+ if (f->path().contains("://"))
{
- url = QUrl::toPercentEncoding(f->url(), ":/");
+ url = QUrl::toPercentEncoding(f->path(), ":/");
}
- else if(f->url().startsWith(xspfDir)) //relative path
+ else if(f->path().startsWith(xspfDir)) //relative path
{
- QString p = f->url();
+ QString p = f->path();
p.remove(0, xspfDir.size());
if(p.startsWith("/"))
p.remove(0, 1);
@@ -145,7 +145,7 @@ QByteArray XSPFPlaylistFormat::encode(const QList<PlayListTrack*> &files, const
}
else //absolute path
{
- url = QUrl::toPercentEncoding(QLatin1String("file://") + f->url(), ":/");
+ url = QUrl::toPercentEncoding(QLatin1String("file://") + f->path(), ":/");
}
xml.writeTextElement("location", url);