Disegnare una manopola da utilizzare in Kontakt (seconda parte)
Nel precedente articolo abbiamo disegnato una manopola che abbiamo poi esportato. In questo articolo vedremo come utilizzarla all’interno di Kontakt. Per prima cosa apriamo Kontakt e creiamo un nuovo strumento.
Salviamo fin da subito il file su una nuova cartella. Quando creiamo un nuovo strumento che conterrà immagini personalizzate ed altri file occorre creare una cartella di risorse. A tal fine entrate nella modalità edit dello strumento e cliccate su Instrument Options.
Cliccate su Browse relativamente a Resource Container e nella finestra che si apre individuate la cartella dove avete salvato lo strumento e selezionatelo. A quel punto cliccate su Open. Nel riquadro relativo al Resource Container ora compare il nome dello strumento.
A questo punto cliccate su Create e nella cartella che si apre date il nome che volete (meglio scegliere quello dello strumento) e cliccate su OK. Compare la seguente finestra.
Cliccate su Yes. La cartella viene creata e compare la seguente finestra che riassume le risorse contenute nella cartella (ovviamente sono zero).
All’interno della cartella dove avete salvato lo strumento ora è presente il seguente materiale.
All’interno della sottocartella pictures copiamo la manopola che abbiamo creato.
Per poter leggere un oggetto che presenta delle animazioni (50 nel caso della nostra manopola) occorre creare un file di testo con estensione .txt e con lo stesso nome dato al file di immagine. Il contenuto del file di testo è il seguente:
Has Alpha Channel: yes
Number of Animations: 50
Horizontal Animation: no
Vertical Resizable: no
Horizontal Resizable: no
Fixed Top: 0
Fixed Bottom: 0
Fixed Left: 0
Fixed Right: 0
A questo punto entriamo nello script editor.
Aggiungiamo le prime linee note di codice.
on init
set_ui_height_px (350)
make_perfview
end on
A questo tipo dichiariamo l’oggetto slider la cui sintassi è la seguente
declare ui_slider $nome (min,max)
Nel nostro esempio la dichiarazione sarà in tal senso:
on init
set_ui_height_px (350)
declare ui_slider $manopola (1,50)
make_perfview
end on
Nel momento che clicchiamo su apply compare l’oggetto.
Possiamo impostare il valore di default ad esempio pari a 25 per l’oggetto inserito aggiungendo subito dopo la seguente istruzione:
$manopola := 25
set_control_par (get_ui_id ($manopola), $CONTROL_PAR_DEFAULT_VALUE, 25)
make_persistent ($manopola)
Lo script diventa
on init
set_ui_height_px (350)
declare ui_slider $manopola (1,50)
$manopola := 25
set_control_par (get_ui_id ($manopola), $CONTROL_PAR_DEFAULT_VALUE, 25)
make_persistent ($manopola)
make_perfview
end on
Come possiamo vedere la slider si setta a metà del suo intervallo di valori possibili.
Spostiamo la slider in un’altra posizione. Ad esempio:
on init
set_ui_height_px (350)
declare ui_slider $manopola (1,50)
$manopola := 25
set_control_par (get_ui_id ($manopola), $CONTROL_PAR_DEFAULT_VALUE, 25)
move_control ($manopola, 1, 3)
make_persistent ($manopola)
make_perfview
end on
A questo punto associamo la manopola creata all’oggetto slider. A tal fine occorre inserire la seguente istruzione:
set_control_par_str (get_ui_id ($manopola), $CONTROL_PAR_PICTURE, “manopola1”)
Non viene richiesta l’estensione dell’immagine. E’ fondamentale che l’immagine sia stata precedentemente aggiunta nel modo che abbiamo visto prima ovvero nella sottocartella pictures del resource container. Lo script diventa:
on init
set_ui_height_px (350)
declare ui_slider $manopola (1,50)
$manopola := 25
set_control_par (get_ui_id ($manopola), $CONTROL_PAR_DEFAULT_VALUE, 25)
set_control_par_str (get_ui_id ($manopola), $CONTROL_PAR_PICTURE, “manopola1”)
move_control ($manopola, 1, 3)
make_persistent ($manopola)
make_perfview
end on
Cliccando su apply la slider cambierà forma comparendo l’oggetto relativo all’immagine manopola1.
Provate a muovere la manopola con il mouse. Per migliorare il movimento possiamo aggiungere la seguente istruzione.
set_control_par (get_ui_id ($manopola), $CONTROL_PAR_MOUSE_BEHAVIOUR, -2500)
Il parametro da poter utilizzare va da -5000 a +5000 (noi useremo -2500) e imposta la direzione di movimento di una slider. I valori negativi sono per il movimento verticale (tramite mouse) mentre quelli positivi sono per il movimento orizzontale.
Lo script diventa:
on init
set_ui_height_px (350)
declare ui_slider $manopola (1,50)
$manopola := 25
set_control_par (get_ui_id ($manopola), $CONTROL_PAR_DEFAULT_VALUE, 25)
set_control_par_str (get_ui_id ($manopola), $CONTROL_PAR_PICTURE, “manopola1”)
set_control_par (get_ui_id ($manopola), $CONTROL_PAR_MOUSE_BEHAVIOUR, -2500)
move_control ($manopola, 1, 3)
make_persistent ($manopola)
make_perfview
end on
Provate ora a muovere la manopola e osserverete una gestione decisamente migliorata tramite mouse. In altre callback si deciderà poi quale sarà il parametro controllato dalla silder.