Mac용 Logic Pro의 Scripter HandleMIDI 함수

HandleMIDI() 함수는, 플러그인이 수신하는 MIDI 이벤트를 가공할 수 있도록 만듭니다. HandleMIDI는 플러그인이 MIDI 이벤트를 수신할 때마다 호출되며, 또한 들어오는 MIDI 이벤트를 처리하기 위해 필요합니다. 만약 HandleMIDI 함수를 실행하지 않는다면, 이벤트는 플러그인을 그대로 통과하여 영향을 받지 않습니다.

HandleMIDI는 한 가지 인자에 의해 호출되는데, 그것은 들어오는 MIDI 이벤트를 나타내는 JavaScript 객체입니다. HandleMIDI 및 JavaScript Event 객체의 용도는 예시에 나와있습니다.

해당하는 튜토리얼 설정을 로드하여 Script Editor에서 스크립트를 읽어보십시오. 코드와 주석의 문법 구조와 레이아웃을 이해하는 데 도움이 될 것입니다. Script Editor 사용하기를 참조하십시오.

튜토리얼 스크립트 1: 심플 패스 쓰루

MIDI 이벤트가 플러그인을 그대로 통과합니다.

function HandleMIDI(event) {event.send();}

튜토리얼 스크립트 2: 이벤트 기록

이벤트를 플러그인 콘솔에 기록하고, 어느 곳으로도 전송하지 않습니다.

function HandleMIDI(event) {event.trace();}

튜토리얼 스크립트 3: 트랜스포즈 및 딜레이

한 옥타브 올리고 100ms 지연되도록 노트를 반복하며, 다른 모든 이벤트를 쓰루합니다.

/* 뒤의 텍스트는 JavaScript 코드를 설명하는 주석을 나타냅니다.

function HandleMIDI(event) {event.send(); /* send original event */if (event instanceof Note) { /* if it is a note */event.pitch += 12; /* transpose up one octave */event.sendAfterMilliseconds(100); /* send after delay */ }}

튜토리얼 스크립트 4: 디튠 노트 피치

이벤트의 모든 노트를 1센트(1세미톤의 1/100) 값으로 위 또는 아래로 조율합니다. 범위는 -100부터 +100센트까지입니다.

function HandleMIDI(event) {if (event instanceof NoteOn) { /* if it's a note on */event.detune = GetParameter("Detune") /* retrieve detune parameter value from var PluginParameters */}event.send(); /* send detune value */}var PluginParameters = [{name:"Detune", type:"lin", numberOfSteps:200, minValue:-100.0, maxValue: 100.0, defaultValue:0}];/* create a linear parameter called "Detune" with a range of -100 to 100, and a default value of 0 */
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
도움이 되었습니까?
글자 수 제한: 250
250자 이내로 작성하십시오.
피드백을 보내 주셔서 감사합니다.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.