aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/scrobbler
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/General/scrobbler')
-rw-r--r--src/plugins/General/scrobbler/lastfmscrobbler.cpp5
-rw-r--r--src/plugins/General/scrobbler/librefmscrobbler.cpp5
2 files changed, 6 insertions, 4 deletions
diff --git a/src/plugins/General/scrobbler/lastfmscrobbler.cpp b/src/plugins/General/scrobbler/lastfmscrobbler.cpp
index 145cb1676..c3f25cd5e 100644
--- a/src/plugins/General/scrobbler/lastfmscrobbler.cpp
+++ b/src/plugins/General/scrobbler/lastfmscrobbler.cpp
@@ -142,7 +142,8 @@ void LastfmScrobbler::setState(Qmmp::State state)
m_time->restart();
break;
case Qmmp::Stopped:
- elapsed += m_time->elapsed();
+ if (previousState != Qmmp::Paused)
+ elapsed += m_time->elapsed();
if (!m_song.metaData().isEmpty()
&& ((elapsed / 1000 > 240) || (elapsed / 1000 > int(m_song.length()/2)))
&& (m_song.length() > MIN_SONG_LENGTH))
@@ -160,7 +161,7 @@ void LastfmScrobbler::setState(Qmmp::State state)
submit();
break;
case Qmmp::Paused:
- elapsed += m_time->restart();
+ elapsed += m_time->elapsed();
qDebug("LastfmScrobbler: pausing after %d seconds played", elapsed / 1000);
break;
default:
diff --git a/src/plugins/General/scrobbler/librefmscrobbler.cpp b/src/plugins/General/scrobbler/librefmscrobbler.cpp
index 56ec4b7ea..97bdf7d69 100644
--- a/src/plugins/General/scrobbler/librefmscrobbler.cpp
+++ b/src/plugins/General/scrobbler/librefmscrobbler.cpp
@@ -101,7 +101,8 @@ void LibrefmScrobbler::setState(Qmmp::State state)
handshake();
break;
case Qmmp::Stopped:
- elapsed += m_time->elapsed();
+ if (previousState != Qmmp::Paused)
+ elapsed += m_time->elapsed();
if (!m_song.metaData().isEmpty()
&& ((elapsed/1000 > 240) || (elapsed/1000 > int(m_song.length()/2)))
&& (m_song.length() > MIN_SONG_LENGTH))
@@ -118,7 +119,7 @@ void LibrefmScrobbler::setState(Qmmp::State state)
submit();
break;
case Qmmp::Paused:
- elapsed += m_time->restart();
+ elapsed += m_time->elapsed();
qDebug("LibrefmScrobbler: pausing after %d seconds played", elapsed / 1000);
break;
default: