Add extra info to scrobble data (#2669)
authorOzGav <gavnosp@hotmail.com>
Wed, 26 Nov 2025 23:42:46 +0000 (09:42 +1000)
committerGitHub <noreply@github.com>
Wed, 26 Nov 2025 23:42:46 +0000 (00:42 +0100)
music_assistant/controllers/player_queues.py

index 8bb82156a17a89d421400ae0515d1ccb45ffc663..fa147ea6eda4d10ea6d138c8c5b5f68b9bb07fa3 100644 (file)
@@ -2296,6 +2296,8 @@ class PlayerQueuesController(CoreController):
         album = getattr(item_to_report.media_item, "album", None)
         # signal 'media item played' event,
         # which is useful for plugins that want to do scrobbling
+        artists = getattr(item_to_report.media_item, "artists", None)
+        artists_list = [a.name for a in artists] if artists else None
         self.mass.signal_event(
             EventType.MEDIA_ITEM_PLAYED,
             object_id=item_to_report.media_item.uri,
@@ -2303,14 +2305,14 @@ class PlayerQueuesController(CoreController):
                 uri=item_to_report.media_item.uri,
                 media_type=item_to_report.media_item.media_type,
                 name=item_to_report.media_item.name,
+                version=getattr(item_to_report.media_item, "version", None),
                 artist=getattr(item_to_report.media_item, "artist_str", None),
-                artist_mbids=(
-                    [a.mbid for a in artists if a.mbid]
-                    if (artists := getattr(item_to_report.media_item, "artists", None))
-                    else None
-                ),
+                artists=artists_list,
+                artist_mbids=[a.mbid for a in artists if a.mbid] if artists else None,
                 album=(album.name if album else None),
                 album_mbid=(album.mbid if album else None),
+                album_artist=(album.artist_str if album else None),
+                album_artist_mbids=([a.mbid for a in album.artists if a.mbid] if album else None),
                 image_url=(
                     self.mass.metadata.get_image_url(item_to_report.media_item.image, size=512)
                     if item_to_report.media_item.image