diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-04-30 18:29:11 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-04-30 18:29:11 +0000 |
| commit | aa167f22dbbeb4c2b680bc860dbc409d5a447864 (patch) | |
| tree | fd5a0ac440a784de26546e23acf798b042bec75b /src/plugins/PlayListFormats | |
| parent | 4fa75cf5e6e7f0abe43d68342d1f7ff993c0c3f6 (diff) | |
| download | qmmp-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.cpp | 16 | ||||
| -rw-r--r-- | src/plugins/PlayListFormats/pls/plsplaylistformat.cpp | 14 | ||||
| -rw-r--r-- | src/plugins/PlayListFormats/xspf/xspfplaylistformat.cpp | 24 |
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); |
