
Función ProcessMIDI del módulo MIDI Scripter en MainStage
La función ProcessMIDI() te permite realizar tareas periódicas (generalmente, relacionadas con el tiempo). Esta función puede usarse al realizar un script de un secuenciador, arpegiador u otro efecto MIDI dirigido por el tempo. Generalmente, ProcessMIDI no se requiere para aplicaciones que no hagan uso de la información de temporización musical del dispositivo anfitrión. ProcessMIDI se llama una vez en cada “bloque de proceso”, que viene determinado por los ajustes de audio del dispositivo anfitrión (frecuencia de muestreo y tamaño de búfer).
Esta función se utiliza a menudo en combinación con el objeto TimingInfo para utilizar la información temporal de MainStage. En el ejemplo se muestra el uso de ProcessMIDI y del objeto TimingInfo. Consulta también Usar el objeto TimingInfo de JavaScript.
Carga el ajuste de Tutorial correspondiente para ver el script en el editor de scripts. Esto te ayudará a entender la estructura de la sintaxis y la disposición del código y los comentarios. Consulta Usar el editor de scripts.
Importante: Para activar la función GetTimingInfo, debes añadir var NeedsTimingInfo = true; en el nivel de script global (fuera de cualquier función).
Script de Tutorial 5: Procesar devolución de llamada MIDI
El texto situado a continuación de /* muestra los comentarios que explican el código JavaScript.
/* Define NeedsTimingInfo as true at the global level to enable GetHostInfo() */
var NeedsTimingInfo = true;
function ProcessMIDI() {
var info = GetTimingInfo(); /* get a TimingInfo object from the host
if the transport is running */
if (info.playing) {
Trace(info.tempo); /* print the tempo in the plug-in console */
}
}