Releases: RicknotDev/lrc-tools
Releases · RicknotDev/lrc-tools
Release list
v0.4.0 - Windows fixes + macOS full support
What's New
macOS (Intel + Apple Silicon)
- Visualizer auto-detects Music.app, Spotify, VLC via AppleScript (no playerctl needed)
music_dir_candidates()now includes~/Music/iTunes,~/Music/Music,~/Music/Spotify- Install deps:
brew install ffmpeg mpv
Windows
- PATH fix:
install.ps1auto-adds Python Scripts dir to user PATH - spotdl fix: catches FileNotFoundError gracefully when not installed
- spotdl path:
find_command()searches all Python Scripts directories - UTF-8 encoding: stdout/stderr forced to utf-8 with errors=replace
- Friendly error: shows "spotdl no encontrado — la descarga falló" instead of crash
Fixes
command_exists()now searchessysconfig.get_path('scripts')and~/AppData/Roaming/Python/*/Scriptson Windowsspotdl_cmd()uses full resolved path viafind_command()- Package hints show
brewon macOS,pacmanon Linux only
Installation
pip install lrc-tools==0.4.0Full Changelog
2c75ba2 feat: macOS full compatibility + audit fixes
6109ca8 fix: force UTF-8 encoding on Windows to prevent UnicodeEncodeError
c65a4a6 fix: find commands in Python Scripts dirs on Windows
1844e95 fix: show friendly error when spotdl not found
73fb53d fix: Windows PATH + spotdl crash handling
v0.3.0
Added
parser.py:validate_lrc(),repair_lrc(),offset_timestamps(),merge_lrc(),split_lrc(),parse_metadata()exporters.py: export LRC to SRT (subtitles) and JSONimporters.py: import SRT and JSON back to LRCcore.py:backup_file()helper with auto-backup before overwrite insave_lyrics()- CLI:
--dry-runflag forlrc-fetch - CLI:
richprogress bars, colored output, elegant error handling (rich.traceback) - CLI:
--helpwith usage examples for all entry points - TUI: refactored from 1002-line monolith to 8 screen files + 2 widget files
- Tests: 69 new tests (
test_parser,test_exporters,test_splitter,test_puller,test_cli,test_utils) - GitHub: lint workflow (ruff + mypy + bandit), issue/PR templates
- Community:
CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md
Changed
rich>=13.0promoted to base dependencysave_lyrics()now creates.bakbefore overwriting existing files; skips backup if content unchanged- Version bumped to 0.3.0
Fixed
prompt_threads():if default:->if default is not None:(broke--search-threads 0)display.pyrender_block_text(): non-ASCII characters (é, ñ, ü) now render as base lettersfonts.py: addedFALLBACK_CHARSmap for accented character supportconfig.py: guardedimport yamlwith try/except for missing PyYAML- Cross-platform: 15 issues fixed across audio_player, player, display, install scripts, Makefile
lrc-tools v 1.5
lrc-tools v 1.0.0
Full Changelog: https://github.com/RicknotDev/lrc-tools/commits/lyrics