이 제어를 수정하면 이 페이지는 자동으로 업데이트됩니다.

MainStage의 Scripter MIDI 플러그인의 ProcessMIDI 함수
ProcessMIDI() 함수는 주기적인(일반적으로 시간에 관련된) 과제를 수행할 수 있도록 합니다. 이 함수는 시퀀서, 아르페지에이터, 및 다른 템포 중심 MIDI 이펙트의 스크립트를 작성할 때 사용할 수 있습니다. ProcessMIDI는 일반적으로, 호스트로부터 음악 박자 정보를 이용하지 않는 응용 프로그램에서는 필요로 하지 않습니다. ProcessMIDI는 ‘처리 블록’이 있을 때마다 호출되는데, 이는 호스트의 오디오 설정(샘플률과 버퍼사이즈)에 따라 결정됩니다.
이 함수는 흔히 TimingInfo 객체와 결합하여 사용하며 MainStage에서 오디오 재생을 변경할 수 있습니다. ProcessMIDI와 TimingInfo 객체의 용도는 예시에 나와있습니다. 또한 JavaScript TimingInfo 객체 사용하기를 참조하십시오.
해당하는 튜토리얼 설정을 로드하여 Script Editor에서 스크립트를 읽어보십시오. 코드와 주석의 문법 구조와 레이아웃을 이해하는 데 도움이 될 것입니다. Script Editor 사용하기를 참조하십시오.
중요사항: GetTimingInfo 기능을 사용하려면, var NeedsTimingInfo = true;를 글로벌 스크립트 레벨(모든 함수의 바깥)에 추가해야 합니다.
튜토리얼 스크립트 5: MIDI 회수 처리
/* 뒤의 텍스트는 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 */
}
}