Как создаются VST плагины? - PullRequest
86 голосов
/ 06 апреля 2010

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

Ответы [ 5 ]

43 голосов
/ 06 апреля 2010

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

Как скомпилировать плагин. Для создания плагинов 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

35 голосов
/ 05 октября 2013

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

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

27 голосов
/ 06 апреля 2010

Я недавно написал 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 голосов
/ 06 апреля 2010

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

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

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

4 голосов
/ 17 октября 2016

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

https://www.juce.com/

...