Posizionare un controllo nella performance view utilizzando i pixel come unità di misura
Ogni elemento posizionabile nella performance view può trovarsi in un punto specifico misurato in pixel secondo una coppia di valori (x,y). La posizione (0,0) è quella che si trova nell’angolo superiore sinistro.
Per posizionare diversi controlli (manopole, pulsanti, fader, ecc.) basta misurare la distanza da questo punto utilizzando ad esempio un software di grafica ma occorre ricordarsi dei 68 pixel occupati dall’header. Facciamo un esempio creando un pulsante.
on init
set_ui_height_px (332)
set_control_par_str ($INST_WALLPAPER_ID, $CONTROL_PAR_PICTURE, “632×400”)
declare ui_switch $pulsante
make_perfview
end on
Il pulsante di default viene collocato nella seguente posizione.
Impostiamo un’altezza per il pulsante pari a 30 pixel utilizzando la seguente istruzione
set_control_par (get_ui_id ($pulsante), $CONTROL_PAR_HEIGHT, 30)
Inserita nella callback init:
on init
set_ui_height_px (332)
set_control_par_str ($INST_WALLPAPER_ID, $CONTROL_PAR_PICTURE, “632×400”)
declare ui_switch $pulsante
set_control_par (get_ui_id ($pulsante), $CONTROL_PAR_HEIGHT, 30)
make_perfview
end on
Come si può vedere, il pulsante è stato mosso a partire dalla posizione (0,0) e si notano al suo interno tre linee di colore più scuro. Ognuna di queste linee separa zone del pulsante di altezza pari a 14 pixel. Avendo noi impostato un’altezza di 30 pixel abbiamo 14+14+2 e quindi 2 linee di divisione. Proviamo a correggere l’altezza al valore di 28 pixel e come possiamo vedere la seconda linea sparisce.
Possiamo modificare anche la larghezza del pulsante impostandola ad esempio ad un valore di 100 pixel utilizzando l’istruzione:
set_control_par (get_ui_id ($pulsante), $CONTROL_PAR_WIDTH, 100)
La callback init ora è la seguente
on init
set_ui_height_px (332)
set_control_par_str ($INST_WALLPAPER_ID, $CONTROL_PAR_PICTURE, “632×400”)
declare ui_switch $pulsante
set_control_par (get_ui_id ($pulsante), $CONTROL_PAR_HEIGHT, 28)
set_control_par (get_ui_id ($pulsante), $CONTROL_PAR_WIDTH, 100)
make_perfview
end on
Per spostare il pulsante di posizione utilizzando l’unità di misura dei pixel è possibile utilizzare l’istruzione move_control_px (<nome controllo>,<width>,<height>). Supponiamo di volerlo spostare 200 pixel verso destra e 100 in basso. Ecco cosa dobbiamo scrivere:
move_control_px ($pulsante, 200,100)
Ecco quello che succede cliccando su apply.
on init
set_ui_height_px (332)
set_control_par_str ($INST_WALLPAPER_ID, $CONTROL_PAR_PICTURE, “632×400”)
declare ui_switch $pulsante
set_control_par (get_ui_id ($pulsante), $CONTROL_PAR_HEIGHT, 28)
set_control_par (get_ui_id ($pulsante), $CONTROL_PAR_WIDTH, 100)
move_control_px ($pulsante, 200,100)
make_perfview
end on
Pingback: Kontakt: gli script (parte 13) | tecnologiamusicale