ListenBrainzScrobbler: Report more info to ListenBrainz

Report music service, URL, and Spotify ID to ListenBrainz.
ListenBrainz accepts the music service in listen reports, in both a canonical domain format and a human-readable display name format. This commit makes Strawberry report both, for maximum flexibility. I've also set it up to report a shareable track URL for supported streaming services. I am already using this data in my homepage's "Now Playing" widget.

Fixes #1768
This commit is contained in:
Piper McCorkle
2025-06-27 19:31:49 -05:00
committed by Jonas Kvinge
parent e0d61223a4
commit a5f94b608b
6 changed files with 76 additions and 0 deletions

View File

@@ -38,4 +38,8 @@ ScrobbleMetadata::ScrobbleMetadata(const Song &song)
musicbrainz_disc_id(song.musicbrainz_disc_id()),
musicbrainz_release_group_id(song.musicbrainz_release_group_id()),
musicbrainz_work_id(song.musicbrainz_work_id()),
music_service(song.is_stream() ? song.DomainForSource() : QString()),
music_service_name(song.is_stream() ? song.DescriptionForSource() : QString()),
share_url(song.ShareURL()),
spotify_id(song.source() == Song::Source::Spotify ? song.song_id() : QString()),
length_nanosec(song.length_nanosec()) {}