From 2b15dae806c7cd5e4516e9cf76bf7ba95ab6b495 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sat, 1 May 2021 18:19:08 +0200 Subject: [PATCH] Strip misc from song title when sending now playing --- src/scrobbler/listenbrainzscrobbler.cpp | 5 ++++- src/scrobbler/scrobblingapi20.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/scrobbler/listenbrainzscrobbler.cpp b/src/scrobbler/listenbrainzscrobbler.cpp index 3612b3118..5bcca8ed2 100644 --- a/src/scrobbler/listenbrainzscrobbler.cpp +++ b/src/scrobbler/listenbrainzscrobbler.cpp @@ -426,8 +426,11 @@ void ListenBrainzScrobbler::UpdateNowPlaying(const Song &song) { if (!song.is_metadata_good() || !IsAuthenticated() || app_->scrobbler()->IsOffline()) return; QString album = song.album(); + QString title = song.title(); + album = album.remove(Song::kAlbumRemoveDisc); album = album.remove(Song::kAlbumRemoveMisc); + title = title.remove(Song::kTitleRemoveMisc); QJsonObject object_track_metadata; if (song.albumartist().isEmpty() || song.albumartist().toLower() == Song::kVariousArtists) { @@ -440,7 +443,7 @@ void ListenBrainzScrobbler::UpdateNowPlaying(const Song &song) { if (!album.isEmpty()) object_track_metadata.insert("release_name", QJsonValue::fromVariant(album)); - object_track_metadata.insert("track_name", QJsonValue::fromVariant(song.title())); + object_track_metadata.insert("track_name", QJsonValue::fromVariant(title)); QJsonObject object_listen; object_listen.insert("track_metadata", object_track_metadata); diff --git a/src/scrobbler/scrobblingapi20.cpp b/src/scrobbler/scrobblingapi20.cpp index e6b33d468..91c0f87e4 100644 --- a/src/scrobbler/scrobblingapi20.cpp +++ b/src/scrobbler/scrobblingapi20.cpp @@ -469,13 +469,16 @@ void ScrobblingAPI20::UpdateNowPlaying(const Song &song) { if (!IsAuthenticated() || !song.is_metadata_good() || app_->scrobbler()->IsOffline()) return; QString album = song.album(); + QString title = song.title(); + album = album.remove(Song::kAlbumRemoveDisc); album = album.remove(Song::kAlbumRemoveMisc); + title = title.remove(Song::kTitleRemoveMisc); ParamList params = ParamList() << Param("method", "track.updateNowPlaying") << Param("artist", prefer_albumartist_ && song.effective_albumartist() != Song::kVariousArtists ? song.effective_albumartist() : song.artist()) - << Param("track", song.title()); + << Param("track", title); if (!album.isEmpty()) params << Param("album", album);