JukeBox: share, NAS, e il tablet che si addormenta
11/09/2026 - censimento in SOLA LETTURA. Non e' stato toccato niente.
1. Il tablet (ascolto lungo di stamattina, sigla qtzt)
Quattro blocchi in un'ora, tutti uguali:
| blocco | silenzio | ripartita quando |
| 09:16 -> 09:22 | ~6 min | sblocco col PIN |
| 09:39 | ~1 min | sblocco |
| 09:45 -> 09:46 | ~1 min | sblocco |
| 09:54 -> 10:10 | ~16 min | sblocco |
Sempre al CAMBIO BRANO, scheda nascosta, brano gia' tutto in tasca
(bufferato = durata piena, pronto=4) e fermo a t=0. Ogni volta
e' ripartito da solo ([riprendo]) appena vitti ha sbloccato.
La tasca fa il suo lavoro; a bloccarsi e' Android: a schermo spento
lascia vivo il lettore ma non gli lascia avviare il brano DOPO.
Le tre strade:
a) Ce lo teniamo cosi'. Riparte quando lo guardi. Zero lavoro.
b) Schermo sempre acceso mentre suona (navigator.wakeLock).
Una decina di righe. Il tablet non si blocca piu' -> niente
congelamento. Costo: batteria, e lo schermo acceso in tasca prende
i tocchi.
c) IL NASTRO (proposta mia). Il server incolla la coda in UN file
solo (ffmpeg, come una cassetta) e il tablet la mette in tasca intera.
Un solo play() all'inizio: a meta' non ci sono piu' cambi di brano,
quindi non c'e' niente che Android possa impedire. Avanti/indietro
diventano un salto di posizione nel nastro; il titolo lo si ricava dal
secondo in cui si e'. Costo: un'attesa per preparare il nastro, e una
coda cambiata vuol dire un nastro nuovo.
E' l'unica delle tre che risolve davvero a schermo spento.
2. Lo share come terzo scaffale
Oggi nello share ci sono 15 brani:
- cartella 14: 14 canti ucraini (m4a), fra cui uno da 2 ore
(121 MB, colinde di Natale);
- cartella 4:
Se_vuol_ballare_signor_Contino_Pisaroni.mp3.
Come si fa:
- lo scaffale "Share" legge l'albero di
share_dirs/share_files
(i nomi veri delle cartelle e dei file, non quelli su disco) e mostra
solo le cartelle che contengono musica;
- solo per i loggati: lo share e'
auth:required, il JukeBox e'
pubblico. Un ospite non vede lo scaffale.
- serve un piccolo passaggio che serva il brano da ASCOLTARE:
download.php lo manda come allegato, senza Range e con no-store,
cioe' non si puo' saltare dentro il brano ne' metterlo in tasca.
Proposta: controllo in PHP + X-Accel-Redirect a una `location
internal` di nginx (il file lo spedisce nginx, con i Range, e l'accesso
resta sotto la guardia).
- lo stesso passaggio serve anche al NAS (punto 3): si scrive una volta.
3. Il NAS come quarto scaffale
/volume1/music = 26 GB, 2.437 brani (2.010 mp3 + 427 m4a),
~170 cartelle, quasi tutte per artista.
3.1 Prima di tutto: il manG3 non ci arriva
L'utente SMB del backup riceve ACCESS_DENIED sulla share music.
Servono due gesti della mano di vitti:
1. nel DSM: un utente in SOLA LETTURA su music (o il permesso di
lettura all'utente backup che c'e' gia');
2. una riga in /etc/fstab (sudo), gemella di quella di nas_backups,
in sola lettura e con automount: /mnt/nas_music.
Se il NAS e' spento lo scaffale dice "non raggiungibile" e basta.
3.2 Pubblico o no?
Proposta: solo loggati, come lo share. E' la tua collezione, e
mandarla in giro dal dominio pubblico non e' il caso.
3.3 Il casino (quello che ho trovato)
Roba che non e' musica (da spostare fuori, non da cancellare):
| cosa | peso |
da incoming/ Porco Rosso .mkv | 4,7 GB |
da incoming/ Gazza Ladra (Scala) .mkv | 4,0 GB |
da incoming/ Elisir d'Amore 1967 .avi | 1,4 GB |
Movies/ concerti U2/Springsteen + 18 filmati P1000*.MOV | 909 MB |
da incoming/ 3 epub + 1 pdf (Project Hail Mary, Artemis, Skyward, Algernon) | poco |
Home Videos/ | 27 MB |
Totale: ~11 GB su 26.
📌 CORRETTO l'11/09: i 143 .mp4 di Martha Argerich*, Fantasie,
Fantasiestucke, Haydn, Shostakovich NON sono video: ffprobe dice
aac,audio + mjpeg (la copertina). Sono MUSICA e restano dove sono;
lo scaffale NAS deve accettare anche .mp4 (solo se dentro c'e' audio).
File dubbi nella radice:
Giorgio Gaber - 1974 - Anche Per Oggi Non Si Vola.rar(228 MB):
archivio mai aperto -> si scompatta in Giorgio Gaber/;
[MUSIC] Gaber 1976 - Liberta Obbligatoria.rar.mp3(116 MB):
sospetto un .rar col nome sbagliato, da guardare dentro;
congedo 100'.wav(212 MB) accanto acongedo 100'.mp3(19 MB):
stessa registrazione, il wav e' il doppione pesante;
cartella senza nome,cartella senza nome 2,Podcast: vuote.
Artisti doppi (da fondere):
Battiato Franco+Franco BattiatoBattisti Lucio+Lucio BattistiCompilation+CompilationsMartha Argerich+Martha Argerich I+ `Martha Argerich,
Orchestre... + Martha Argerich, Piano_ Berliner...`
Natalino Otto+Natalino Otto & Trio AuroraBeethoven+Ludwig van Beethoven, composer. Seattle Symphony...- (forse)
Patti Smith+Patti Smith Group
Refusi nei nomi:
Caludio Abbado -> Claudio Abbado, Caudio Baglioni -> Claudio
Baglioni, Micheal Jackson -> Michael Jackson, Simon & Gurfunkel ->
Simon & Garfunkel, DEEP PURPLE -> Deep Purple, Schumann R_ ->
Robert Schumann. E i "Cognome Nome" (Aleotti Andrea, Benson George,
Stern Mike) -> "Nome Cognome" come tutti gli altri.
Doppioni veri (stesso nome e stessa dimensione): 49 gruppi,
156 MB. Quasi tutti fra Artista sconosciuto e Bruce Bollerud (33).
Artista sconosciuto (61 brani) si puo' smistare leggendo i tag
dentro gli mp3.
da incoming/: 17 brani, fra cui **SETTE versioni di California
Dreaming** (Mamas & Papas, Beach Boys, America, ABBA, Bobby Womack,
Jose Feliciano, REM). Idea: una cartella tutta sua.
Gli altri (Silvestri, Modugno, Vanoni, Gabriella Ferri, Milva, Baccini,
Vasco) ognuno al suo artista.
Che il browser non suona:
- 71
.wma(inMusica Varia): si convertono in mp3 con ffmpeg; - 12
.m4p: iTunes con la protezione, non recuperabili; - lo scaffale li salta da solo, non rompono niente.
Spazzatura del Synology/Mac: 228 @eaDir, 32 .DS_Store,
6 Thumbs.db. Lo scaffale le ignora; toglierle e' facoltativo.
3.4 Come si mette in ordine (il metodo)
1. Niente si cancella. Si SPOSTA: il non-musica in
/volume1/music/_fuori_musica/, i dubbi in _da_guardare/.
Cancellare, se mai, alla fine e con il tuo si' voce per voce.
2. Un passo per volta, ognuno con l'elenco prima e il conto dopo:
a) fuori il non-musica (libera ~12,6 GB dalla musica);
b) fondere gli artisti doppi e correggere i refusi;
c) smistare da incoming e Artista sconosciuto;
d) i doppioni veri;
e) wma -> mp3.
3. Dopo il passo (a) si puo' gia' accendere lo scaffale: il resto
dell'ordine si vede crescere dal JukeBox.
Le decisioni di vitti (11/09)
1. Il tablet: a) ce lo teniamo cosi'.
2. Scaffali NAS e share: solo per chi e' loggato.
3. Passo 3.4 (a): si', ma *"dove la metti?"* -> destinazioni proposte,
tutte sullo stesso disco del NAS (spostare = rinominare, istantaneo):
| cosa | dove |
| Porco Rosso .mkv | video/3 Movies/ |
| Gazza Ladra .mkv, Elisir .avi | video/Opere/ |
Movies/ concerti (U2, Springsteen, Guns N' Roses, Marillion) | video/Concerti/ (nuova) |
Movies/ P1000*.MOV, Berlino e Potsdam, Home Videos/ | video/Filmati di casa/ (nuova) |
| 3 epub + 1 pdf | homes/vitti/Libri/ |
| i due Gaber .rar | music/_da_guardare/ |
Lo scaffale ignora le cartelle che cominciano con _.
4. I due gesti per il NAS (utente in lettura nel DSM + fstab): da fare.
✅ 11/09 - Passo (a) FATTO (48 spostamenti, zero errori)
Tutto come in tabella, con una variante: il Rachmaninoff di Home Videos
e' un VIDEO (h264, 25 min) di un concerto -> video/Concerti/.
music/Movies e music/Home Videos rimaste vuote -> tolte.
music da 26 GB a 15 GB. Elenco riga per riga:
lab/docs/NAS_music_spostamenti_20260911.txt (copiato qui sotto
se serve tornare indietro: ogni riga e' sorgente -> destinazione).
Restano in da incoming/ solo i 17 mp3 (le 7 California Dreaming & C.).
✅ 11/09 - I TITOLI DEI BRANI: 220 rinominati dai tag
vitti: *"metti a posto anche i titoli dei brani gia' che ci sei"*.
- Tag letti SUL NAS con uno script Python in sola lettura (ID3v2, ID3v1,
atomi mp4): 2.578 brani, 99 senza nessun tag.
- Rinominati solo i nomi SBAGLIATI, e solo se il tag dice di meglio:
27 "Track NN" (Agricantus, Bjork), 125 troncati da iTunes (Argerich:
"Poco All 1" -> "IV. Poco Allegretto"), 63 con _ al posto di un
apostrofo o di un :, 5 nomi 8.3 di Michael Jackson.
- Regole: il numero di traccia del NOME vince su quello del tag (non
sempre coincidono); apostrofi tipografici -> dritti; * ? : / fuori;
se il tag e' piu' povero del nome (ch_el -> chel) si lascia.
- 7 collisioni lasciate stare: in `Martha Argerich/Chopin Piano Nr 1_
Liszt...` il nome lungo ESISTE GIA' accanto al troncato = doppioni
(passo d).
- Registro per tornare indietro:
lab/docs/NAS_music_rinomine_20260911.tsv
(OK <vecchio> <nuovo>).
- ⏳ Restano 259 "Track NN" SENZA tag (Artista sconosciuto 36, Bruce
Bollerud 33, This Mortal Coil/Blood 21, U2/All That You Can't Leave
Behind 9, Marvin Gaye/What's going on 8...). L'album pero' e' nel nome
della cartella: la scaletta si puo' chiedere a MusicBrainz.
✅ 11/09 - MUSICBRAINZ: 107 "Track NN" hanno il loro titolo
Metodo: per ogni cartella si chiede a MusicBrainz il disco (artista =
cartella sopra, disco = cartella; corretti a mano i nomi storti: "HU MANBE
IN G" = Seal *Human Being*, "Loup Garou/Willy DeVille" rovesciato, "thorn"
= Natalie Imbruglia *Left of the Middle*). Fra i candidati vince il disco
dove le DURATE combaciano (+-4 s): si rinomina solo il brano che
combacia. Niente fiducia sul nome del disco da solo.
Presi: This Mortal Coil *Blood* 21/21, Loup Garou 13/13, James Taylor
Quartet 13/13, Seal 12/12, George Benson 10/10, Mike Stern 10/10, U2 9/9,
Marvin Gaye 8/8, Natalie Imbruglia 9/12, Eagles "Track 9" = *The Last
Resort*, Pat Metheny 1/1. Il Pearl Jam "06 Untitled" si chiama DAVVERO
cosi' (Live on Two Legs): lasciato.
Registro: lab/docs/NAS_music_rinomine_musicbrainz_20260911.tsv.
⏳ Ne restano ~151 senza titolo: Artista sconosciuto 36, Bruce
Bollerud 33 (MusicBrainz non ha il disco), Daniele Pino 17, Duke Ellington
*I Capolavori* 13 (raccolta italiana, non trovata), Colonne Sonore *Blow*
13 e *The Duet* 12, Al di Meola *Raccolta* 11, Fusion 10, Simple Minds 2,
Natalie Imbruglia 3, I Gufi 1. Per quelli senza informazioni servirebbe
l'impronta audio (AcoustID: chiave gratuita da registrare).
✅ 11/09 - Passo (b): ARTISTI DOPPI E REFUSI
Script Python sul NAS, regola: mai sovrascrivere. Un file che c'e'
gia' nella destinazione va in _da_guardare/doppioni (se l'md5 e' uguale)
o in _da_guardare/conflitti (se diverso). 89 spostamenti, 26 cartelle
vuote tolte, 2 doppioni (Jeeg Robot di Fogus, il wav del congedo), 1
"conflitto" = un .DS_Store. Registro: lab/docs/NAS_music_fusioni_20260911.tsv.
- Fusi: Battiato, Battisti, Compilation(s), le 4 Martha Argerich, Natalino
Otto, Beethoven (-> Ludwig van Beethoven), Patti Smith (+Group),
Simple Minds (-> Simple Minds/Greatest Hits), `iTunes Music/Nanni
Svampa -> Nanni Svampa, Nanni Svampa e i Gufi` al primo livello.
- I 4 dischi di Argerich finiti al primo livello col nome del BRANO
(Fantasie, op.17, Fantasiestucke, op. 12, Haydn, Shostakovich)
-> dentro Martha Argerich/ come album (Schumann - Fantasie op.17,
Schumann - Fantasiestücke op.12, `Haydn & Shostakovich - Piano
Concertos (Faerber)`).
- Refusi: Claudio Abbado, Claudio Baglioni, Michael Jackson, Simon &
Garfunkel, Deep Purple, Robert Schumann, Andrea Aleotti, George Benson,
Mike Stern, Queen, Dream Theater, Sinéad O'Connor, Bud Spencer & Terence
Hill, Francesco De Gregori, Fabrizio De André, Marc Seales, Sviatoslav
Richter.
Compilations+Compilation: NON erano doppioni - ognuna aveva brani
diversi degli stessi 4 dischi, fondendole ogni disco si e' completato.
E non erano compilation: i tag dicono Laura Pausini *Io Canto*,
Elisa *Lotus*, PJ Harvey *Stories From The City...*, **Vasco
Rossi** *Tracks [Live]*, + *Mio cuggino* di Elio -> ognuno dal suo
artista. Compilation rimasta col solo .DS_Store -> _da_guardare/.
Loup Garou/Willy DeVille(rovesciato) ->Willy DeVille/Loup Garou.Podcast(vuota) tolta. Cartelle con soli.DS_Store/plist di iTunes
(Fantasiestucke, op. 12, iTunes Music, Compilation) ->
_da_guardare/, non cancellate.
- Primo livello: 156 voci, una cartella per artista (+ `California
Dreaming (le cover), Colonne Sonore, Musica Varia, Artista
sconosciuto, da incoming, _da_guardare`).
✅ 11/09 - da incoming svuotata + i 71 wma
- I 7 rimasti ognuno dal suo artista:
Milva/Addio Lugano bella (1965),
Daniele Silvestri/A bocca chiusa, Ornella Vanoni/Inizio, `Domenico
Modugno/Nel blu dipinto di blu (Volare), Francesco Baccini/Giulio
Andreotti, Gabriella Ferri/Vecchia Roma, Vasco Rossi/(Per quello che
ho da fare) Faccio il militare. da incoming` tolta.
- I 71
.wma(tutti inMusica Varia/bs20030629-1/: CD copiati con
Windows Media Player nel 2003, "Traccia N" in "Album sconosciuto") ->
convertiti in mp3 SUL manG3 (ffmpeg, lame VBR q2, tag conservati),
durata controllata brano per brano: 71/71 uguali. Rimessi accanto
con tar -k (mai sovrascrivere). Originali in
_da_guardare/wma_originali/. Restano i 12 .m4p di iTunes: protetti,
non si convertono.
✅ 11/09 - GLI SCAFFALI "SHARE" E "DISCOTECA (NAS)" - solo loggati
jb_scaffali(): gli scaffaliloggatispariscono per gli ospiti, anche
nella guardia dei percorsi (un brano chiesto a mano: 404).
jb_servi()spedisce i brani di share e NAS (niente alias nginx): login,
nome fra i brani veri, Range, sessione chiusa prima di spedire.
- Share: nomi dal DB, cestino escluso, niente .mp4 (documentari), nomi
ripuliti a video. ⚠️ Il lab legge vittrosviaggi_lab: il Pisaroni li'
non e' registrato (c'e' solo in prod), quindi non compare. DB non toccati.
- NAS:
/mnt/nas_musicin sola lettura (fstab), indice rifatto da
/home/vitti/scripts/jukebox_indice.sh (9 s) - la pagina non gira mai
il NAS. jukebox_indice.sh copertine estrae anche le copertine (lungo la
prima volta). Dopo aver cambiato cartelle sul NAS: rilanciarlo.
- Prove: da ospite niente share/NAS; da loggato share (16 brani, Range,
cirillico, opus), NAS (Argerich mp4 intero, Range, "Accoda tutto" su
cartelle del NAS = 22 brani giusti). A video: Mamas & Papas suona dal NAS.
- Ogni notte alle 05:10 (
/etc/cron.d/jukebox_indice, come root):
indice + copertine dei brani nuovi. Registro /var/log/jukebox_indice.log.
- Pisaroni registrato nel lab (
vittrosviaggi_lab.share_filesid 174,
copia della riga di prod): "Media vari" compare nello share del JukeBox.
- Mattonelle a tre quarti solo nel JukeBox (110px, immagine 86px, e
anche il riquadro della cartellina 📁 a 86px, se no righe storte):
erano la misura delle foto, troppo grandi per 495 album. 6 per riga.
- Copertine del NAS estratte in 7'51": 829 brani su 2.649 ne hanno una.
Dopo, la radice del NAS (160 artisti) risponde in 14 ms.
- Copertine degli album: 29 al primo giro (copertina dell'EDIZIONE) + 7 col
ripiego sulla copertina del DISCO (release-group): Nevermind, Sandinista!,
Hotel California, Around The Sun, Lolli, Lotus (x2). Nudo solo Nanni Svampa
*Concerto per Milano*: nel Cover Art Archive non c'e'.
- La lista dei brani mancanti:
lab/docs/NAS_album_da_completare.md
(https://mang3:8443/lab/docs/NAS_album_da_completare.md), 39 album.
✅ 11/09 - JukeBox: la cartella senza foto usa la copertina di un brano
Regola di vitti: *"solo se manca la copertina dell'album"*. Ordine in
jb_copertina_cartella(): 1) cover.* nella cartella, 2) la prima
immagine della cartella, 3) **la copertina incorporata in uno dei primi
tre brani**, 4) il glifo. Vale per tutti gli scaffali, quindi anche per
il NAS quando si accende: dei 204 album, 71 si vestono gia' cosi'.
Provato a video: Fazzoletti, Pancrazio e Orazio, Prosit Europeo vestiti;
Olimpiadi tiene la sua foto; Baltici aspetta la foto di Elena.
✅ 11/09 - Numeri di traccia dal tag: 78
754 brani senza numero davanti; 101 stavano in un album e avevano il
numero nel tag. Messo davanti (NN nome) a 78; saltati apposta 23:
8 in cartelle con album MISTI nei tag, 15 in cartelle con numeri
RIPETUTI (li' un numero sarebbe una bugia). Registro:
lab/docs/NAS_music_numeri_20260911.tsv.
Alan Parson Project -> The Alan Parsons Project (refuso trovato da
MusicBrainz, che col nome sbagliato non lo riconosceva).
✅ 11/09 - «California Dreaming (le cover)»
L'idea di vitti rimasta a meta' (*"poi Elena mi ha fatto correre!"*):
9 versioni in una cartella sua, nomi Artista - California Dreamin'.
- Mamas & Papas 1966, Beach Boys, America (live), Bobby Womack, Jose
Feliciano, R.E.M., Benny Benassi, Dik Dik - Sognando la California
(senza tag: il Dik Dik l'ho messo io, e' la versione italiana del '66).
- Beach Boys doppia (stessa durata 192 s, tag diversi) -> una in
_da_guardare/doppioni/.
- ⚠️ "ABBA": 159 s come la Mamas & Papas, peso quasi uguale -> quasi
certo la stessa col nome sbagliato. Nome: `ABBA (da ascoltare, forse
Mamas & Papas)`. Da sentire.
✅ 12/09/2026 - LE DUE RICHIESTE DI VITTI (e una scoperta)
1. La Discoteca (NAS) e' solo di casa
vitti: *"la cartella della musica sul NAS deve essere solo per i nostri
account, admin ed editor"*. L'11/09 lo scaffale era «solo per i loggati»,
ma sulla piattaforma ci sono 14 account e la maggior parte sono amici
(registrato, amico, amik_nat, l'Interprete): la collezione di casa
non e' roba loro.
JB_SCAFFALI['nas']ha adesso'ruoli' => ['admin', 'editor'], e
jb_scaffali() lo fa valere. Non e' un flag nuovo: e' la stessa forma
che usa gia' il manifest dei servizi, e basta un ruolo qualunque su un
servizio qualunque. Oggi passa per 7 account: vitti, Elena, i due
Kenobi, lella, marco, seneca.
- 🔑 La guardia e' UNA SOLA perche' tutto passa da
jb_scaffale():
l'albero, la griglia, jb_servi() (il brano) e la convalida delle
playing list. Non c'e' un secondo posto da ricordarsi.
- ⚠️ marco e' admin su vrv/vrn/vrs/vrw, quindi la vede. Se non deve,
si toglie a lui il ruolo, non si cambia la regola.
- Provato dal vivo con un utente usa-e-getta (poi cancellato):
da amico -> niente scaffale, scan di nas ricade sulla radice, e
un brano chiesto a mano risponde 404; promosso a editor ->
lo scaffale compare con 2.649 brani. Da ospite restano i due di sempre.
2. L'album si suona senza entrarci, e i bottoni dicono su cosa agiscono
vitti: *"quando ci sono molte cartelle, ad esempio una cartella per album,
sarebbe bello selezionare l'album per suonarlo subito, o aggiungere i
brani alla playing list; adesso c'e' un bottone «accoda tutto» ma non e'
chiaro se accoda tutto tutto o solo la cartella"*.
- Due tasti sulla mattonella-cartella:
▶suona subito tutto
l'album (dal suo primo brano, non dall'inizio della coda), + lo mette
in fondo alla coda senza interrompere niente. Sui brani il tasto resta
uno solo: li' il clic sulla mattonella accoda gia'.
🔑 Sulla super-radice i tasti NON ci sono: uno scaffale non e' un album,
e un dito non deve poter far partire 2.649 brani per sbaglio.
- I bottoni della barra si chiamano come la cartella aperta:
«▶ Accoda «The Eagles»», e sulla super-radice «▶ Accoda tutti gli
scaffali». Il nome lo danno le BRICIOLE, che il motore manda gia' a ogni
apertura (gancio @open): niente da chiedere al server.
braniDentro()e' il pezzo condiviso fra i tasti e i bottoni della
barra: ritorna una MAPPA cartella -> brani, cosi' l'ordine di quel che
si vede si mantiene anche quando la risposta del NAS arriva dopo (prima
i brani del NAS finivano tutti in fondo).
- Provato a video con Chrome headless:
+su Desperado = 11 brani in
coda, ▶ su Eagles = altri 10 e parte «01 Take It Easy» (t=3,7 s,
paused=false); + su una cartella di uno scaffale piccolo (Baltici)
= 14 brani, senza passare dal server.
🔴 3. LA SCOPERTA: l'elenco dei brani mancanti era SBAGLIATO
vitti ha scaricato 8 brani dell'elenco dell'11/09 e li ha messi in
/volume1/homes/SantUtto/Incoming. Sette su otto ce li aveva gia'.
| scaricato | in casa c'era gia' | durate |
| Guccini - La locomotiva | Radici/02 Locomotiva.m4a | 498,2 / 495,9 |
| Guccini - 100, Pennsylvania Avenue | Amerigo/03 00, Pennsylvania Ave..m4a | 394,8 / 394,7 |
| Bregovic - Underground Tango (.wma) | (1995) Underground OST/09 - Undeground Tango.mp3 | 311,1 / 312,9 |
| Pearl Jam - Fuckin' Up | Live On Two Legs [Live]/16 F_Ckin' Up.m4a | 377,6 / 377,6 |
| CCR - Night Time Is The Right Time | Revival Collection/12 Night Time Is The Right Time.m4a | 187,3 / 188,2 |
| Eagles - The Last Resort | Hotel California/09 The Last Resort.mp3 | 446,6 / 447,6 |
| Nirvana - Lounge Act | NEVERMIND/09 Lounge art.m4a | 156,6 / 156,8 |
| Neil Young - Are You Ready for the Country? | NON c'era davvero | - |
🔑 Perche' l'elenco mentiva: il censimento dell'11/09 confrontava i
TITOLI con MusicBrainz. Un file col nome storto - Lounge art per *Lounge
Act*, Undeground per *Underground*, 00, Pennsylvania per *100,
Pennsylvania* - risultava mancante pur stando li'. **La durata non ha
refusi**: e' lo stesso metodo che l'11/09 aveva funzionato per le rinomine,
e non era stato usato qui.
Fatto:
- il Neil Young (l'unico vero) messo in
Neil Young/Harvest/05 Are You Ready for the Country.mp3: **l'album e'
completo, 10 su 10**. Copiato con cp -n, niente sovrascritto;
- gli altri 7 lasciati in Incoming: sono doppioni, li cancella vitti se
vuole (niente si cancella da soli). Il Bregovic per giunta e' un .wma,
che il browser non suona;
- l'elenco rifatto per durata (
mancanti.py): vedi il foglio di
calcolo qui sotto.
✅ 12/09 - L'ELENCO RIFATTO PER DURATA: 43 brani, non 194
NAS_mancanti_per_durata_20260912.py. Ogni brano del disco cerca il suo file
di casa in tre prove, dalla piu' forte alla piu' debole, e un file vale per un
brano solo: titolo (uguale, poi contenuto), durata (+-4 s), **numero di
traccia** (solo gli avanzi). Tre accortezze imparate per strada:
- i dischi doppi spezzati in due cartelle (
Live - Disc 1/Disc 2) si
guardano insieme: da soli ognuno "perdeva" i brani dell'altro (Jannacci da
10/19 a 19/19, Eagles Live da 9/15 a 14/15);
- fra le edizioni di MusicBrainz vince quella col numero di brani atteso
(i file che ci sono + il numero piu' alto scritto davanti ai nomi): senza
questo, *Hotel California* pescava un'edizione da 19 tracce e i 10 pezzi in
piu' finivano nella lista della spesa. Stessa storia per Nevermind (24),
Grace (30), Freewheelin' (26);
- il titolo prima della durata: se sceglie prima la durata, in un disco
dove due pezzi durano uguale il file giusto finisce al brano sbagliato e
quello giusto compare come mancante (successo con *Morning Has Broken*,
preso da *If I Laugh*);
- una cartella con doppioni (
REM/UPha ogni brano due volte) si segnala e
non si suggerisce nessuna rinomina: li' l'appaiamento scivola di un posto.
21 dei 39 album dati per incompleti erano COMPLETI. Risultato:
43 brani da scaricare (8 album), 18 nomi storti, 13 doppioni.
📄 Il foglio: NAS_musica_da_sistemare in «Fogli e documenti» della
piattaforma (tre fogli, colonna «Fatto» da segnare; provato a video con un
utente usa-e-getta, si apre in Collabora dal nome pubblico). Copie in
lab/docs/NAS_musica_da_sistemare_20260912.xlsx e ..._da_scaricare_20260912.csv.
📄 Il racconto: lab/docs/NAS_musica_cosa_manca_20260912.md. Il vecchio
NAS_album_da_completare.md ha in cima l'avviso che e' superato.
⚠️ Il documento vecchio diceva anche 39 album e 204 controllati: quei
conti non valgono piu'.
✅ 12/09 pomeriggio - DUE COSE VISTE DALLO SCATTO DI VITTI
Ascoltava l'Argerich (Rachmaninoff 3) e ha mandato lo screenshot.
1. «Riprendi: 10 brani, dal 4°» - non si capiva, ed era anche un difetto.
vitti: *"mi spieghi cosa vuol dire?"*. E' l'offerta di rimettere la coda
dell'ascolto PRECEDENTE, quella che la pagina si salva quando Chrome butta via
la scheda. Il bottone pero' contava i brani e non nominava niente.
🔴 E soprattutto **era ancora li' mentre lui ascoltava una coda nuova di 3
brani**: offriRipresa() lo mostrava all'apertura e non lo toglieva piu'.
Non era solo confuso - quel bottone sostituisce la coda, quindi gli avrebbe
portato via quello che stava suonando.
- adesso dice *«↺ Riprendi l'ascolto di prima: 04 Il Collare di Seneca.mp3
(4 di 10)»*, e il title spiega che la coda di adesso viene sostituita;
- e sparisce al primo brano accodato. L'annuncio parte da
ridisegnaCoda
(evento jb:coda), che e' il passaggio obbligato di ogni cambio di coda:
cosi' vale per tutte le strade - clic, ▶, accoda tutto, playing list.
- Provato a video a 678x927 (la misura del suo tablet), con una memoria finta
di 10 brani: all'apertura c'e', dopo un brano accodato hidden.
2. La copertina della scena era troppo grande. Era
min(74vw, 22rem, ...): sul suo schermo vinceva il primo termine e la
copertina si mangiava tutto lo spazio fra la testata e la console. Scesa a
min(52vw, 16rem, calc(100svh - conh - 15rem)): da 352 a 256 px sul suo
tablet, e resta comunque il pezzo piu' grande della scena.
Il bottone della ripresa adesso nomina il brano: una riga sola con i puntini
(max-width: min(28rem, 62vw)), se no un titolo lungo spingeva fuori
«coda vuota».
✅ 12/09 - LA RICERCA NEL JUKEBOX (e il conto per il manG3)
vitti: *"aggiungiamo anche una ricerca? Di quelle che quando matcha una parte
ti mostra i risultati e si restringe se si aggiunge una parola?"* -> *"nel
jukebox!"*. Con 2.650 brani e 495 cartelle, sfogliare per trovare Argerich non
e' una strada. Nessun cappello aveva ancora una ricerca: il gancio
@ready di vrp_explorer la prevedeva («inietta UI (ricerca...)») e nessuno
l'aveva mai usato. Questo e' il primo.
La regola: si spezza in PAROLE e una voce resta solo se le contiene tutte,
ognuna anche a meta' di una parola piu' lunga. Aggiungere una parola stringe
sempre. Si guarda il percorso INTERO come si legge («Martha Argerich / Chopin /
01 Preludio»), non il solo nome del file. Accenti e maiuscole non contano.
🔑 «Ma il povero manG3!» (vitti, subito dopo) - ed era un'obiezione giusta.
La prima versione rifaceva tutto il giro a OGNI LETTERA: leggeva l'indice del
NAS, ricostruiva 2.650 percorsi, li ripuliva. Rimediato con jb_catalogo():
un elenco piatto, costruito UNA volta e scritto in
musica_copertine/cerca_<firma>.json. La firma e' *l'indice del NAS* (non un
tempo a caso): il catalogo si rifa' solo quando quello cambia, cioe' col cron
delle 05:10. Misurato dal browser, dal vivo:
| tempo | |
| prima domanda, costruisce il catalogo | 689 ms (una volta) |
| ogni ricerca dopo | 8-10 ms sul server, ~20 ms andata e ritorno |
| scrivendo «argerich chopin» (15 lettere, 90 ms l'una) | 1 sola domanda |
| scrivendo piano (400 ms a lettera) | 3 domande, ~30 ms in tutto |
Tre accortezze nella pagina: da 2 lettere in su, 250 ms di dita ferme
prima di chiedere, e la risposta vecchia si butta se ne e' partita
un'altra (se no la lenta arriva dopo la veloce e a video resta quella
sbagliata). E le **copertine si chiedono solo per i risultati che si
mostrano** - jb_copertina() puo' chiamare ffmpeg, e farlo per 257 risultati
sarebbe il modo di mettere in ginocchio il manG3 sul serio.
Il gesto e' quello della pagina: clic = accoda, ▶ = suona subito, e su una
cartella ▶ e +. In piu' «Accoda i N brani trovati». Esc o ✕ chiudono.
🐞 Trappola presa (la terza volta): l'albero e la griglia non si tolgono
con hidden - .vx-layout e' display:flex e contro un display esplicito
l'attributo non puo' niente. Visto a video (il pannello dei risultati sopra la
griglia ancora accesa), risolto con una CLASSE .jb-via.
✅ Provato a 1280 e a 678x927: 5 cartelle + 72 brani per «argerich chopin»,
clic su un brano = 1 in coda, Esc rimette la griglia, niente scorrimento
orizzontale sul telefono.
✅ 12/09 - La copertina in ORIZZONTALE (era tagliata, non grande)
vitti: *"la copertina adesso va bene in verticale, ma non in orizzontale"*.
Nel suo scatto sdraiato il quadrato era diventato 197x133 e `object-fit:
cover` gli aveva mangiato sopra e sotto.
🔑 La causa: l'altezza si indovinava (100svh - console - 15rem, dove
15rem era un forfait per testata + titolo + numero + riga d'aiuto). In piedi
lo schermo e' alto e il forfait avanza; sdraiati e' la meta' e la stessa
testata pesa il doppio - il conto sforava e il flex schiacciava la figura.
Rimedio, tre pezzi:
--jb-scenah: il JS misura lo spazio vero fra la scena e la console
(stesso mestiere di --jb-conh), con una seconda passata se il titolo va a
capo e sfora;
flex: 0 0 autosulla copertina: mai schiacciata dal flex;object-fit: containinvece dicover: se il quadrato salta lo stesso, si
rimpicciolisce invece di farsi tagliare.
Misurato a 1280x632, 1085x554, 1280x480, 678x927, 412x740: **sempre quadrata,
mai sotto la console**. In piedi resta 256 px (quella che vitti aveva
approvato), sdraiato scende a 132-156.