Как создаются плагины VST?

105

Я хотел бы создавать (или научиться создавать) плагины VST. Есть ли для этого специальный SDK? как получить .vst вместо .exe? Кроме того, если кто-то хочет создать Audio Units для Logic Pro, как это сделать? Спасибо

jmasterx
источник

Ответы:

50

Начните с этой ссылки на вики, объясняет, что это такое, и дает ссылки на SDK. Вот некоторая информация о deve

Как скомпилировать плагин - для создания плагинов VST в C ++ Builder сначала вам понадобится VST sdk от Steinberg. Он доступен на сайте Ивана Грабита (ссылка вверху страницы).

Следующее, что вам нужно сделать, это создать файл .def (например: myplugin.def). Он должен содержать как минимум следующие строки:

EXPORTS main=_main

Компиляторы Borland добавляют подчеркивание к именам функций, и это экспортирует main()функцию так, как ее ожидает хост VST. Дополнительные сведения о файлах .def см. В файлах справки C ++ Builder.

Однако этого недостаточно. Если вы собираетесь использовать какой-либо элемент VCL (что-либо связанное с формами или компонентами), вы должны позаботиться о том, чтобы ваш плагин не вызывал сбой Cubase (или другого хоста VST, если на то пошло). Вот как:

  1. Включите float.h.
  2. В конструкторе вашего класса эффекта напишите

    _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);

Это должно делать свое дело.

Вот еще несколько полезных сайтов:

http://www.steinberg.net/en/company/developer.html

как написать плагин vst (pdf) через http://www.asktoby.com/#vsttutorial

Развитие 4.0
источник
1
две ваши ссылки не заполнены, пожалуйста, исправьте.
tiboo
44

Я знаю, что ему 3 года, но для всех, кто это сейчас читает: не придерживайтесь VST, AU или формата любого поставщика. Steinberg прекратил поддержку VST2, и у людей возникают проблемы с переносом своего кода в новые форматы, потому что он слишком привязан к VST2.

Эти руководства охватывают создание подключаемых модулей, которые работают на Win / Mac, 32/64, всех форматах подключаемых модулей из одной и той же кодовой базы.

Basteln
источник
Это руководство предназначено только для Mac.
liftarn
6
Что касается частей, в которых есть различия, учебники охватывают как Mac, так и Windows. Однако автор использует Mac.
basteln
28

Я написал HOWTO по разработке VST на C ++ с помощью Visual Studio. время назад котором подробно описаны шаги, необходимые для создания базового плагина для платформы Windows (версия этой статьи для Mac скоро появится). В Windows подключаемый модуль VST представляет собой обычную DLL, но есть ряд "ошибок", и вам необходимо создать подключаемый модуль, используя определенные переключатели компилятора / компоновщика, иначе он не будет распознан некоторыми хостами.

Что касается Mac, плагин VST - это просто комплект с расширением .vst, хотя есть также несколько параметров, которые необходимо правильно настроить, чтобы создать действующий плагин. Вы также можете скачать набор шаблонов проектов плагинов Xcode VST. я сделал некоторое время назад, которые могут помочь вам написать рабочий плагин на этой платформе.

Что касается AudioUnits, Apple предоставила собственные шаблоны проектов, которые включены в Xcode. У Apple также есть очень хорошие руководства и документация в Интернете:

Я также настоятельно рекомендую проверить Juce Framework , который имеет отличную поддержку для создания кроссплатформенных плагинов VST / AU. Если вы переходите на открытый исходный код, то Juce - это не проблема, но вам нужно будет заплатить за него лицензионный сбор, если вы планируете выпускать свою работу без исходного кода.

Ник Рейман
источник
7

Если вы знаете язык .NET (C # / VB.NET и т. Д.), Проверьте VST.NET . Эта структура позволяет создавать (неуправляемые) плагины VST 2.4 в .NET. Он поставляется со структурой, которая структурирует и упрощает создание подключаемого модуля VST с поддержкой параметров, программ и сохраняемости.

Есть несколько примеров, демонстрирующих типичные сценарии плагинов. Также есть документация, в которой объясняется, как начать работу, и некоторые концепции VST.NET.

Надеюсь, поможет. Марк Якоби

Obiwanjacobi
источник
5

Я понимаю, что это очень старый пост, но мне удалось успешно использовать библиотеку JUCE, которая создает проекты для основных IDE, таких как Xcode, VS и Codeblocks, и автоматически создает VST / 3, AU / v3, RTAS и AAX.

https://www.juce.com/

user43633
источник
Для тех, кто задается вопросом, хороший ли это путь, следование руководству OSX в точности не дало мне результатов, только ошибки.
Seph Reed