Pymusiclooper

Latest version: v3.5.1

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

3.2.4

Fixed

- Output directory is created only when needed for PyMusicLooper exports, instead of pre-emptively.
- The absolute path of the export file/directory is now always returned, even if the provided output directory is relative, for clarity.

3.2.3

Fixed

- Import `taglib` only when required, isolating `taglib` ImportErrors to the affected functions only, instead of blocking the use of the entire library.

3.2.2

Fixed

- Fixed `pymusiclooper --version` reporting v3.1.0 instead of the actual package version; affects versions 3.2.0 and 3.2.1

3.2.1

Changed

- When successful, the `extend` command now displays the file path of the extended audio file to the user instead of the output directory

Fixed

- Fixed initial loops' output from the `extend` command being affected by the fade out parameter
- Fixed minutes/seconds rounding issues with the `extend` command file naming scheme

3.2.0

Added

- New command: `extend`. Export a longer, extended version of an audio track by looping it seamlessly to the desired length.
- Additional option in `export-points`: `--alt-export-top N`. Can be used to return the N top loop points; provides the same output as in interactive mode but without the table formatting. `--alt-export-top -1` to export all.
- Added CLI_README.md for a basic CLI overview/reference

Changed

- Playback progress bar now updates faster for smoother transitions
- Skip beat analysis if `--brute-force` is enabled, for slightly faster runtime
- Simplified many internal interfaces and added type hints and documentation to most core functions
- Lazy load yt_dlp and sounddevice so that they are only imported when needed
- Updated many core dependencies, including yt-dlp to their latest version
- Improve `--debug` option with better exception debug output
- Lowered the minimum supported Python version to 3.8, since it is already compatible
- Enabled initial Python 3.12 support

Fixed

- Fixed zero crossing algorithm offset potentially being out-of-bounds in very rare cases

3.1.0

Added

- Playback progress bar showing current playback progress and time

Changed

- Candidate pruning now activates if there are 100 or more initial pairs, instead of 250 as in the previous version

Fixed

- Loudness and note difference threshold incorrectly swapped in candidate pair pruning

Page 2 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.