Commit Graph
678 Commits
Author SHA1 Message Date
exislowandGitHub e52e17a8f5 Merge pull request #546 from maya-doshi/change_artist_delimiter
change artist delimiter to semicolon
2025-09-29 18:41:00 +02:00
Maya Doshi 59ee4cd272 change artist delimiter to semicolon 2025-09-29 11:49:39 -04:00
Robert Honz 9f1b7a61b6 🌟 Version bumped to v0.26.7 2025-09-25 20:45:22 +02:00
exislowandGitHub bfd7b8f252 Merge pull request #544 from exislow/541-winerror-123-the-filename-directory-name-or-volume-label-syntax-is-incorrect-on-windows-11
fix(path): 🐛 correct filename sanitization logic
2025-09-25 20:25:52 +02:00
Robert Honz dfc8968b1f fix(path): 🐛 correct filename sanitization logic
* Adjusted the logic in `path_file_sanitize` to ensure the sanitized filename correctly appends the file suffix after the placeholder.
* This change prevents potential filename issues when handling file paths.
2025-09-25 20:25:00 +02:00
Robert Honz fed4cc1331 🌟 Version bumped to v0.26.6 2025-09-07 19:45:54 +02:00
exislowandGitHub ebe7ec7834 Merge pull request #530 from exislow/526-error-while-downloading-songs-block-is-too-long-to-write
fix(download): 🐛 adjust cover image handling to prevent metadata size…
2025-09-07 19:38:09 +02:00
Robert Honz 8f8e8e0a78 fix(download): 🐛 adjust cover image handling to prevent metadata size issues
* Prevent writing `CoverDimensions.PxORIGIN` to metadata to avoid exceeding max file size (>16Mb).
* Ensure correct cover image is used based on `cover_dimension` settings.
2025-09-07 19:37:39 +02:00
exislowandGitHub 018f477f0a Merge pull request #529 from exislow/508-pip-update-to-latest-version-not-possible-with-python-313
fix(README): 📝 update Python version requirement to 3.12 only
2025-09-07 18:52:58 +02:00
Robert Honz 1a3baac75a fix(README): 📝 update Python version requirement to 3.12 only
* Clarified the Python version requirement for installation.
* Removed mention of Python 3.13 to avoid confusion.
2025-09-07 18:52:06 +02:00
exislowandGitHub 40952ce13a Merge pull request #528 from exislow:url-validator
Url-validator
2025-09-07 18:27:52 +02:00
Robert Honz 541527be32 feat(tidal): ✨ add url_ending_clean function and refactor URL handling. Fixes #523
* Introduced `url_ending_clean` to sanitize URLs by removing trailing "/u" or "?u".
* Updated `_process_url` and GUI search logic to utilize cleaned URLs for better validation and processing.
2025-09-07 18:27:30 +02:00
Robert Honz 47b1f2a669 fix: 📝 update placeholder text for bug report
* Clarified the placeholder instructions for the "What happened?" field in the bug report template.
* Ensured consistency in language and improved readability for users submitting bug reports.
2025-09-07 17:13:08 +02:00
Robert Honz 8939796164 🌟 Version bumped to v0.26.5 2025-08-13 08:20:21 +02:00
exislowandGitHub 1b534dc37a Merge pull request #505 from exislow/playlist-create-file-type-fix
refactor(constants): streamline enums and enhance type annotations
2025-08-13 08:17:55 +02:00
Robert Honz 8dd75897e3 refactor(constants): streamline enums and enhance type annotations
This commit refactors the codebase to improve readability and maintainability by updating enums and type annotations:

- ✨ **Replaced `StrEnum` attributes**: Removed explicit type declarations for enum values to simplify the code.
- 🛠️ **Introduced `AudioExtensionsValid` enum**: Added a new enum for valid audio file extensions.
- 🔄 **Enhanced type annotations**: Updated `FAVORITES` dictionary to include specific type hints for clarity.
- 🧹 **Updated references**: Replaced outdated `AudioExtensions` usage with the new `AudioExtensionsValid`.

These changes improve code clarity, enforce stricter typing, and enhance extensibility.
2025-08-13 08:17:11 +02:00
exislowandGitHub 0d8bc88f96 Merge pull request #502 from exislow/484-url-metadata-still-corrupting-downloaded-files-0262-gui-x64
feat: add metadata_write_url setting for conditional URL metadata wri…
2025-08-12 19:37:25 +02:00
Robert Honz f16165558c feat: add metadata_write_url setting for conditional URL metadata writing
Introduces a new configuration option, `metadata_write_url`, to control whether the media file URL is included in metadata. Updates logic to respect this setting.

- ✨ **Feature**: Adds `metadata_write_url` to enable/disable URL writing in metadata.
- 🔧 **Logic Update**: Adjusts URL handling to check the new setting before including it.
- 📝 **Documentation**: Updates help descriptions to explain the new option.

This change improves flexibility in metadata customization.
2025-08-12 19:36:41 +02:00
Robert Honz d6b1cae1ff 🌟 Version bumped to v0.26.4 2025-08-12 18:30:55 +02:00
exislowandGitHub 93f64eab02 Merge pull request #500 from exislow/425-download-original-cover
feat: add support for original image dimension in album covers
2025-08-12 18:23:28 +02:00
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 8b8cc9c2fe 🌟 Version bumped to v0.26.3 2025-08-12 18:03:57 +02:00
exislowandGitHub 9c7656f1d8 Merge pull request #499 from exislow/487-icon-is-misaligned
feat(gui): enhance app icons with multi-resolution support
2025-08-12 16:03:21 +02:00
Robert Honz ef507b56ed feat(gui): enhance app icons with multi-resolution support
Improves the application's icon handling by introducing multi-resolution
support, replacing a single PNG file with multiple resolution-specific icons.

- ✨ **Added** multiple resolution icons (16x16, 32x32, 48x48, 64x64, 256x256, 512x512).
- 🔄 **Updated** GUI setup to use multi-resolution icons for better scalability.
- 🗑️ **Removed** the old single-resolution `icon.png`.

This update ensures better compatibility and visual quality across
different platforms and screen resolutions.
2025-08-12 16:02:41 +02:00
exislowandGitHub e8db68992f Merge pull request #498 from exislow/490-add-album_date-placeholder-for-full-iso-release-date-yyyy-mm-dd
feat: add support for formatting album release dates
2025-08-12 10:55:48 +02:00
Robert Honz afdb523cb5 feat: add support for formatting album release dates
This update introduces support for handling date-related format strings, improving the flexibility of media metadata formatting.

- ✨ **Feature**: Adds `_format_dates` function to handle date-related strings like `album_date`.
- 🛠️ **Enhancement**: Refactors `_format_durations` by isolating date-related logic into a new function.
- 📅 **Improvement**: Supports formatting `album_year` and `album_date` with proper checks for `Album` and `Track` types.

This improvement enhances media metadata formatting capabilities for more detailed date information.
2025-08-12 10:52:53 +02:00
exislowandGitHub 23fda8ed33 Merge pull request #497 from exislow/add-video-id
refactor(helper): improve ID format handling logic
2025-08-12 10:18:48 +02:00
Robert Honz a0a6a8d15b refactor(helper): improve ID format handling logic
Refactors the ID formatting logic to extend support for `video_id` and improve clarity.

- ✨ **Feature:** Adds support for `video_id` in ID formatting logic.
- ♻️ **Refactor:** Updates conditional checks for better readability.
- 🔧 **Metadata:** Updates `poetry.lock` content hash.

These changes enhance functionality and maintainability by accommodating additional media types.
2025-08-12 10:18:20 +02:00
exislowandGitHub c825cc2587 Merge pull request #496 from exislow/469-add-upc-when-available
feat(metadata): add UPC support for metadata tagging
2025-08-12 09:57:02 +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
exislowandGitHub 6596bca703 Merge pull request #493 from exislow/dependency-update
Update dependencies in pyproject.toml
2025-08-11 13:09:32 +02:00
Robert Honz 5375850f98 Update dependencies in pyproject.toml
- Bump rich from 14.0.0 to 14.1.0
- Update tidalapi from 0.8.3 to 0.8.5
- Upgrade dev dependencies:
  - deptry from 0.23.0 to 0.23.1
  - mypy from 1.16.1 to 1.17.1
  - pre-commit from 4.2.0 to 4.3.0
  - tox from 4.27.0 to 4.28.4
  - bandit from 1.8.5 to 1.8.6
  - pylint from 3.3.7 to 3.3.8
  - pillow from 11.2.1 to 11.3.0
2025-08-11 13:06:16 +02:00
exislowandGitHub 460312dbd7 Merge pull request #480 from Jasperhino/patch-1
Update README.md to work with zsh
2025-07-08 10:16:42 +02:00
Robert Honz d6bb9d51d2 chore(workflow): 🚀 Update build matrix for GUI packaging across multiple OS
* Added support for building GUI on macOS ARM64, Ubuntu, and Windows platforms.
* Restored previously commented-out build commands for better cross-platform compatibility.
2025-07-08 09:58:30 +02:00
Robert Honz 7d60950613 fix(makefile): 🐛 Remove gui-macos-dmg-intel target and related commands
* Eliminated the `gui-macos-dmg-intel` target from the Makefile.
* This target was a workaround for Intel Macs and is no longer necessary.
* Streamlined the `gui-macos-dmg` process for better clarity and maintenance.
2025-07-08 09:57:33 +02:00
Robert Honz b3c53ab396 fix(makefile): 🐛 Update gui-macos-dmg command to use sudo for create-dmg
* Changed the command to run `create-dmg` with `sudo` to ensure proper permissions on macOS.
* Added a sleep delay of 60 seconds to allow for any necessary processing time.
2025-07-08 09:38:06 +02:00
Jasper BlumandGitHub bc6d2b9a76 Update README.md to work with zsh
The brackets are interpreted by zsh making the command fail with a not useful error message. By putting it in quotes this does not happen.
2025-07-04 17:50:29 +02:00
Robert Honz f0bbbc0108 fix(gui): 🐛 Correct make gui-macos-dmg command and add delay
* Updated the command to `make gui-macos-dmg` for proper packaging.
* Introduced a 60-second delay before creating the DMG to ensure all processes are completed.
2025-07-04 00:02:41 +02:00
Robert Honz ae17fab057 chore(workflow): 🚀 Update GUI packaging process for macOS
* Added a sleep command before creating the `.dmg` file to ensure proper execution.
* Modified the `hdiutil create` command to include `-debug` for troubleshooting.
2025-07-03 23:45:21 +02:00
Robert Honz 0e7dda5622 Bump pyside6 version from 6.8.1 to 6.9.0 in pyproject.toml 2025-07-03 15:41:55 +02:00
Robert Honz 6f499057aa chore(workflow): 🚀 Add release and test build GitHub Actions workflow
- Introduced a new workflow for managing releases and test builds.
- Configured jobs for publishing, deploying documentation, and building GUI assets for multiple platforms.
- Set up environment variables and matrix strategy for cross-platform builds.
2025-07-03 11:32:28 +02:00
Robert Honz fa1ea1fc87 refactor(tox): 🔧 Remove Python 3.13 from testing matrix
* Updated the Python version matrix in the tox job to only include 3.12.
* This change simplifies the testing process and focuses on the currently supported version.
2025-07-03 11:24:50 +02:00
exislowandGitHub de64d3e94b Merge pull request #479 from exislow/457-cli-ux-enhancement-assume-dl-command-when-a-link-is-specified-as-the-first-argument 2025-07-03 11:20:11 +02:00
Robert Honz 650e799eb6 refactor(cli): restructure callback and favorites commands
Refactors the CLI structure to improve readability and maintainability:

- ♻️ Replaces `dl_fav_group` with `app_dl_fav` for better naming consistency.
- 🛠️ Restructures the `callback_app` function, removing redundancy.
- 🚀 Adds a URL detection mechanism to streamline `dl <URL>` command simulation.
- ✨ Enhances imports by adding `urlparse`.

These updates aim to simplify the codebase and improve user experience.
2025-07-03 11:09:57 +02:00
exislowandGitHub 7da0d4c41e Merge pull request #478 from exislow/ai-refactoring 2025-07-03 09:57:26 +02:00
Robert Honz 4662d18fdf refactor(decryption): ✨ Improve docstring for decrypt_security_token function
- Enhanced clarity of the function's purpose and usage.
- Added detailed descriptions for arguments and return values.
2025-07-03 09:45:18 +02:00
Robert Honz 5b110638e0 refactor(cli): 🔧 Update context handling in download functions
* Refactored `_handle_track_or_video` and `_handle_album_playlist_mix_artist` to use `typer.Context` instead of `Settings` directly.
* Improved clarity by centralizing settings retrieval through context.
* Adjusted `_process_url` and `_download` functions to align with the new context-based approach.
2025-07-03 08:57:46 +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 bfc0c92d69 fix: downgrade pyside6 version from 6.8.3 to 6.8.1 for compatibility 2025-07-03 08:52:04 +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