rox

Porta dentro il resto della tua musica

Un plugin porta dentro rox una sorgente musicale esterna. rox la sfoglia, la cerca, la riproduce senza stacchi e tiene quello che gli chiedi, negli stessi pannelli e nella stessa coda dei file sul tuo disco.

Cos'è un plugin

Un plugin è una cartella con dentro un piccolo manifest e un programma. Il programma può essere uno script Python o un binario nativo, e parla con rox attraverso il suo standard input e output. rox lo avvia la prima volta che serve e lo riavvia se va in crash. Cinque crash in dieci minuti lo fermano finché non lo spegni e lo riaccendi.

Quello che un plugin può fare è una lista breve: elencare e cercare in un catalogo, sincronizzare collezioni nella tua libreria, servire audio, far girare una radio, rimandare alle proprie pagine web, e aggiungere pannelli preimpostati sotto il suo nome. Non può aggiungere pulsanti, cambiare l'aspetto di rox né mettere mano ad altri pannelli. I plugin portano dentro sorgenti, e il lettore intorno resta tutto di rox.

Sfogliare una sorgente

Ogni plugin in esecuzione ottiene una voce sotto Aggiungi pannello > Plugin, che apre un pannello Sorgenti esterne sulla sua sorgente. Il pannello elenca le cartelle, le playlist e gli album del plugin, cerca, mostra le copertine e ne carica altre mentre scorri. La home di un servizio compare al primo livello del pannello, quindi è lì senza bisogno di un clic.

Cos'altro mostra il pannello dipende dal plugin. Dei chip sopra una lista passano tra le viste del plugin, come una ricerca ristretta agli album. Scaffali di copertine scorrono lateralmente, e una pagina fatta di sole copertine si ripiega in una griglia. Colonne che il servizio conosce e i tuoi tag no, come un conteggio dei download, si ordinano con un clic sull'intestazione. Mentre suona una delle tracce del plugin, il primo livello la mostra insieme a cosa viene dopo.

Il plugin di esempio Internet Archive in un pannello Sorgenti esterne: un avviso in alto, righe da sfogliare, scaffali di copertine delle uscite, e colonne per download e anno.
L'esempio Internet Archive, mentre sfoglia pubblicazioni Creative Commons dalla collezione di netlabel dell'Archivio. È nel repository di rox, pronto da copiare.

Riprodurre e tenere

Le tracce di un plugin vanno in coda, nelle playlist e nella cronologia come i tuoi file, e suonano senza stacchi una dietro l'altra. Una traccia che si interrompe a metà si riconnette e riprende dallo stesso punto. Uno stream live da un plugin ottiene la pausa e il buffer live, come una stazione radio.

Riprodurre una traccia non la aggiunge alla tua libreria, è Aggiungi alla libreria a tenerla. Passa sopra una collezione e clicca sul suo segno di spunta per tenerla tutta. Si sincronizza nella tua libreria, segue la collezione quando cambia, e si apre da lì anche con il plugin fermo o la rete assente.

Apri nel browser e Copia link portano alla pagina di una traccia o di un album sul servizio, da ovunque le sue tracce compaiano in rox. Lo scrobbling è spento a meno che il plugin non lo chieda, e allora è un interruttore sulla riga del plugin.

Radio

Un plugin con una radio aggiunge Riproduci brani simili alle sue tracce, album, playlist e artisti. Un album, una playlist o un artista suona prima le proprie tracce, mentre una traccia fa solo da punto di partenza alla stazione e non viene riprodotta. Poi le scelte del servizio tengono la coda in moto man mano che si assottiglia. La riproduzione casuale passa a Simili, e per le tracce del plugin funziona senza l'analisi acustica della tua libreria. Un album che riproduci dal pannello continua allo stesso modo alla fine, invece di passare alla tua libreria locale.

Le tracce della radio suonano attraverso il motore proprio di rox come qualsiasi altra traccia. Non entrano nella tua libreria, la stazione salta quello che è già suonato in questa sessione, e continua dopo un riavvio. Spegni Continua a suonare in Impostazioni > Riproduzione e la coda si ferma alla sua fine.

Cosa stai approvando

Un plugin nuovo compare spento. Accenderlo è l'approvazione, e la scheda che confermi dice cos'è il plugin, cosa può fare, quali programmi gli servono, e che gira come programma sul tuo computer con i tuoi permessi.

L'approvazione copre esattamente i file nella cartella del plugin. Se uno di loro cambia, il plugin si spegne da solo e mostra Cambiato sul disco finché non lo approvi di nuovo, e la scheda a quel punto mostra cos'è cambiato nel suo manifest. Rimuovi nella pagina Plugin elimina le tracce, le collezioni sincronizzate, le impostazioni e l'approvazione del plugin, e lascia stare la sua cartella.

Scrivi il tuo

Un plugin parla JSON-RPC, un messaggio per riga su standard input e output, quindi va bene qualsiasi linguaggio che legga e scriva righe. La guida ai plugin copre il manifest, ogni metodo, i timeout e come l'audio arriva al lettore. Il pulsante Guida ai plugin nella pagina Plugin la apre per la versione che stai usando.

Due esempi sono nel repository. tones genera toni sinusoidali e accordi, ed è quello per imparare il protocollo. Internet Archive usa ogni parte opzionale del protocollo contro un catalogo vero, con scaffali home, viste, colonne, radio e link, in Python senza nulla oltre la libreria standard.

La modalità sviluppatore sulla riga di un plugin approva da sola le tue modifiche alla sua cartella finché non chiudi rox, e riavvia il plugin a ogni salvataggio. Ogni parte più recente del protocollo è opt-in. rox elenca quelle che supporta all'avvio del plugin, quindi un plugin non deve mai mandare qualcosa che un rox più vecchio rifiuterebbe.

Dove si fermano i plugin

Provane uno

Scarica rox, attiva Attiva i plugin in Impostazioni > Plugin, e copia l'esempio Internet Archive nella cartella dei plugin. Serve la rete e nessun account.