summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2025-08-12 18:22:59 +0200
committerRobert Honz <exislow+github@gmail.com>2025-08-12 18:22:59 +0200
commitd481a26ccb99d5bf72208bce7fa046fa7bf6fdd9 (patch)
treebbfbea32613f1d3743d964543cabc923fd045841
parent8b8cc9c2fed383f6b912fd44b1f959c525f9bc5b (diff)
downloadtidal-dl-ng-d481a26ccb99d5bf72208bce7fa046fa7bf6fdd9.tar.gz
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.
-rw-r--r--tidal_dl_ng/constants.py1
-rw-r--r--tidal_dl_ng/download.py6
2 files changed, 6 insertions, 1 deletions
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: