Plugins
Un panell per a qualsevol plugin, sense dibuixar-lo.
omx-panel llegeix el que un plugin declara de si mateix i en produeix el panell: els controls, els seus marges i la seva agrupació. Ningú el dibuixa a mà.
01
Què obtens.
Dona un panell a qualsevol plugin LV2 o CLAP, a partir de la declaració del mateix plugin:
- una MOD GUI, el format que dibuixen MOD i Zynthian;
- pàgines per a un controlador, vuit controls per pàgina;
- una disposició per a un host que dibuixa el seu propi panell.
Cada panell duu l'aspecte omx, vintage o modern.
02
Els tres passos.
Pas 1
El plugin es declara.
Un plugin diu quins controls té: símbol, recorregut, valor per defecte, etiqueta i grup. Aquesta declaració, el descriptor, és l'única entrada. Un descriptor surt d'escanejar el plugin o d'un paquet que l'instal·la, com
omx-plugins. El panell mai no té un marge propi.Pas 2
omx-panel el disposa.
Ordena els controls en seccions, dona un paper a cada un, tria la família que formen tots junts i talla les pàgines de vuit que mostra un controlador. Quan el plugin declara un panell propi, guanya aquest panell.
Pas 3
omx-panel escriu el panell.
Per a MOD i Zynthian escriu una MOD GUI dins el paquet LV2 del plugin:
modgui.ttli un directorimodgui/. Un interruptor esdevé un switch, una opció o un recorregut enter curt un selector i qualsevol altre recorregut un potenciòmetre.
L'ordre rep un fitxer descriptor i el paquet on ha d'escriure:
omx-panel modgui --descriptor my-plugin.json --out my-plugin.lv2
omx-panel modgui --descriptor my-plugin.json --out my-plugin.lv2 --check
La segona línia no escriu res: compara el paquet amb el que produiria el descriptor i rebutja un fitxer desfasat, absent o sobrant.
03
Per a l'autor d'un plugin.
Un plugin que vol el seu propi dibuix porta un paquet de skin: un directori amb el nom del plugin, amb un skin.json que diu com es dibuixa el panell i la llicència de tot el que conté. Els marges, les unitats i les escales es queden a la descripció del plugin; el skin es refereix als controls per id. Comprova un paquet abans d'instal·lar-lo:
omx-panel validate ./my-plugin-skin
Un plugin que ja porta una MOD GUI no comença de zero: omx-panel import llegeix el paquet i la llicència del plugin i n'escriu un paquet de skin. Un paquet amb la llicència absent o fora de la llista permesa es rebutja amb un codi amb nom i no s'escriu res.
04
Instal·lació.
A Fedora:
sudo dnf install https://www.openmixer.org/rpm/openmixer-release.noarch.rpm
sudo dnf install omx-panel
A Debian i Raspberry Pi OS:
curl -fsSLO https://www.openmixer.org/deb/openmixer-release.deb && sudo apt install ./openmixer-release.deb
sudo apt update
sudo apt install omx-panel
Des del registre npm:
npm install @openmixer/omx-panel
05
Un exemple pas a pas.
Un exemple pas a pas porta un plugin de tercers LV2 i CLAP des de la seva declaració fins a un panell generat.