Ход работы:
1. Для разработки аудио плагинов в формате VST необходимо скачать и установить VST SDK от Steinberg (http://www.steinberg.net/nc/en/company/developers/sdk_download_portal.html)
После скачивания, необходимо указать путь к SDK в настройках Projucer. Если путь указан верно, то цвет шрифта будет черным, если нет – крассным.
Дляразработкиплагинов в формате AU никакого дополнительного ПО устанавливать не надо.
2. Для создания адуио плагина необходимо создать проект по шаблону Audio Plug-In
Не забудьте проверитьвозможность построения VST (build VST) в настройках проекта.
3. Проект можно сохранить и отрыть в IDE. Собранный файл можно открыть в DAW:
4. Созданный проект содержит два основных класса, PluginProcessorсодержит информацию о структуре работы плагина с аудио и MIDI, PluginEditorсодержит все что связано с GUI и визуализацией плагина
5. В даннойработесоздаетсяплгин, графическийинтерфейскоторогосостоитизодногослайдера, которыйизменяетгромкость (velocity) MIDI сообщений, которые приходят на вход. Для начала изменим размер окна плагина. Для этого в конструкторе объекта AudioProcessorEditorнеобходимо изменить аргументы функции setSize (200, 200)
|
|
6. Необходимо задекларировать объект midiVolumeтипа Slider в разделе private внкутри заголовочного файла PluginEditor.h
7. Далее необходимо продолжите редактирование конструктора AudioProcessorEditor.
8. После того как слайдер создан и его вид описан, его необходимо расположить внутри окна и определиться с фоном окна. Для это надо отредактировать функцииresized и paint:
9. Для того чтобы предавать значения слайдера в процессор, необходимо создать public переменную noteOnVelтипа float внутри заголовочного файла PluginProcessor.h
10. Для присвоения данной переменной значений слайдера воспользуемся шаблоном наблюдатель. Для этого необходимо добавить в заголовочный файл PluginEditor.h информацию о базовом классе Slider::Listener и задекларировать виртуальную функцию sliderValueChanged:
11. В конструкторе AudioProcessorEditorнеобходимо зарегистрировать «наблюдателя»:
… и определитьтелофункцииsliderValueChanged:
12. В конце необходимо отредактировать функцию processBlock, которая осуществляет менеджмент как аудио так и MIDI информации:
13.
14. Соберите и протестируйте плагин в любой DAW