The MIDI object contains a number of convenient and easy to use functions that can be used when writing your scripts.
Note: The MIDI object is a property of the global object, which means that you do not instantiate it but access its functions much like you would the JavaScript Math object. An example is calling MIDI.allNotesOff() directly.
MIDI object properties
Use the following method names and arguments to perform these functions:
noteNumber(string name): Returns the MIDI note number for a given note name. For example: C3 or B#2.
Note: You cannot use flats in your argument. Use A#3, not Bb3.
noteName(number pitch): Returns the name (string) for a given MIDI note number.
ccName(number controller): Returns the controller name (string) for a given controller number.
allNotesOff(): Sends the all notes off message on all MIDI channels.
normalizeStatus(number status): Normalizes a value to the safe range of MIDI status bytes (128–239).
normalizeChannel(number channel): Normalizes a value to the safe range of MIDI channels (1–16).
normalizeData(number data): Normalizes a value to the safe range of MIDI data bytes (0–127).
Type the following in the Script Editor window:
function HandleMIDI(e) { e.send(); if (e instanceof ControlChange && e.number == 20) MIDI.allNotesOff();}