Remove Disc from album name when scrobbling

This commit is contained in:
Jonas Kvinge 2018-12-26 13:33:56 +01:00
parent ba38ccdbc6
commit e66fe78cbe
3 changed files with 13 additions and 4 deletions

View File

@ -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;

View File

@ -180,7 +180,10 @@ ScrobblerCacheItem *ScrobblerCache::Add(const Song &song, const quint64 &timesta
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()));

View File

@ -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;