Così l'ultima volta abbiamo guardato alcuni richiami di base, vale a dire "a init", "sulla nota" e "sul rilascio". Abbiamo visto come l'immissione del codice semplice tra questi callback stampati alcuni messaggi di farci conoscere il nostro codice è stato di lavoro.
Questa volta, stavano per costruire qualcosa! Sono sicuro che tutti i danni youve visto Heavyocitys Evolve e strumenti. Una delle cose interessanti che hanno sono nota attivato FX. Beh Im intenzione di mostrare come creare un semplice script per fare questo, come penso che sia qualcosa che gli utenti vorrebbero fare. Andiamo!
Il Piano!
Heres quali erano dopo. Si carica un po 'di effetti insert e aggirarli. È quindi mappare il parametro Bypass per ogni effetto a una nota. Quando si colpisce una nota, l'effetto corrispondente a tale nota è attiva, quando si rilascia la nota l'effetto è bypassato!
Per raggiungere questo obiettivo abbiamo prima bisogno di conoscere le dichiarazioni.
Dichiarazioni
Quindi quali sono le dichiarazioni? Ebbene questi lasciate Kontakt prendere decisioni su che cosa sta per accadere quando si fa qualcosa.
L'if ... else si trova in tutti i linguaggi di scripting. Permette al vostro script da eseguire solo se succede qualcosa di molto specifico. Consente di prendere il nostro semplice messaggio dall'ultima volta come esempio.
sulla nota
messaggio ("Stai suonando una nota")
terminerà il
Questo verrà visualizzato se si ha colpito ogni nota, si tratta di una nota richiamata, dopo tutto. Diciamo che vogliamo solo questo per mostrare sulla C3 però. La dichiarazione, se è perfetto per questo.
Se
Heres la struttura del if.
if (definire alcuni parametri qui come qualcosa è uguale a qualcosa)
{Fare qualcosa di intelligente se qualcosa è uguale a qualcosa!}
end if
Questo vuol dire piuttosto semplice! Ma che cosa è una cosa è uguale a qualcosa? Beh, potrebbe essere qualsiasi cosa. Nel nostro caso abbiamo bisogno di dire l'istruzione if su C3. Possiamo farlo con un built-in variabile denominata $ EVENT_NOTE (C'è anche $ EVENT_VELOCITY troppo!). Questo contiene il valore della nota attualmente detenuta (s) come numero di nota MIDI e può essere utilizzato solo all'interno di una nota o callback rilascio.
Quindi potremmo dire, se $ EVENT_NOTE è uguale a 60 (C3), quindi eseguire lo script!. Quindi, come possiamo scrivere che. Beh, in questo modo!
Se suonare note che arent C3, non lo vorrei vedere qualcosa come questo script è specifico per C3. Ma se lo faccio!
E per quanto riguarda tutte le altre note? Beh, possiamo espandere questo ad un if ... else.
If ... Else
La parte else appartiene a tutto ciò che non è nella lista. Si può pensare a questo come un portiere in un club!
se (la persona è attraente)
Lasciateli in!
altro
Invia via!
end if
Solo scherzando (o sono io?), Ma che fa riassumere! Potremmo usare questa.
Le note sbagliate hanno ora un messaggio troppo!
Che importa se si vuole un carico di diversi messaggi su note diverse? Non vogliamo continuare a scrivere un sacco di istruzioni if per ciascuno di essi. Vi è tuttavia un'altra istruzione a portata di mano chiamata select ().
Selezionare
Selezionare è come una versione più versatile di if ... else. Questa volta il caso è un caso, come in un caso per caso. Heres come funziona.
Invece di dire $ EVENT_NOTE = 60 all'interno delle parentesi della EVENT_NOTE if, ora basta inserire $ all'interno delle parentesi selezionare in questo modo.
select ($ EVENT_NOTE)
End Select
Il valore del numero di nota $ EVENT_NOTE viene passato al caso.
Questo farà esattamente la stessa cosa, come se il nostro primo esempio. È possibile indicare i casi che vuoi.
È inoltre possibile impostare un intervallo per il caso in questo modo.
Quando si gioca entro i limiti youll vedere questo.
Naturalmente è necessario associare la nota con un comunicato in questo modo.
Quando si rilascia ogni nota.
Ora che sappiamo come funziona, dovevamo usare select () per attivare i nostri effetti.
Caricare Alcuni effetti!
Im andando a caricare i tre effetti nelle fessure dello strumento inserire effetti. Ive ha ottenuto una distorsione, un Lo-Fi gratuita e un Phaser. Im ora di andare a bypassare questi effetti.
Target Gli Effetti
Tutto ciò che può essere automatizzato in Kontakt può accedere dal KSP. Vi è un built-in funzione nel KSP chiamato set_engine_par (), che consente di modificare i parametri all'interno del motore Kontakt. Youll utilizzare questo un sacco!
Abbiamo bisogno di passare alcune informazioni nelle staffe di questa funzione. Questo è il seguente:
set_engine_par (,,,, Consente di scomposizione: Quindi, il parametro che voglio realizzare è bypass. Questo si rivolge usando $ ENGINE_PAR_EFFECT_BYPASS. Mettiamo che trovi set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, I valori di bypass sono 0 è acceso e 1 è bypassato. Voglio attivare l'effetto così male inserimento di 0 in Valore. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, I miei slot sono a livello strumento messo così male -1 in gruppo. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, La mia distorsione è nello slot 1 così male mettere 0 nello slot. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, 0, Il mio effetto è un effetto Insert così male mettere 1 in Generico. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, 0, 1) Ora ho una linea finita di codice che posso cadere questo nella mia select (). Quando mi ha colpito C3 slot primo effetto (la distorsione) diventerà attivo. Ho bisogno di invertire questa in un callback rilascio su così quando prendo il mio dito del tasto l'effetto è bypassato nuovo. Lo faccio mettendo un 1 nel valore in questo modo. Ora posso impostare questa funzione per i tasti diversi con un caso diverso per ognuno. Tutto quello che dovete fare è aumentare il numero di slot. Heres il risultato di colpire D3. E quindi utilizzando al rilascio bypassare l'effetto quando rilasciate il tasto mettendo 1 in valore. Posso attivare più effetti contemporaneamente anche, che è un vantaggio! Ecco un esempio del mio script al lavoro. [Audio id = "12954"] Posso quindi impostare un titolo per il mio script come abbiamo coperto l'ultima volta. Posso quindi andare a salvare questo come predefinite per un uso successivo! Successo! Prova questo da soli. Ive inclusi i frammenti di codice in un Quindi il gioco è fatto. Un semplice script con un risultato fresco. La prossima volta bene dare un'occhiata a un po 'di progettazione di interfacce. Impostare alcuni parametri
Discussion
Want to join the discussion?
Create an account or login to get started!