Nuovo modulo core.dedup per rilevare brani audio duplicati usando Chromaprint (fpcalc): scan cartella (opzionalmente ricorsivo), fingerprint acustico via fpcalc -json, cache SQLite in _get_config_dir()/dedup_cache.db per non ricalcolare al re-scan, raggruppamento per fingerprint identico + ordering per bitrate DESC. move_to_trash() usa send2trash (reversibile via Finder/Explorer). - core/paths.py: find_fpcalc() con fallback dev su project bundle_bin - core/dedup.py: scan_folder, compute_fingerprint, move_to_trash - tests/test_dedup.py: 9 unit test (mock fpcalc + send2trash) - requirements.txt: send2trash>=1.8.0 - build_macos.py: download fpcalc universal binary da GitHub releases - build_windows.py: download fpcalc.exe da GitHub releases
20 lines
524 B
Plaintext
20 lines
524 B
Plaintext
pywebview>=5.0
|
|
requests>=2.31.0
|
|
certifi>=2024.0.0
|
|
yt-dlp>=2024.0.0
|
|
mutagen>=1.47.0
|
|
pyobjc-core>=10.0 ; sys_platform == "darwin"
|
|
pyobjc-framework-Cocoa>=10.0 ; sys_platform == "darwin"
|
|
pyobjc-framework-WebKit>=10.0 ; sys_platform == "darwin"
|
|
pyobjc-framework-AVFoundation>=10.0 ; sys_platform == "darwin"
|
|
pythonnet==3.0.5 ; sys_platform == "win32"
|
|
clr-loader==0.2.7.post0 ; sys_platform == "win32"
|
|
curl_cffi>=0.9.0
|
|
beautifulsoup4>=4.12.0
|
|
send2trash>=1.8.0
|
|
|
|
# --- dev only ---
|
|
pytest>=8.0.0
|
|
responses>=0.25.0
|
|
freezegun>=1.4.0
|