Mac用Logic ProのScripterのHandleMIDI関数

HandleMIDI()関数を使用すると、プラグインが受信したMIDIイベントを処理できます。HandleMIDIはプラグインがMIDIイベントを受信するたびに呼び出され、受信したMIDIイベントを処理するために必要です。HandleMIDI関数が実装されていないと、イベントは未処理のままプラグインを通過します。

HandleMIDIは、受信したMIDIイベントを表すJavaScriptオブジェクトである1つの引数と共に呼び出されます。以下にHandleMIDIとJavaScript Eventオブジェクトの使いかたの例を示します。

対応するチュートリアル設定を読み込んで、スクリプトエディタにスクリプトを表示してください。コードおよびコメントの構文構造とレイアウトの理解に役立ちます。スクリプトエディタを使うを参照してください。

チュートリアルスクリプト1: 単純なパススルー

MIDIイベントはプラグインを通過します。

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

チュートリアルスクリプト2: イベントのトレース

イベントログをプラグインのコンソールに記録し、どこにも送信しません。

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

チュートリアルスクリプト3: トランスポーズおよびディレイ

100ミリ秒のディレイと共にノートを1オクターブ上で繰り返し、その他のイベントは通過させます。

「/*」の後ろのテキストは、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/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.