From d481a26ccb99d5bf72208bce7fa046fa7bf6fdd9 Mon Sep 17 00:00:00 2001 From: Robert Honz Date: Tue, 12 Aug 2025 18:22:59 +0200 Subject: [PATCH] feat: add support for original image dimension in album covers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds functionality to handle original image dimensions (`origin`) for album cover downloads. - ✨ Added `PxORIGIN` option to cover dimension constants. - 🔄 Updated cover image URL logic to support original dimensions. - 🛠️ Improved cover data handling for more flexible metadata embedding. This enhances customization and fidelity in cover image management. --- tidal_dl_ng/constants.py | 1 + tidal_dl_ng/download.py | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tidal_dl_ng/constants.py b/tidal_dl_ng/constants.py index 0e0bb2c..300a403 100644 --- a/tidal_dl_ng/constants.py +++ b/tidal_dl_ng/constants.py @@ -37,6 +37,7 @@ class CoverDimensions(StrEnum): Px320: str = "320" Px640: str = "640" Px1280: str = "1280" + PxORIGIN: str = "origin" class TidalLists(StrEnum): diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py index ec53b1f..ec1f60a 100644 --- a/tidal_dl_ng/download.py +++ b/tidal_dl_ng/download.py @@ -38,6 +38,7 @@ from tidal_dl_ng.constants import ( PLAYLIST_EXTENSION, PLAYLIST_PREFIX, REQUESTS_TIMEOUT_SEC, + CoverDimensions, MediaType, QualityVideo, ) @@ -1183,7 +1184,10 @@ class Download: path_lyrics = self.lyrics_to_file(path_media.parent, lyrics) if self.settings.data.metadata_cover_embed or (self.settings.data.cover_album_file and is_parent_album): - url_cover = track.album.image(int(self.settings.data.metadata_cover_dimension)) + cover_dimension = self.settings.data.metadata_cover_dimension + url_cover = track.album.image( + int(cover_dimension) if cover_dimension != CoverDimensions.PxORIGIN else cover_dimension + ) cover_data = self.cover_data(url=url_cover) if cover_data and self.settings.data.cover_album_file and is_parent_album: