Commit Graph
784 Commits
Author SHA1 Message Date
Winman486 3c835c2d19 Merge upstream/master and resolve conflicts
- Resolved conflict in dialog_settings.py (kept both cb_use_primary_album_artist and cb_mark_explicit checkboxes)
- Fixed code quality issues found by make check:
  * Removed duplicate on_download_album_from_track function (F811)
  * Updated isinstance calls to use X | Y syntax instead of (X, Y) (UP038)
  * Fixed unused loop variable album_stub (B007)
  * Applied automatic formatting fixes (black, prettier, trailing whitespace)
- Only remaining issue is C901 complexity warning in on_download_all_albums_from_playlist (expected per maintainer feedback)
2025-10-20 16:12:46 -05:00
Rikrdoga 2c2cc0283a Refactor Dolby Atmos feature to be internal and seamless 2025-10-20 10:47:43 -06:00
Rikrdoga ec4502ad00 Disable Load from gist and fix JSON in api.py (remove // Invalid) 2025-10-20 10:33:13 -06:00
Rikrdoga 302b552ed7 Add support for Dolby Atmos 2025-10-20 10:33:01 -06:00
Robert Honz 0afd65c89b 🌟 Version bumped to v0.30.0 2025-10-20 10:41:08 +02:00
Robert Honz 5c09b6594c fix(tox): 🐛 update Python version support in configuration
* Added support for Python 3.13 in the `tox` configuration.
* Updated `envlist` to include `py313` for testing.
2025-10-20 10:09:30 +02:00
Robert Honz aaca12cacc fix(gui): 🐛 improve album download action and update docstring
* Refactored the menu action for downloading the full album from a track.
* Enhanced the docstring for `on_download_album_from_track` to clarify its functionality and error handling.
2025-10-20 09:37:01 +02:00
exislowandGitHub 51556f1d80 Merge pull request #590 from Rikrdoga/feature/download-album-from-track
feat: Add 'Download Full Album' from track context menu
2025-10-20 09:26:22 +02:00
Robert Honz 8c361249ed fix(cfg): 🐛 update mark_explicit default value and improve help text
* Set default value of `mark_explicit` to `False`.
* Update help text to clarify that marking explicit tracks applies only to metadata.
2025-10-20 08:20:20 +02:00
exislowandGitHub 307ea1bd6d Merge pull request #600 from truubo/597-optional-explicit-symbol-in-track-title
feat(metadata): Toggle explicit symbol in track titles
2025-10-20 08:17:52 +02:00
Robert Honz ffbd7849a1 fix(download): 🐛 handle missing st_birthtime attribute in track sorting
* Updated the sorting method for track paths to check for the presence of `st_birthtime`.
* If `st_birthtime` is not available, fallback to using `st_ctime` for sorting.
2025-10-20 08:12:34 +02:00
exislowandGitHub a4c36ff6f5 Merge pull request #601 from exislow:sort-by-birthtime
fix(download): 🐛 update sorting method for track paths
2025-10-20 08:06:56 +02:00
Robert Honz 2b932e84b4 fix(download): 🐛 update sorting method for track paths
* Changed sorting method from `os.path.getctime` to `x.stat().st_birthtime` for better accuracy in track creation time.
* This improves the reliability of track order when not dealing with albums.
2025-10-20 08:06:25 +02:00
Trubo 0176892a3b Quick help text change 2025-10-19 18:28:18 -05:00
Trubo 2402550884 Add a checkbox to settings that toggles the explicit symbol in track titles 2025-10-19 18:16:19 -05:00
Winman486 90ff7ea52e feat(gui): add rate limiting to Download All Albums feature - Process 20 albums at a time with 3-second delays - Add session validity checks to prevent OAuth errors - Handle unavailable albums gracefully - Add informative logging for rate limiting progress 2025-10-17 23:40:31 -05:00
Winman486 ac3bf51c56 feat(gui): add 'Download Full Album', 'Download All Albums', and 'Single album folder (primary artist)' preference 2025-10-17 15:17:02 -05:00
Rikrdoga 9321ac03da feat: Add 'Download Full Album' from track context menu 2025-10-17 14:05:48 -06:00
Robert Honz 61cc05788b 🌟 Version bumped to v0.29.0 2025-10-17 15:49:21 +02:00
Robert Honz c2e451bb39 fix(metadata): 🐛 update license information in pyproject.toml
* Added `license` and `license-files` fields to ensure proper licensing information is included.
* Removed outdated classifier for license to maintain accuracy.
2025-10-17 15:48:48 +02:00
exislowandGitHub 4f01f605e4 Merge pull request #589 from exislow:486-explicit-tagging
feat(metadata): ✨ add explicit track metadata handling
2025-10-17 15:41:10 +02:00
Robert Honz c8cb43adf7 feat(metadata): ✨ add explicit track metadata handling
* Introduced `METADATA_EXPLICIT` constant for explicit track indication.
* Updated `Download` class to append explicit metadata to track titles.
2025-10-17 15:40:28 +02:00
Robert Honz 07494eddf3 feat(metadata): ✨ add support for explicit track metadata
* Added `explicit` attribute to the `Metadata` class.
* Updated the constructor to initialize `explicit` with a default value of `False`.
* Modified the metadata saving process to include explicit rating in tags.
2025-10-17 15:26:48 +02:00
Robert Honz 3d5b52209e fix(path): 🐛 add **kwargs support to formatting functions
* Updated multiple formatting functions to accept **kwargs for better flexibility.
* Ensures consistent handling of additional parameters across artist, title, name, number, date, metadata, and volume formatting.
2025-10-17 15:05:19 +02:00
exislowandGitHub 72dd8fc598 Merge pull request #588 from exislow:483-possibility-to-add-lrc-into-unsyncedlyrics-tag
feat(metadata): ✨ add support for synced and unsynced lyrics
2025-10-17 14:44:08 +02:00
Robert Honz 676569e511 feat(metadata): ✨ add support for synced and unsynced lyrics
* Introduced `lyrics_synced` and `lyrics_unsynced` fields in the `Metadata` class.
* Updated the `Download` class to handle both synced and unsynced lyrics from the track.
* Enhanced metadata writing to include `UNSYNCEDLYRICS` in the tags.
2025-10-17 14:41:23 +02:00
exislowandGitHub f150b6ef6a Merge pull request #587 from exislow:515-should-upc-be-barcode-instead
feat(metadata): ✨ add UPC metadata handling and configuration
2025-10-17 13:47:13 +02:00
Robert Honz a2e637e89c feat(metadata): ✨ add UPC metadata handling and configuration
* Introduced `MetadataTargetUPC` enum for target metadata tags.
* Added `METADATA_LOOKUP_UPC` dictionary for mapping file formats to UPC tags.
* Updated `Metadata` class to include `target_upc` for dynamic UPC tag assignment.
* Enhanced `Settings` class to allow configuration of `metadata_target_upc`.
2025-10-17 13:46:47 +02:00
exislowandGitHub e8bf12747f Merge pull request #586 from exislow:playlist_sort
feat(path): ✨ add customizable delimiters for artist names in file paths
2025-10-17 13:13:40 +02:00
Robert Honz dd5a402dce feat(path): ✨ add customizable delimiters for artist names in file paths
* Updated `format_path_media` and related functions to accept customizable delimiters for artist names.
* Modified `Settings` class to include `filename_delimiter_artist` and `filename_delimiter_album_artist`.
* Enhanced `name_builder_artist` and `name_builder_album_artist` functions to utilize the new delimiters.
2025-10-17 13:13:19 +02:00
exislowandGitHub feebdda62f Merge pull request #585 from exislow:568-delimiter-to-semicolon-pls-add-option-to-change-to-whatever-the-user-wants
feat(metadata): ✨ add customizable metadata delimiters for artists
2025-10-17 12:10:42 +02:00
Robert Honz 5da1855028 feat(metadata): ✨ add customizable metadata delimiters for artists
* Introduced `metadata_delimiter_artist` and `metadata_delimiter_album_artist` settings.
* Updated `name_builder_artist` and `name_builder_album_artist` functions to utilize the new delimiters.
* This allows users to specify their preferred delimiter for artist names in metadata.
2025-10-17 12:06:25 +02:00
exislowandGitHub 8ebb84bf2e Merge pull request #584 from exislow:561-queue-button-should-indicate-the-action-that-will-occur-when-clicked-currently-it-shows-present-state
Queue button should indicate the action that will occur when clicked — currently it shows present state
2025-10-17 11:56:46 +02:00
Robert Honz 2594232cb9 Queue button should indicate the action that will occur when clicked — currently it shows present state
Fixes #561
2025-10-17 11:55:39 +02:00
Robert Honz 2f77ff59fa fix(Tidal): 🐛 handle all exceptions during token login
* Updated exception handling in the `login` method to catch all exceptions instead of just `HTTPError` and `JSONDecodeError`.
* This change ensures that any unexpected errors during the login process are handled gracefully, improving the robustness of the application.
2025-10-17 11:01:23 +02:00
Robert Honz 4fbc4404f8 🌟 Version bumped to v0.28.0 2025-10-15 23:10:38 +02:00
exislowandGitHub 04954eaf07 Merge pull request #577 from exislow:576-app-currently-does-not-work-tidal-auth-data-invalid
fix(dependencies): 🐛 update `tidalapi` version to 0.8.8
2025-10-15 23:09:02 +02:00
Robert Honz 6337b75e4b fix(dependencies): 🐛 update tidalapi version to 0.8.8
* Updated `tidalapi` from version `0.8.7` to `0.8.8` in `pyproject.toml`.
* Updated package version in `poetry.lock` to reflect the change.
* Added new file hashes for the updated version.
2025-10-15 23:07:14 +02:00
Robert Honz a61234b055 chore(dependencies): update dependencies to latest versions
- requests from 2.32.4 to 2.32.5
- rich from 14.1.0 to 14.2.0
- typer from 0.16.0 to 0.19.2
- tidalapi from 0.8.5 to 0.8.7
- pytest from 8.4.1 to 8.4.2
- mypy from 1.17.1 to 1.18.1
- tox from 4.28.4 to 4.31.0
- pyupgrade from 3.20.0 to 3.21.0
- isort from 6.0.1 to 7.0.0
- pylint from 3.3.8 to 4.0.1
- pillow from 11.3.0 to 12.0.0
- pytest-cov from 6.2.1 to 7.0.0
- black from 25.1.0 to 25.9.0
- nuitka from 2.7.11 to latest
2025-10-15 22:19:01 +02:00
Robert Honz 882e583dbd 🌟 Version bumped to v0.27.0 2025-10-06 14:14:05 +02:00
Robert Honz 10508218d1 fix(workflow): 🐛 update macOS target version in build matrix
* Changed macOS target from `macos-13` to `macos-15-intel` for improved compatibility.
2025-10-06 13:41:49 +02:00
exislowandGitHub 3c9ba3fc30 Merge pull request #563 from exislow/437-album-with-zero-tracks-causes-hang
fix(download): 🐛 handle empty items list in download process
2025-10-06 13:37:14 +02:00
Robert Honz 768ca6db9c fix(download): 🐛 handle empty items list in download process
* Added a check for empty `items` list to mark progress as complete.
* Ensured GUI updates correctly reflect progress for empty downloads.
2025-10-06 13:36:29 +02:00
Robert Honz a35a89a823 docs: 📝 add note about terminal flashing issue on Windows
* Added a section addressing the terminal flashing issue when running the app on Windows.
* Provided a link to issue #103 for further details.
* Explained that this occurs due to the Python `ffmpeg` library when `extract_flac` is activated.
2025-10-06 12:55:49 +02:00
Robert Honz de8076594c fix(cfg): 🐛 set metadata_replay_gain to false
* Updated the `metadata_replay_gain` setting in `Settings` class to `False`.
* This change disables replay gain metadata processing by default.
2025-10-06 12:37:12 +02:00
Robert Honz d4ffefa113 docs: 📝 add installation instructions for libxcb-cursor0 on Ubuntu
* Added a section in the README.md to guide users on installing the `libxcb-cursor0` dependency for Linux systems, specifically Ubuntu and Debian.
2025-10-06 12:28:54 +02:00
Robert Honz 49fd7a100f fix(gui): 🐛 adjust MainWindow initialization and clean up close event method
* Added a missing line in the `MainWindow` constructor to ensure proper settings initialization.
* Removed unnecessary blank line in the `closeEvent` method for cleaner code.
2025-09-30 22:43:22 +02:00
exislowandGitHub 0d6381ab6e Merge pull request #517 from joshuacant/master
Adds: window size/position saving, dynamic column widths, double-click row action
2025-09-30 22:40:54 +02:00
Robert Honz 099d1ee91d fix(metadata): 🐛 improve metadata retrieval and error handling
* Changed type hint for `paths` from `[Path]` to `list[Path]`.
* Simplified the check for `pyproject.toml` existence.
* Enhanced error handling in metadata retrieval with specific exceptions.
* Updated the `update_available` function signature for clarity.
2025-09-30 22:34:53 +02:00
exislowandGitHub 723417b9bb Merge pull request #537 from iCrazeiOS/master
Fix edge case with repository_url parsing
2025-09-30 22:28:32 +02:00