Fetch larger version of Soundcloud artwork (#1426)
authorMelvyn Harbour <melharbour@gmail.com>
Tue, 2 Jul 2024 09:06:35 +0000 (10:06 +0100)
committerGitHub <noreply@github.com>
Tue, 2 Jul 2024 09:06:35 +0000 (11:06 +0200)
music_assistant/server/providers/soundcloud/__init__.py

index a981725e2426cabc36ecc2f0139eee2a7196cd67..98f6ee35f6a29d4363e2cf82497df7dcdc10372e 100644 (file)
@@ -383,7 +383,7 @@ class SoundcloudMusicProvider(MusicProvider):
             playlist.metadata.images = [
                 MediaItemImage(
                     type=ImageType.THUMB,
-                    path=playlist_obj["artwork_url"],
+                    path=self._transform_artwork_url(playlist_obj["artwork_url"]),
                     provider=self.instance_id,
                     remotely_accessible=True,
                 )
@@ -426,7 +426,7 @@ class SoundcloudMusicProvider(MusicProvider):
             track.metadata.images = [
                 MediaItemImage(
                     type=ImageType.THUMB,
-                    path=track_obj["artwork_url"],
+                    path=self._transform_artwork_url(track_obj["artwork_url"]),
                     provider=self.instance_id,
                     remotely_accessible=True,
                 )
@@ -438,3 +438,8 @@ class SoundcloudMusicProvider(MusicProvider):
         if track_obj.get("tag_list"):
             track.metadata.style = track_obj["tag_list"]
         return track
+
+    def _transform_artwork_url(self, artwork_url: str) -> str:
+        """Patch artwork URL to a high quality thumbnail."""
+        # This is undocumented in their API docs, but was previously
+        return artwork_url.replace("large", "t500x500")