aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/scrobbler/scrobblercache.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-07-01 21:23:53 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-07-01 21:23:53 +0000
commit7e2066ba76299dbb8e51493740b6507fe949958a (patch)
treee304bc9403e38a60e5f22824efea74158a94fd01 /src/plugins/General/scrobbler/scrobblercache.cpp
parent17cadbfb95e9211e8685aed3466d4c22df732e92 (diff)
downloadqmmp-7e2066ba76299dbb8e51493740b6507fe949958a.tar.gz
qmmp-7e2066ba76299dbb8e51493740b6507fe949958a.tar.bz2
qmmp-7e2066ba76299dbb8e51493740b6507fe949958a.zip
scrobbler: using TrackInfo for cached song
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8979 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/scrobbler/scrobblercache.cpp')
-rw-r--r--src/plugins/General/scrobbler/scrobblercache.cpp105
1 files changed, 30 insertions, 75 deletions
diff --git a/src/plugins/General/scrobbler/scrobblercache.cpp b/src/plugins/General/scrobbler/scrobblercache.cpp
index 77a22b0cd..841c8c48f 100644
--- a/src/plugins/General/scrobbler/scrobblercache.cpp
+++ b/src/plugins/General/scrobbler/scrobblercache.cpp
@@ -22,39 +22,28 @@
#include "scrobblercache.h"
SongInfo::SongInfo()
-{
- m_length = 0;
- m_start_ts = 0;
-}
+{}
-SongInfo::SongInfo(const QMap <Qmmp::MetaData, QString> metadata, qint64 length)
-{
- m_metadata = metadata;
- m_length = length;
- m_start_ts = 0;
-}
+SongInfo::SongInfo(const TrackInfo &info) : TrackInfo(info)
+{}
-SongInfo::SongInfo(const SongInfo &other)
-{
- m_metadata = other.metaData();
- m_length = other.length();
- m_start_ts = other.timeStamp();
-}
+SongInfo::SongInfo(const SongInfo &other) : TrackInfo(other),
+ m_start_ts(other.timeStamp())
+{}
SongInfo::~SongInfo()
{}
SongInfo & SongInfo::operator=(const SongInfo &info)
{
- m_metadata = info.metaData();
- m_length = info.length();
+ TrackInfo::operator=(info);
m_start_ts = info.timeStamp();
return *this;
}
bool SongInfo::operator==(const SongInfo &info)
{
- return (m_metadata == info.metaData()) && (m_length == info.length()) && (m_start_ts == info.timeStamp());
+ return (TrackInfo::operator==(info)) && (m_start_ts == info.timeStamp());
}
bool SongInfo::operator!=(const SongInfo &info)
@@ -62,42 +51,6 @@ bool SongInfo::operator!=(const SongInfo &info)
return !operator==(info);
}
-void SongInfo::setMetaData(const QMap <Qmmp::MetaData, QString> metadata)
-{
- m_metadata = metadata;
-}
-
-void SongInfo::setMetaData(Qmmp::MetaData key, const QString &value)
-{
- m_metadata.insert(key, value);
-}
-
-void SongInfo::setLength(qint64 l)
-{
- m_length = l;
-}
-
-const QMap <Qmmp::MetaData, QString> SongInfo::metaData() const
-{
- return m_metadata;
-}
-
-const QString SongInfo::metaData(Qmmp::MetaData key) const
-{
- return m_metadata.value(key);
-}
-
-qint64 SongInfo::length () const
-{
- return m_length;
-}
-
-void SongInfo::clear()
-{
- m_metadata.clear();
- m_length = 0;
-}
-
void SongInfo::setTimeStamp(uint ts)
{
m_start_ts = ts;
@@ -135,24 +88,26 @@ QList<SongInfo> ScrobblerCache::load()
if (param == "title")
{
songs << SongInfo();
- songs.last().setMetaData(Qmmp::TITLE, value);
+ songs.last().setValue(Qmmp::TITLE, value);
}
else if (songs.isEmpty())
continue;
else if (param == "artist")
- songs.last().setMetaData(Qmmp::ARTIST, value);
+ songs.last().setValue(Qmmp::ARTIST, value);
else if (param == "album")
- songs.last().setMetaData(Qmmp::ALBUM, value);
+ songs.last().setValue(Qmmp::ALBUM, value);
else if (param == "comment")
- songs.last().setMetaData(Qmmp::COMMENT, value);
+ songs.last().setValue(Qmmp::COMMENT, value);
else if (param == "genre")
- songs.last().setMetaData(Qmmp::GENRE, value);
+ songs.last().setValue(Qmmp::GENRE, value);
else if (param == "year")
- songs.last().setMetaData(Qmmp::YEAR, value);
+ songs.last().setValue(Qmmp::YEAR, value);
else if (param == "track")
- songs.last().setMetaData(Qmmp::TRACK, value);
- else if (param == "length")
- songs.last().setLength(value.toInt());
+ songs.last().setValue(Qmmp::TRACK, value);
+ else if (param == "length") //1.3.x config support
+ songs.last().setDuration(value.toInt() * 1000);
+ else if (param == "duration")
+ songs.last().setDuration(value.toLongLong());
else if (param == "time")
songs.last().setTimeStamp(value.toUInt());
}
@@ -170,21 +125,21 @@ void ScrobblerCache::save(const QList<SongInfo> &songs)
}
if(!file.open(QIODevice::WriteOnly))
{
- qWarning("ScrobblerCach: unable to save file %s", qPrintable(m_filePath));
- qWarning("ScrobblerCach: error %d: %s", file.error(), qPrintable(file.errorString()));
+ qWarning("ScrobblerCache: unable to save file %s", qPrintable(m_filePath));
+ qWarning("ScrobblerCache: error %d: %s", file.error(), qPrintable(file.errorString()));
return;
}
foreach(SongInfo m, songs)
{
- file.write(QString("title=%1").arg(m.metaData(Qmmp::TITLE)).toUtf8() +"\n");
- file.write(QString("artist=%1").arg(m.metaData(Qmmp::ARTIST)).toUtf8() +"\n");
- file.write(QString("album=%1").arg(m.metaData(Qmmp::ALBUM)).toUtf8() +"\n");
- file.write(QString("comment=%1").arg(m.metaData(Qmmp::COMMENT)).toUtf8() +"\n");
- file.write(QString("genre=%1").arg(m.metaData(Qmmp::GENRE)).toUtf8() +"\n");
- file.write(QString("year=%1").arg(m.metaData(Qmmp::YEAR)).toUtf8() +"\n");
- file.write(QString("track=%1").arg(m.metaData(Qmmp::TRACK)).toUtf8() +"\n");
- file.write(QString("length=%1").arg(m.length()).toUtf8() +"\n");
- file.write(QString("time=%1").arg(m.timeStamp()).toUtf8() +"\n");
+ file.write(QString("title=%1").arg(m.value(Qmmp::TITLE)).toUtf8() +"\n");
+ file.write(QString("artist=%1").arg(m.value(Qmmp::ARTIST)).toUtf8() +"\n");
+ file.write(QString("album=%1").arg(m.value(Qmmp::ALBUM)).toUtf8() +"\n");
+ file.write(QString("comment=%1").arg(m.value(Qmmp::COMMENT)).toUtf8() +"\n");
+ file.write(QString("genre=%1").arg(m.value(Qmmp::GENRE)).toUtf8() +"\n");
+ file.write(QString("year=%1").arg(m.value(Qmmp::YEAR)).toUtf8() +"\n");
+ file.write(QString("track=%1").arg(m.value(Qmmp::TRACK)).toUtf8() +"\n");
+ file.write(QString("duration=%1").arg(m.duration()).toLatin1() +"\n");
+ file.write(QString("time=%1").arg(m.timeStamp()).toLatin1() +"\n");
}
file.close();
}