From 27a495f9254ba85e6c3ea1cae7c0aa17b044fedf Mon Sep 17 00:00:00 2001 From: morbificagent <50199132+morbificagent@users.noreply.github.com> Date: Thu, 5 Sep 2024 11:30:10 +0200 Subject: [PATCH 1/3] Update track.py Added support for tidal compilation tags --- streamrip/metadata/track.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/streamrip/metadata/track.py b/streamrip/metadata/track.py index 72c6c612..f7ce3ed0 100644 --- a/streamrip/metadata/track.py +++ b/streamrip/metadata/track.py @@ -31,6 +31,7 @@ class TrackMetadata: tracknumber: int discnumber: int composer: str | None + compilation: int = 0 isrc: str | None = None @classmethod @@ -208,6 +209,7 @@ def from_tidal(cls, album: AlbumMetadata, track) -> TrackMetadata: tracknumber=tracknumber, discnumber=discnumber, composer=None, + compilation=0, isrc=isrc, ) From 8e6f7562e7d9250812cb986026fd7bc7e66194a4 Mon Sep 17 00:00:00 2001 From: morbificagent <50199132+morbificagent@users.noreply.github.com> Date: Thu, 5 Sep 2024 11:32:55 +0200 Subject: [PATCH 2/3] Update tagger.py Added support for compilation tag --- streamrip/metadata/tagger.py | 1 + 1 file changed, 1 insertion(+) diff --git a/streamrip/metadata/tagger.py b/streamrip/metadata/tagger.py index 9ed81734..9271e19e 100644 --- a/streamrip/metadata/tagger.py +++ b/streamrip/metadata/tagger.py @@ -182,6 +182,7 @@ def _attr_from_meta(self, meta: TrackMetadata, attr: str) -> str | None: "tracknumber", "discnumber", "composer", + "compilation", "isrc", } if attr in in_trackmetadata: From 5a46d20136c1bce7198e296e62a1fd00047de4e2 Mon Sep 17 00:00:00 2001 From: morbificagent <50199132+morbificagent@users.noreply.github.com> Date: Thu, 5 Sep 2024 11:35:36 +0200 Subject: [PATCH 3/3] Update playlist.py Added support for Compilation tag and set it to 1 for Playlists Rename the Albumartist to "Playlist" to look good in Navidrome --- streamrip/media/playlist.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/streamrip/media/playlist.py b/streamrip/media/playlist.py index bf3bbbe9..341f70da 100644 --- a/streamrip/media/playlist.py +++ b/streamrip/media/playlist.py @@ -65,12 +65,15 @@ async def resolve(self) -> Track | None: ) self.db.set_failed(self.client.source, "track", self.id) return None - + + meta.compilation = 1 c = self.config.session.metadata if c.renumber_playlist_tracks: meta.tracknumber = self.position if c.set_playlist_to_album: album.album = self.playlist_name + album.albumartist = "Playlist" + quality = self.config.session.get_source(self.client.source).quality try: