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:

bloccosilenzioripartita quando
09:16 -> 09:22~6 minsblocco col PIN
09:39~1 minsblocco
09:45 -> 09:46~1 minsblocco
09:54 -> 10:10~16 minsblocco

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:

(121 MB, colinde di Natale);

Come si fa:

(i nomi veri delle cartelle e dei file, non quelli su disco) e mostra

solo le cartelle che contengono musica;

pubblico. Un ospite non vede lo scaffale.

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).


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):

cosapeso
da incoming/ Porco Rosso .mkv4,7 GB
da incoming/ Gazza Ladra (Scala) .mkv4,0 GB
da incoming/ Elisir d'Amore 1967 .avi1,4 GB
Movies/ concerti U2/Springsteen + 18 filmati P1000*.MOV909 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:

archivio mai aperto -> si scompatta in Giorgio Gaber/;

sospetto un .rar col nome sbagliato, da guardare dentro;

stessa registrazione, il wav e' il doppione pesante;

Artisti doppi (da fondere):

Orchestre... + Martha Argerich, Piano_ Berliner...`

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:

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):

cosadove
Porco Rosso .mkvvideo/3 Movies/
Gazza Ladra .mkv, Elisir .avivideo/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 pdfhomes/vitti/Libri/
i due Gaber .rarmusic/_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"*.

atomi mp4): 2.578 brani, 99 senza nessun tag.

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.

sempre coincidono); apostrofi tipografici -> dritti; * ? : / fuori;

se il tag e' piu' povero del nome (ch_el -> chel) si lascia.

Liszt...` il nome lungo ESISTE GIA' accanto al troncato = doppioni

(passo d).

(OK <vecchio> <nuovo>).

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.

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.

(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)`).

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.

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/.

(Fantasiestucke, op. 12, iTunes Music, Compilation) ->

_da_guardare/, non cancellate.

Dreaming (le cover), Colonne Sonore, Musica Varia, Artista

sconosciuto, da incoming, _da_guardare`).

✅ 11/09 - da incoming svuotata + i 71 wma

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.

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

nella guardia dei percorsi (un brano chiesto a mano: 404).

nome fra i brani veri, Range, sessione chiusa prima di spedire.

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.

/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.

cirillico, opus), NAS (Argerich mp4 intero, Range, "Accoda tutto" su

cartelle del NAS = 22 brani giusti). A video: Mamas & Papas suona dal NAS.

indice + copertine dei brani nuovi. Registro /var/log/jukebox_indice.log.

copia della riga di prod): "Media vari" compare nello share del JukeBox.

anche il riquadro della cartellina 📁 a 86px, se no righe storte):

erano la misura delle foto, troppo grandi per 495 album. 6 per riga.

Dopo, la radice del NAS (160 artisti) risponde in 14 ms.

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'.

(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'.

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).

_da_guardare/doppioni/.

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() 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.

l'albero, la griglia, jb_servi() (il brano) e la convalida delle

playing list. Non c'e' un secondo posto da ricordarsi.

si toglie a lui il ruolo, non si cambia la regola.

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"*.

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.

«▶ 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.

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).

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'.

scaricatoin casa c'era gia'durate
Guccini - La locomotivaRadici/02 Locomotiva.m4a498,2 / 495,9
Guccini - 100, Pennsylvania AvenueAmerigo/03 00, Pennsylvania Ave..m4a394,8 / 394,7
Bregovic - Underground Tango (.wma)(1995) Underground OST/09 - Undeground Tango.mp3311,1 / 312,9
Pearl Jam - Fuckin' UpLive On Two Legs [Live]/16 F_Ckin' Up.m4a377,6 / 377,6
CCR - Night Time Is The Right TimeRevival Collection/12 Night Time Is The Right Time.m4a187,3 / 188,2
Eagles - The Last ResortHotel California/09 The Last Resort.mp3446,6 / 447,6
Nirvana - Lounge ActNEVERMIND/09 Lounge art.m4a156,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:

Neil Young/Harvest/05 Are You Ready for the Country.mp3: **l'album e'

completo, 10 su 10**. Copiato con cp -n, niente sovrascritto;

vuole (niente si cancella da soli). Il Bregovic per giunta e' un .wma,

che il browser non suona;

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:

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);

(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);

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*);

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.

(4 di 10)»*, e il title spiega che la coda di adesso viene sostituita;

(evento jb:coda), che e' il passaggio obbligato di ogni cambio di coda:

cosi' vale per tutte le strade - clic, ▶, accoda tutto, playing list.

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 catalogo689 ms (una volta)
ogni ricerca dopo8-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:

(stesso mestiere di --jb-conh), con una seconda passata se il titolo va a

capo e sfora;

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.