Tolgo dal tracking i file di playlist personali presenti nel
working tree fin dai primi commit:
- Beatport Top 100 Melodic House & Techno.txt
- PlayList_2026.txt
- PlayList_da_scaricare.txt
- Vibes_List.txt
Aggiunti i pattern al .gitignore cosi' non rientrano per sbaglio.
I file rimangono sul disco locale (git rm --cached, non -rf).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- main.py: titolo finestra pywebview -> 'MusicTools'
- core/config.py: APP_NAME='MusicTools', cartella config bundled
ora ~/Library/Application Support/MusicTools/ e %APPDATA%/MusicTools/.
Migrazione one-shot: se non esiste la nuova ma esiste la legacy
'MusicDownload', il config.json viene copiato cosi' le impostazioni
non vanno perse dopo l'aggiornamento
- core/recorder.py: messaggio errore permesso microfono
- api/bridge.py: User-Agent update check + guida Spotify menzionano
MusicTools
- build_macos.py / build_windows.py / .github/workflows/build.yml:
prodotti rinominati (MusicTools.app, MusicTools.exe,
MusicTools-macOS.zip, MusicTools-Windows.zip, Release 'Build MusicTools')
- webui: <title>, brand-name sidebar, intestazioni commenti
- README: tutti i riferimenti aggiornati + nota che il repo Git
conserva il nome storico 'musicdownload' (URL stabili per
release gia' pubblicate)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Aggiunto toggle Video/Solo audio nella tab Video. In modalita audio
yt-dlp scarica solo bestaudio ed estrae in MP3 al bitrate impostato
in Impostazioni (default 320 kbps), con embed thumbnail come la tab
Scarica.
- core/downloader.py: download_video() accetta audio_only e
audio_bitrate; quando True usa format 'bestaudio/best' e
--extract-audio --audio-format mp3
- api/bridge.py: start_video_download passa audio_only nel worker;
log mostra 'Solo audio MP3 320K' vs 'Video 1080p'
- webui: segmented control 'Video (MP4)' / 'Solo audio (MP3)' rosa,
selettore qualita nascosto in modalita audio, hint aggiornato
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- README: sezione 'Guida rapida' riscritta con installazione,
permesso microfono macOS, Setup A (output dedicato a BlackHole)
e Setup B (Multi-Output Device con BlackHole + altoparlanti,
Master Device + Drift Correction). Aggiunta tabella
Troubleshooting (5 sintomi tipici con fix)
- webui: hint nella tab Registra arricchito (riassunto a step
inline + link al README su GitHub via window open)
- CSS: .hint passa a align-items flex-start per contenuto
multi-riga, aggiunti stili per <code> e <a> dentro l'hint
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Il vecchio worker non drenava lo stderr di ffmpeg: dopo ~64KB il
pipe si bloccava e quando ffmpeg falliva subito (es. permesso
microfono negato su macOS) si vedeva solo 'ffmpeg exit -6' senza
contesto.
- Thread dedicato _drain_stderr() che legge stderr in continuo e
mantiene le ultime 50 righe in un buffer protetto
- _extract_friendly_error() riconosce i casi tipici e produce
messaggi italiani:
* exit -6 su macOS -> 'permesso Microfono mancante'
* Input/Output error -> 'dispositivo non disponibile'
* 'no such device' -> 'premere Aggiorna'
- Pre-flight check: aspetta che ffmpeg stampi 'Press [q]' (segnale
di device aperto) prima di emettere 'started'. Se ffmpeg muore
prima, l'errore viene segnalato senza falso 'recording in corso'
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Tabella riepilogativa delle 6 tab dell'app (Scarica, Video,
Upgrade, Metadati, Registra, Impostazioni) con descrizione
breve di ciascuna feature
- Sezione 'Auto-skip dei duplicati' e 'Sottocartella automatica
per le tracklist' (feature aggiunte in v1.2.x)
- Aggiunta 'mutagen' nelle dipendenze principali
- Nuova sezione 'Guida rapida: registrazione audio di sistema
(macOS)' con istruzioni complete per installare BlackHole
e creare un Multi-Output Device per sentire e registrare
contemporaneamente
- Struttura progetto: aggiunti core/metadata.py e core/recorder.py
- Esempio tag nel paragrafo 'Build & Release' bumpato a v1.3.0
- Nota sull'aggiornamento app: ricorda il vincolo del repo pubblico
per far funzionare l'API GitHub Releases
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>