Así que la última vez que miré algunas callbacks básicos, a saber, "en" init ", en la nota" y "en la liberación". Vimos como la colocación de un código simple entre estas devoluciones de llamada impresos algunos de los mensajes que nos permitan conocer nuestro código funcionaba.
En esta ocasión, se va a construir algo! Im seguro youve visto todo el daño Heavyocitys y Evolve instrumentos. Una de las cosas interesantes que tienen son nota activa FX. Bueno Im va a mostrar cómo crear un simple script para hacer esto, ya que creo que es algo que los usuarios les gustaría hacer. ¡Vamos!
El Plan!
Heres lo que estábamos buscando. Usted carga un montón de efectos de inserción y derivación ellos. A continuación, asignar el parámetro Bypass para cada efecto a una nota. Al llegar a una nota, el efecto correspondiente a esa nota está activo, cuando se suelta la nota el efecto es anulado!
Para lograr esto, primero tenemos que aprender acerca de las declaraciones.
Declaraciones
¿Cuáles son los estados? Bueno estos permiten Kontakt tomar decisiones acerca de cuál va a pasar cuando se hace algo.
La instrucción if ... else se encuentra en todos los lenguajes de script. Permite que el script se ejecute sólo si sucede algo muy específico. Vamos a llevar nuestro mensaje sencillo de la última vez como un ejemplo.
en la nota
mensaje ("Estás tocando una nota")
finalizará el
El mismo se mostrará si se golpea cualquier nota, se trata de una nota sobre la devolución de llamada después de todo. Digamos que sólo quiero que esto aparezca en C3 embargo. La sentencia if es perfecto para esto.
Si
Aquí está la estructura de la sentencia if.
if (definir algunos parámetros aquí como algo igual a algo)
{Hacer algo inteligente si algo es igual a algo!}
End If
Así que eso es bastante simple! Pero lo que es algo igual a algo? Bueno, podría ser cualquier cosa. En nuestro caso, tenemos que decirle a la declaración sobre si C3. Podemos hacer esto utilizando una variable incorporada llamada $ EVENT_NOTE (También hay $ EVENT_VELOCITY también). Esto es el valor de la nota que está declarado (s) en un número de nota MIDI y sólo se puede utilizar dentro de una nota de devolución de llamada o de liberación.
Así que podríamos decir, si $ EVENT_NOTE es igual a 60 (C3) y luego ejecutar el script!. Entonces, ¿cómo se escribe eso. Pues bien, como esto!
Si toco las notas que enviaban C3, no voy a ver nada como este script es específico de C3. Pero si lo hago!
Entonces, ¿qué pasa con todas las demás notas? Bueno, podemos expandir esto a una instrucción if ... else.
If ... Else
La parte else se refiere a cualquier cosa que no esté en la lista. Usted puede pensar en esto como un portero en un club!
si (la persona es atractiva)
Que en!
más
Enviar a la basura!
End If
Sólo bromeando (¿O soy yo?) Pero eso suma para arriba! Podríamos usar esto.
Las notas equivocadas ahora tiene un mensaje también!
Entonces, ¿qué pasa si queremos una carga de diferentes mensajes en diferentes notas? No queremos tener que seguir escribiendo un montón de sentencias if para cada uno. Sin embargo, existe otra declaración práctica llamada select ().
Seleccionar
Seleccione es como una versión más versátil de if ... else. Esta vez es el caso de un caso, como en una base de caso por caso. Heres cómo funciona.
En lugar de decir EVENT_NOTE $ = 60 dentro de los corchetes de la EVENT_NOTE sentencia if, que ahora sólo tiene que insertar dentro de los corchetes $ selectos como tal.
seleccionar ($ EVENT_NOTE)
End Select
El valor de número de nota de $ EVENT_NOTE se pasa al caso.
Esto va a hacer exactamente lo mismo que si nuestro primer ejemplo. Usted puede establecer tantos casos como quieras.
También se puede establecer un rango para el caso como tal.
Cuando juegas dentro de los rangos interminables ver esto.
Por supuesto que es necesario vincular la nota con un lanzamiento así.
Al soltar cualquier nota.
Ahora que sabemos cómo funciona, se va a usar select () para activar los efectos.
Cargar Algunos Efectos!
Im va a cargar tres efectos en el instrumento efectos de inserción ranuras. Ive consiguió una distorsión, un Lo-Fi y una impresora Phaser. Im ahora va a pasar por alto estos efectos.
Objetivo Los efectos
Cualquier cosa que se puede automatizar en Kontakt se puede acceder por la KSP. Hay una función incorporada en el KSP llamado set_engine_par () que permite manipular los parámetros dentro del motor Kontakt. Youll utilizar mucho en esto!
Tenemos que pasar alguna información en los soportes de esta función. Esta es la siguiente:
set_engine_par (,,,, Vamos a descomponerlo: Por lo tanto, el parámetro que desee efectuar es derivación. Esto está dirigido usando $ ENGINE_PAR_EFFECT_BYPASS. Pongamos que pulg set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, Los valores de derivación son 0 y 1 se encuentra en está anulado. Deseo activar el efecto tan mal poner 0 en el valor. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, Mis ranuras están en el nivel III Instrumento para poner -1 en grupo. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, Mi distorsión es en la ranura 1 para Ill poner 0 en la ranura. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, 0, My efecto es un efecto de inserción para Ill poner en un genérico. set_engine_par ($ ENGINE_PAR_EFFECT_BYPASS, 0, -1, 0, 1) Ahora tengo una línea de acabado de código que puede dejar esto en mi instrucción select (). Cuando llegué a la ranura C3 primer efecto (la distorsión) se activará. Tengo que invertir esta devolución de llamada en un comunicado sobre lo que cuando me quito el dedo de la tecla se pasa por alto el efecto de nuevo. Hago esto por poner un 1 en Valor como tal. Ahora puedo configurar esto para claves diferentes con un caso diferente para cada uno. Todo lo que tienes que hacer es aumentar el número de ranura. Aquí está el resultado de golpear D3. Y a continuación, utilizando el comunicado de pasar por alto el efecto cuando suelte la tecla poniendo 1 en Value. Puedo disparar más de un efecto a la vez también, que es una ventaja! Aquí está un ejemplo de mi guión en el trabajo. [Audio id = "12954"] Luego puede establecer un título para mi guión como cubrimos la última vez. Entonces puedo ir a guardar esto como un valor preestablecido para su uso posterior! Éxito! Prueba esto por ti mismo. He incluido los fragmentos de código en un Así que ahí lo tienen. Un guión sencillo con un resultado genial. La próxima vez bien echar un vistazo a algunos diseño de la interfaz. Establecer algunos parámetros
Discussion
Want to join the discussion?
Create an account or login to get started!