Меню ссылок

Создание элементов управления плагина Scripter

Редактор сценариев Scripter Editor позволяет вам использовать простые сокращения для добавления стандартных контроллеров, таких, как ползунки и меню для автоматизированного управления, либо для управления в режиме реального времени вашими плагинами. Единственным обязательным свойством для определения нового параметра является имя базового ползунка по умолчанию. Кроме того, вы можете добавить следующие свойства, чтобы изменить тип и поведение элементов управления.

Дополнительные свойства

  • type: Введите одну из следующих строк в виде значения:
    • «lin»: Создает линейный фейдер.
    • «log»: Создает логарифмический фейдер.
    • «menu»: Создает меню.
    • «ValueStrings»: Типу меню требуется дополнительное свойство, являющееся строчным массивом для показа в меню.

Определение элементов управления MIDI-плагина

Введите следующее в окне редактора сценариев Script Editor для создания этих контроллерных типов:

  • Slider 1: var PluginParameters = [{name:»Parameter x», defaultValue:0.5}];

Пример кода приводит к созданию ползунка с названием «Parameter x», имеющим диапазон по умолчанию от 0 до 1. Он установлен в средней точке 0.5.

  • Slider 2: var PluginParameters = [{name:»Octaves», defaultValue:3, minValue:0, maxValue:5, numberOfSteps:5, unit:»octaves», type:»lin»}];

Данный пример кода приводит к созданию ползунка линейного типа, с пятью возможными положениями (шагами), в диапазоне от 0 до 5.

  • Menu: var PluginParameters = [{name:»Range», type:»menu», valueStrings:[«Low», «Mid», «High»]}];

Данный пример кода создает меню под названием «Range» («Диапазон») с опциями «Low» («Низкие»), «Mid» («Средние») и «High» («Высокие»).

Получение значений плагинных параметров

Вызовите функцию GetParameter() с именем параметра, чтобы вернуть значение (числовой объект) с текущим значением параметра. GetParameter() обычно используется внутри функции HandleMIDI или функции ProcessMIDI.

Данный пример кода преобразует события модуляции в нотные события и предоставляет ползунок для определения нотных длительностей.

  • Введите в окне редактора сценариев Script Editor следующие параметры. Текст, следующий за двойным слэшем //, описывает аргумент функции.

var PluginParameters = [{name:»Note Length»}]; // создать ползунок (диапазон по умолчанию: 0.0 – 1.0)

function HandleMIDI(e) {

if (e instanceof ControlChange && e.number == 1) {        // если это событие является событием колеса модуляции

var note = new NoteOn;         // создать объект NoteOn

note.pitch = e.value;        // использовать контроллерное значение в качестве высоты ноты

note.velocity = 100;        // использовать значение скорости нажатия, равное 100

note.send();        // послать событие нажатия ноты note on

var off = new NoteOff(note);        // создать объект NoteOff, который унаследует значения высоты тона и скорости нажатия от объекта NoteOn

var delayInBeats = GetParameter(«Note Length») + 0.1;        // получить значения параметра созданного вами ползунка (добавить 0.1 для гарантии того, что события note on и note off не произойдут одновременно)

off.sendAfterBeats(delayInBeats);        // послать событие note off после длительности в долях, установленной с помощью ползунка

}

}

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

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

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.