Меню ссылок

Использование объекта JavaScript Event

При вызове функции 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) на одну долю позже

}

Copyright © 2013 Apple Inc. All rights reserved.
Copyright © 2013 Алексей Алимкин (перевод).

< Назад                    Глава 9. MIDI-плагины | Scripter                    Вперед >

Site www.logicprox.ru is an Independent Information site. The site is not affiliated with Apple Inc. and other companies. All trademarks, product names, and company names and logos appearing on this web site are the property of their respective owners. Site www.logicprox.ru makes no guarantees regarding any of the advice offered on this web site or by its staff or users.