Una libreria che regge
Uno scanner parallelo legge i tag completi, le durate reali e il codec di ogni singolo file, non una scorsa all'intestazione. Il monitoraggio delle cartelle sopravvive alle rinomine, e niente sparisce in silenzio.
Un lettore desktop per chi ha una libreria locale grande e taggata con cura. I pannelli li componi tu, e un tema intero sta in un file solo, da passare a chi vuoi. Nativo su Linux, macOS e Windows.
rox è un solo binario e parte prima che tu abbia mollato il mouse.
| Lettore | Finestra pronta | Caricato del tutto | Memoria | CPU a riposo |
|---|---|---|---|---|
| rox | 0,3 s | 2,3 s | 134 MB | 0,5% |
| Elisa | 0,7 s | non si stabilizza mai | 206 MB | 74% |
| fooyin | 0,3 s | 18 s | 364 MB | 0% |
| Quod Libet | - | 19 s | 384 MB | 0,2% |
| Strawberry | 0,3 s | 32 s | 434 MB | 0,8% |
| Museeks | - | 3 s | 436 MB | 0% |
| Tauon | 8,7 s | 12 s | 2,8 GB | 0% |
Ho misurato tutto io stesso, su una sola macchina (Ryzen 9 5950X, Linux/Wayland), con la stessa libreria da 50.000 tracce su un SSD esterno, ogni lettore attraverso lo stesso banco di prova con la libreria caricata. La memoria è il PSS sull'intero albero dei processi. «Caricato» è quando la CPU si stabilizza dopo l'avvio; a riposo è un lettore in pausa con la finestra visibile. DeaDBeeF si sarebbe fermato a 44 MB e avrebbe vinto sulla memoria, ma non ha mai avuto una riga: il suo parser MP3 va in segmentation fault a metà dell'importazione di questa libreria, a ogni tentativo. rox indicizza tutte le 50.000 tracce, compresi i file troncati che lo fanno inciampare.
Uno scanner parallelo legge i tag completi, le durate reali e il codec di ogni singolo file, non una scorsa all'intestazione. Il monitoraggio delle cartelle sopravvive alle rinomine, e niente sparisce in silenzio.
Un editor completo, con scritture atomiche, modifiche in blocco e trova e sostituisci. I voti stanno nei file stessi tramite FMPS e POPM. Ricerca via MusicBrainz, iTunes e Deezer.
Un FLAC che copre un disco intero, accanto al suo cue sheet, si indicizza come righe vere. Ogni segmento si scorre, si scrobbla, si ordina e passa senza stacchi al successivo, esattamente come un file.
Un solo flusso, con riproduzione casuale, ripetizione, riproduci dopo e ripetizione A-B. Un segnalibro si mette con un tasto e resta sulla barra di avanzamento. I tasti multimediali e il brano in riproduzione funzionano su tutte e tre le piattaforme.
Un equalizzatore in una finestra tutta sua, una dissolvenza incrociata che lascia stare gli attacchi voluti di un album, e un'uscita esclusiva che dice cosa ha davvero accettato l'hardware.
rox descrive le tue tracce a partire dal loro stesso audio, tempo compreso, e ordina quello che viene dopo per somiglianza. Gira sulla tua macchina sui tuoi file, senza servizi di mezzo.
Una quarantina di tipi di pannello, dalla libreria e la coda alle griglie di artisti, allo spettro e al VU. Duplicane uno con la sua configurazione, salvalo come preset, o staccalo in una finestra.
Uno spazio di lavoro è un file con layout, palette, aspetto e shader. Le palette possono tingersi dalla copertina in riproduzione, virando al chiaro o allo scuro con l'immagine.
Scrivi uno shader WGSL su un pannello o sull'intera finestra, oppure fai girare preset Milkdrop tramite projectM. Segnali con un nome ricavati dallo spettro viaggiano sugli ingressi degli shader.
Sincronizzati o semplici, da file sidecar, dai tag o da lrclib, con un editor che riscrive dove ha letto. Un registro degli ascolti alimenta il pannello cronologia, le statistiche e lo scrobbling.
Preferiti, riordino con il trascinamento, M3U, PLS e XSPF in entrata e in uscita, e playlist intelligenti che rieseguono una query salvata invece di conservare un'istantanea. Le voci sopravvivono a un file che se ne va e torna.
Un tarball, un DMG o uno zip, più l'AUR e un flake Nix. La modalità portatile tiene libreria e impostazioni in una cartella accanto all'eseguibile.
JSON-RPC su un socket locale: trasporto, modifiche alla coda, ricerca nella libreria ed eventi push. L'auth sono i permessi dei file, niente in ascolto su una porta.
Un proxy accanto all'app porta il socket su MCP, così un client AI può chiedere cosa suona o comandare il trasporto. Spento di default, ricontrollato a ogni chiamata.
Un client sorgente spinge ciò che rox riproduce come MP3 sul tuo mount. Solo in uscita: il lato rete è di Icecast, e un server morto non blocca mai la riproduzione.
Ci sono otto spazi di lavoro inclusi, a un clic dalla finestra di benvenuto. Ognuno è un singolo file che contiene il layout, la palette e gli shader che usa: lo modifichi, lo rompi, lo passi a qualcun altro. Guardali tutti.