MainStage: JavaScript MIDIオブジェクトを使う

JavaScript MIDIオブジェクトを使う

MIDIオブジェクトには、スクリプトの記述時に使用できる便利で使いやすい関数が数多く含まれています。

注記:MIDIオブジェクトはグローバルオブジェクトのプロパティです。このため、インスタンスを作成するのではなく、JavaScriptのMathオブジェクトと同様、関数にアクセスして使用します。たとえば、MIDI.allNotesOff() を直接呼び出すことができます。

MIDIオブジェクトのプロパティ

以下のメソッド名と引数を使用して各種の機能を実行できます:

  • noteNumber(string name): 指定のノート名のMIDIノート番号が返されます。以下の例のようになります。C3またはB#2。

    注記:引数にフラットを使用することはできません。Bb3ではなくA#3を使用します。

  • noteName(number pitch): 指定のMIDIノート番号の名前(文字列)が返されます。

  • ccName(number controller): 指定のコントローラ番号のコントローラ名(文字列)が返されます。

  • allNotesOff(): すべてのMIDIチャンネルのオール・ノート・オフ・メッセージを送信します。

  • normalizeStatus(number status): MIDIステータスバイトの安全範囲(128-239)に値をノーマライズします。

  • normalizeChannel(number channel): MIDIチャンネルの安全範囲(1-16)に値をノーマライズします。

  • normalizeData(number data): MIDIデータバイトの安全範囲(0-127)に値をノーマライズします。

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

チュートリアルスクリプト10: イベントの検出

このスクリプトは、MIDIコンティニュアスコントローラ20イベントの受信時に、すべてのイベントを通過させて「オール・ノート・オフ」メッセージを送信します。

  • 「/*」の後ろのテキストは、JavaScriptコードについて説明するコメントを示します。

    function HandleMIDI(event) { event.send(); /* pass through the event if the event is MIDI CC 20 */ if (event instanceof ControlChange && event.number == 20) MIDI.allNotesOff(); /* send an all notes off message */ }
公開日: 2019/09/06
役に立ちましたか?