Commit Graph
145 Commits
Author SHA1 Message Date
Robert Honz d481a26ccb 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.
2025-08-12 18:22:59 +02:00
Robert Honz bf2f5055a0 feat(metadata): add UPC support for metadata tagging
This update introduces support for handling UPCs (Universal Product Codes) in metadata processing. It ensures that UPC information is extracted, stored, and written to the appropriate metadata tags for various formats.

- ✨ **Feature**: Adds UPC field to metadata handling.
- 🛠️ **Enhancement**: Updates metadata initialization to include UPC.
- 🗂️ **Tagging**: Implements UPC writing for supported file formats.
- ✅ **Compatibility**: Ensures proper handling when UPC is absent.

This improvement enhances metadata completeness and compatibility with systems requiring UPC data.
2025-08-12 09:55:34 +02:00
Robert Honz a96d44170b refactor(download): 🔧 Improve media validation and preparation logic
* Enhanced `_validate_and_prepare_media` method to support additional media types: `Album`, `Playlist`, `UserPlaylist`, and `Mix`.
* Updated media validation checks to ensure proper handling of unavailable media.
* Refactored `_validate_media_instance` to streamline media instance creation and validation.
* Removed redundant `_validate_and_prepare_media_collection` method for cleaner code.
2025-07-03 08:53:44 +02:00
Robert Honz 3085cd67a1 refactor(download): ✨ Enhance media collection handling and download execution
* Improved validation and preparation of media collections for downloads.
* Refactored download context setup and execution logic for better clarity and maintainability.
* Added progress tracking for download tasks and improved handling of download futures.
2025-07-02 15:11:19 +02:00
Robert Honz 33f5fcbda8 refactor(download): 🔧 Improve media validation and download process
* Reordered parameters in `item` method for clarity.
* Added `_validate_media_instance` method to streamline media validation.
* Enhanced `_prepare_file_paths_and_skip_logic` for better file handling.
* Introduced `_perform_actual_download` to encapsulate download logic.
* Improved error handling and logging throughout the download process.
2025-07-02 14:52:31 +02:00
Robert Honz 37f9250cdf refactor(download): ✨ Refactor media download logic for clarity and efficiency
* Renamed `_download` to `_get_media_urls` for better clarity on its purpose.
* Simplified URL extraction logic for `Track` and `Video` media types.
* Improved progress setup and error handling in the download process.
* Enhanced `_download_segments` and `_download_postprocess` methods for better readability and maintainability.
2025-07-02 10:29:54 +02:00
Robert Honz 35d4ff9229 refactor(download): ✨ Enhance docstrings for RequestsClient and Download classes
* Improved documentation for methods in the `RequestsClient` and `Download` classes.
* Added detailed descriptions, parameters, and return types to enhance code readability and maintainability.
2025-07-02 08:55:56 +02:00
Robert Honz fd16a620f2 refactor(gui): ✨ Enhance type annotations and improve method signatures
* Updated type hints for various methods in  and  classes.
* Changed list types from  to  for better clarity and consistency.
* Improved function signatures to include return types for better type safety.
2025-07-02 08:47:59 +02:00
Robert Honz 70e29771b9 🛠️ Directory length limit is checked and adapted correctly now. Fixes #447 & #436 2025-06-30 16:33:32 +02:00
Robert Honz 039546ffe8 👷 Lists and cover will be loaded in background. Gui won't hang anymore. Fixes #423 2025-06-29 20:33:22 +02:00
Robert Honz 819655d8b7 ✨ Implemented playlist track position naming ({list_pos}) for downloads. Fixes #165 2025-04-02 07:00:28 +02:00
Robert Honz 6ac116beed 🛠️ Fixed and simplified path_file_sanitize method. 2025-03-27 19:01:51 +01:00
Robert Honz 309ded73e4 🛠️ Fix: Only re-create media item if it is a track. Fixes #386 2025-03-25 21:22:35 +01:00
Robert Honz b50e3bd14d 👷 Code style. 2025-03-24 09:01:49 +01:00
Robert Honz efc2549ab5 👷 Check if albums and videos are available or not due to regional restrictions. Fixes #277 2025-03-24 08:57:47 +01:00
Robert Honz 0684994850 ✨ Downloads can be now paused / resumed. Fixes #149 & 324
👷 Shutdown is handled more gracefully.
2025-03-03 09:31:37 +01:00
Robert Honz 0726175503 👷 CLI: Download list is scrolling vertically and overall progress is shown at the bottom. Fixes #374 2025-03-01 21:53:46 +01:00
Robert Honz 303435ad1e 👷 Close network connections explicitly. Fixes #371 2025-02-28 17:27:12 +01:00
Robert Honz 7a4d6ceae7 🛠️ Fixed path length sanitation. Also refactored the path helper to use pathlib.Path instead of str. Fixed #358 2025-02-28 16:57:18 +01:00
Robert Honz 39e0e876d7 🛠️ Fixed composer in metadata. Needs to be empty string. 2025-02-28 11:47:38 +01:00
Robert Honz 5e91194bd1 ✨ Replay gain information can be disabled in settings. Fixes #176
🛠️ Fixed some warnings
2025-02-28 10:55:41 +01:00
Robert Honz 57789f10e8 ✨ Adding TIDAL share url to metadata. See #176 2025-02-28 10:39:53 +01:00
Robert Honz 113448620e 🛠️ Fix: No media_metadata_tags available for videos. Fixes #338 2025-01-17 09:43:41 +01:00
Robert Honz 2055606d0b 👷 File extension guesser improved. Fixes #322 2025-01-12 17:42:09 +01:00
Robert Honz bf7000cab0 🛠️ Fix: Playlist was not created if symlink was deactivated. Fixes #322 2025-01-11 16:07:30 +01:00
Robert Honz 8e66cb3259 🛠️ Fix: Very short tracks detected as corrupt download. 2025-01-05 21:26:11 +01:00
Robert Honz 6f5b8cf164 👷 Code style applied. 2025-01-04 13:42:46 +01:00
Robert Honz c0ca748119 👷 Tracks will be linked relatively within the download folder. 2025-01-04 12:51:17 +01:00
Robert Honz 5012c5d4de 👷 Moved to maintained python-ffmpeg. 2025-01-03 16:06:13 +01:00
Robert Honz 4a2b463f14 👷 To be able to re-create m3u playlist file check for path not download status. 2024-12-25 11:34:23 +01:00
Robert Honz d8cc4215f2 ✨ Check if download was successful before adding path to m3u creation. 2024-12-17 09:41:06 +01:00
Robert Honz 3897daedf1 ✨ Added better initial file extension guesser. Refined file skipping technique. 2024-12-16 23:10:35 +01:00
Robert Honz 824ae6a20f 🛠️ Fixed wrong symlink creation. Hot fixed extension detection of tidalapi. 2024-12-16 16:40:21 +01:00
Robert Honz a03cda10ec ✨ Playlist can be created for downloaded albums, mixes, UserPlaylists etc. Fixes #108 2024-12-16 14:42:53 +01:00
Robert Honz 785724a3e0 ✨ On symlink downloads will be skipped, if item in track folder already exist. It will be still symlinked. 2024-12-16 10:55:09 +01:00
Robert Honz 88c5892cb9 ✨ Items can be symlinked to track folder. 2024-12-16 10:40:06 +01:00
Robert Honz 5768edacc5 ✨ Multithreaded downloads implemented (for Playlists, Albums etc.). Fixes #180 2024-12-15 23:35:10 +01:00
Robert Honz b8091e233b ✨ Album track number padding can be set. Fixes #142 2024-12-15 20:37:06 +01:00
Robert Honz 80419c727e 🛠️ Fixed .get_stream() not available for videos. Fixes #267 2024-12-13 10:14:41 +01:00
Robert Honz 5556063e35 ✨ ReplayGain information added to metadata. 2024-11-29 21:56:42 +01:00
Robert Honz e80a3dcb12 ✨ Reverted tidalapi workaround (file extension bug fix). 2024-11-29 18:03:33 +01:00
Robert Honz dda52eb05e 👷 Stream manifest will only be retrieved once per media item. Download delay will be read from config. Exception handling improved. Fixes #248 2024-11-20 12:30:14 +01:00
Robert Honz 037e6f14a2 ✨ Finished items will be written to log output. Minor refactoring. 2024-11-15 09:57:01 +01:00
Robert Honz f28d07b651 ✨ Todo added to implement download speed. 2024-11-15 09:14:00 +01:00
Robert Honz a9ff6dc558 🛠️ Fixed segment id calculation for BTS tracks. Fixes #232
Fixed GUI crash on trailing / leading spaces in search terms.
2024-11-14 15:10:14 +01:00
Robert Honz 9438244612 🛠️ Workaround for wrong extension detection of tidalapi. Fixes #232 2024-11-14 13:11:06 +01:00
Robert Honz d3dedc0b6f ✨ Added some error handling for file merge. 2024-11-14 08:07:54 +01:00
Robert Honz 65dbe85241 ✨ Bug fix for import constants. 2024-11-13 13:45:38 +01:00
Robert Honz 7134e0e51b ✨ tidalapi and dependent code was updated. 2024-11-13 13:09:58 +01:00
Robert Honz f5ed1c6554 ✨ Time exponential retries on segment download errors. Fixes #196 2024-11-13 12:36:01 +01:00