feat: add support for original image dimension in album covers

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.
This commit is contained in:
Robert Honz
2025-08-12 18:22:59 +02:00
parent 8b8cc9c2fe
commit d481a26ccb
2 changed files with 6 additions and 1 deletions
+1
View File
@@ -37,6 +37,7 @@ class CoverDimensions(StrEnum):
Px320: str = "320" Px320: str = "320"
Px640: str = "640" Px640: str = "640"
Px1280: str = "1280" Px1280: str = "1280"
PxORIGIN: str = "origin"
class TidalLists(StrEnum): class TidalLists(StrEnum):
+5 -1
View File
@@ -38,6 +38,7 @@ from tidal_dl_ng.constants import (
PLAYLIST_EXTENSION, PLAYLIST_EXTENSION,
PLAYLIST_PREFIX, PLAYLIST_PREFIX,
REQUESTS_TIMEOUT_SEC, REQUESTS_TIMEOUT_SEC,
CoverDimensions,
MediaType, MediaType,
QualityVideo, QualityVideo,
) )
@@ -1183,7 +1184,10 @@ class Download:
path_lyrics = self.lyrics_to_file(path_media.parent, lyrics) 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): 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) cover_data = self.cover_data(url=url_cover)
if cover_data and self.settings.data.cover_album_file and is_parent_album: if cover_data and self.settings.data.cover_album_file and is_parent_album: