
Usar el objeto TimingInfo de JavaScript en MainStage
El objeto TimingInfo contiene información de temporización que describe el estado del transporte del dispositivo anfitrión y el tempo musical y el medidor actuales. Se puede recuperar un objeto TimingInfo llamando a GetTimingInfo().
Propiedades de TimingInfo
TimingInfo.playing: Usa una lógica booleana, en la cual “true” significa que el transporte del dispositivo anfitrión está en ejecución.
TimingInfo.blockStartBeat: Un número de coma flotante indica la posición del tiempo al principio del bloque de proceso. Otra posibilidad es utilizar la propiedad
beatPos
. Consulta Utilizar la propiedad beatPos del evento MIDI.TimingInfo.blockEndBeat: Un número de coma flotante indica la posición del tiempo al final del bloque de proceso.
TimingInfo.blockLength: Un número de coma flotante indica la longitud del bloque de proceso en tiempos.
TimingInfo.tempo: Un número de coma flotante indica el tempo del dispositivo anfitrión.
TimingInfo.meterNumerator: Un número entero indica el numerador del medidor del dispositivo anfitrión.
TimingInfo.meterDenominator: Un número entero indica el denominador del medidor del dispositivo anfitrión.
TimingInfo.cycling: Usa una lógica booleana, en la cual “true” significa que el transporte del dispositivo anfitrión realiza ciclos.
TimingInfo.leftCycleBeat: Un número de coma flotante indica la posición del tiempo al principio del alcance de ciclo.
TimingInfo.rightCycleBeat: Un número de coma flotante indica la posición del tiempo al final del alcance de ciclo.
Nota: La duración de un tiempo viene determinada por el compás y el tempo de MainStage .
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.
Script de Tutorial 10: NeedsTimingInfo y GetTimingInfo
En MainStage, este ejemplo imprime la posición del tiempo en la consola con el transporte en ejecución.
El texto situado a continuación de /* muestra los comentarios que explican el código JavaScript.
var NeedsTimingInfo = true; /* needed for GetTimingInfo to work */
function ProcessMIDI() {
var info = GetTimingInfo(); /* get the timing info from the host */
if (info.playing) /* if the transport is playing */
Trace(info.blockStartBeat) /* print the beat position */
}