diff --git a/src/scrobbler/listenbrainzscrobbler.cpp b/src/scrobbler/listenbrainzscrobbler.cpp index 2aff167d8..2bf0ba28a 100644 --- a/src/scrobbler/listenbrainzscrobbler.cpp +++ b/src/scrobbler/listenbrainzscrobbler.cpp @@ -335,9 +335,12 @@ void ListenBrainzScrobbler::UpdateNowPlaying(const Song &song) { if (!song.is_metadata_good()) return; + QString album = song.album(); + album = album.remove(Song::kCoverRemoveDisc); + QJsonObject object_track_metadata; object_track_metadata.insert("artist_name", QJsonValue::fromVariant(song.artist())); - object_track_metadata.insert("release_name", QJsonValue::fromVariant(song.album())); + object_track_metadata.insert("release_name", QJsonValue::fromVariant(album)); object_track_metadata.insert("track_name", QJsonValue::fromVariant(song.title())); QJsonObject object_listen; diff --git a/src/scrobbler/scrobblercache.cpp b/src/scrobbler/scrobblercache.cpp index ecd1fc947..e33ca1d7e 100644 --- a/src/scrobbler/scrobblercache.cpp +++ b/src/scrobbler/scrobblercache.cpp @@ -180,7 +180,10 @@ ScrobblerCacheItem *ScrobblerCache::Add(const Song &song, const quint64 ×ta if (scrobbler_cache_.contains(timestamp)) return nullptr; - ScrobblerCacheItem *item = new ScrobblerCacheItem(song.artist(), song.album(), song.title(), song.albumartist(), song.track(), song.length_nanosec(), timestamp); + QString album = song.album(); + album = album.remove(Song::kCoverRemoveDisc); + + ScrobblerCacheItem *item = new ScrobblerCacheItem(song.artist(), album, song.title(), song.albumartist(), song.track(), song.length_nanosec(), timestamp); scrobbler_cache_.insert(timestamp, item); if (loaded_) DoInAMinuteOrSo(this, SLOT(WriteCache())); diff --git a/src/scrobbler/scrobblingapi20.cpp b/src/scrobbler/scrobblingapi20.cpp index 4e8be1245..9d6f52f1c 100644 --- a/src/scrobbler/scrobblingapi20.cpp +++ b/src/scrobbler/scrobblingapi20.cpp @@ -383,11 +383,14 @@ void ScrobblingAPI20::UpdateNowPlaying(const Song &song) { if (!IsAuthenticated() || !song.is_metadata_good()) return; + QString album = song.album(); + album = album.remove(Song::kCoverRemoveDisc); + ParamList params = ParamList() << Param("method", "track.updateNowPlaying") << Param("artist", song.artist()) << Param("track", song.title()) - << Param("album", song.album()); + << Param("album", album); QNetworkReply *reply = CreateRequest(params); NewClosure(reply, SIGNAL(finished()), this, SLOT(UpdateNowPlayingRequestFinished(QNetworkReply*)), reply); @@ -430,7 +433,7 @@ void ScrobblingAPI20::Scrobble(const Song &song) { cache()->Add(song, timestamp_); if (app_->scrobbler()->IsOffline()) return; - + if (!IsAuthenticated()) { emit ErrorMessage(QString("Scrobbler %1 is not authenticated!").arg(name_)); return;