При вызове функции HandleMIDI объект Event (Событие) представляет одно MIDI-событие и реализует следующие методы, которые вы можете вызывать в своем сценарии:
Методы событий
- Event.send (): Посылает событие.
- Event.sendAfterMilliseconds (количество миллисекунд): Посылает событие по истечении указанного значения истекшего времени (это может быть целое число или число с плавающей точкой).
- Event.sendAtBeat (количество долей): Посылает событие на определенной доле (число с плавающей точкой) таймлайна (временно́й линейки) хостового приложения.
- Event.sendAfterBeats (количество долей): Как и вышеописанный метод, но использует долевое значение как задержку в долях (четвертях, восьмых и т. д.), начиная с текущей позиции.
- Event.trace (): Выводит событие в плагинную консоль.
- Event.toString (): Возвращает строковое представление события.
- Event.channel (количество): Устанавливает MIDI-канал от 1 до 16.
Типы событий
Типы событий и их свойства передаются функции HandleMIDI следующим образом:
- NoteOn.pitch(целое число): Высота ноты от 1 до 127.
- NoteOn.velocity(целое число): Velocity (скорость нажатия) от 0 до 127. Значение скорости нажатия, равное 0, интерпретируется как событие note off (нота отпущена), а не как событие note on (нота нажата).
- NoteOff.pitch(целое число): Высота ноты от 1 до 127.
- NoteOff.velocity(целое число): Значение скорости нажатия от 0 до 127.
- PolyPressure.pitch(целое число): Высота ноты от 1 до 127. Параметр полифонического послекасания является редкостью на синтезаторах.
- PolyPressure.value(целое число): Значение параметра полифонического послекасания от 0 до 127.
- ControlChange.number(целое число): Контроллерный номер от 0 до 127.
- ControlChange.value(целое число): Контроллерное значение от 0 до 127.
Совет: Используйте MIDI.controllerName(число) для поиска названия контроллера.
- ProgramChange.number(целое число): Номер смены программы от 0 до 127.
- ChannelPressure.value(целое число): Значение параметра послекасания от 0 до 127.
- PitchBend.value(целое число): 14-битное значение пичбенда от –8192 до 8191. Значение, равное 0, является центральным положением пичбендера.
Замена каждого MIDI-события, принятого с помощью контроллерного сообщения изменения модуляции (Modulation CC#1)
- Напечатайте следующее в окне редактора сценариев Script Editor. Текст, следующий за двойным слэшем //, описывает аргумент функции.
Совет: Вы можете использовать ключевое слово JavaScript «new» для создания нового экземпляра объекта Event (Событие) любого типа.
function HandleMIDI() {
var cc = new ControlChange; // производит новое событие контроллерного изменения
cc.number = 1; // устанавливает его на контроллер 1 (модуляцию)
cc.value = 100; // устанавливает значение
cc.send(); // посылает событие
cc.trace(); // выводит событие в консоль
}
Замена каждого MIDI-события, принятого нажатием и отпусканием ноты C3
- Напечатайте следующее в окне редактора сценариев Script Editor. Текст, следующий за двойным слэшем //, описывает аргумент функции.
Совет: Вы можете использовать ключевое слово JavaScript «new» для создания нового экземпляра объекта Event (Событие) любого типа.
function HandleMIDI() {
var on = new NoteOn; // производит новое событие нотного нажатия (note on)
on.pitch = 60; // устанавливает его высоту на C3
on.send(); // посылает ноту
var off = new NoteOff(on); // производит событие отпускания ноты (note off), используя событие note on для инициализации высоты его тона (C3)
off.sendAfterBeats(1); // посылает событие отпускания ноты (note off) на одну долю позже
}