Создание vst плагинов visual studio
Я хотел бы создавать (или научиться создавать) плагины VST. Есть ли для этого специальный SDK? как получить .vst вместо .exe? Кроме того, если кто-то хочет создать Audio Units для Logic Pro, как это сделать? Спасибо
Начните с этой ссылки на вики, объясняет, что это такое, и дает ссылки на SDK. Вот некоторая информация о deve
Как скомпилировать плагин - для создания VST-плагинов в C ++ Builder сначала вам понадобится VST sdk от Steinberg. Он доступен на сайте Ивана Грабита (ссылка находится вверху страницы).
Следующее, что вам нужно сделать, это создать файл .def (например: myplugin.def). Он должен содержать как минимум следующие строки:
Компиляторы Borland добавляют подчеркивание к именам функций, и это экспортирует функцию main() так, как ее ожидает хост VST. Дополнительные сведения о файлах .def см. В файлах справки C ++ Builder.
Однако этого недостаточно. Если вы собираетесь использовать какой-либо элемент VCL (что-либо связанное с формами или компонентами), вы должны позаботиться о том, чтобы ваш плагин не вызывал сбой Cubase (или другого хоста VST, если на то пошло). Вот как:
В конструкторе вашего класса эффекта напишите
Это должно делать свое дело.
Вот еще несколько полезных сайтов:
Я понимаю, что это очень старый пост, но мне удалось успешно использовать библиотеку JUCE, которая создает проекты для основных IDE, таких как Xcode, VS и Codeblocks, и автоматически создает VST / 3, AU / v3, RTAS и AAX.
Надеюсь, поможет. Марк Якоби
Я написал HOWTO по разработке VST на C ++ с помощью Visual Studio некоторое время назад, в котором подробно описаны шаги, необходимые для создания базового подключаемого модуля для платформы Windows (версия этой статьи для Mac скоро появится). В Windows подключаемый модуль VST представляет собой обычную DLL, но есть ряд "ошибок", и вам необходимо создать подключаемый модуль, используя определенные переключатели компилятора / компоновщика, иначе он не будет распознан некоторыми хостами.
Что касается Mac, плагин VST - это просто комплект с расширением .vst, хотя есть также несколько параметров, которые необходимо правильно настроить, чтобы сгенерировать действительный плагин. Вы также можете загрузить набор шаблонов проектов плагинов Xcode VST, которые я сделал некоторое время назад, которые могут помочь вам написать рабочий плагин на этой платформе.
Что касается AudioUnits, Apple предоставила собственные шаблоны проектов, которые включены в Xcode. У Apple также есть очень хорошие руководства и документация в Интернете:
Я также настоятельно рекомендую ознакомиться с Juce Framework, который отлично поддерживает создание кроссплатформенных плагинов VST / AU. . Если вы переходите на открытый исходный код, то Juce не составляет труда, но вам нужно будет заплатить за него лицензионные сборы, если вы планируете выпускать свою работу без исходного кода.
Я знаю, что ему 3 года, но для всех, кто это сейчас читает: не придерживайтесь VST, AU или любого формата поставщика. Steinberg прекратил поддержку VST2, и у людей возникают проблемы с переносом своего кода в новые форматы, потому что он слишком привязан к VST2.
Эти руководства охватывают создание подключаемых модулей, которые работают на Win / Mac, 32/64, все форматы подключаемых модулей из одного и того же кодовая база.
Этот пост — первый из серии переводов руководства Мартина Финке о написании собственных аудиоплагинов.
Отличительной особенностью этого материала является отсутствие зависимости от формата плагина и платформы его использования. Внимание сфокусировано на общей структуре аудиоплагина. Затем алгоритмы оборачиваются в слой абстракции для сборки в форматы VST, VST3, AU, RTAS, AAX или в отдельное приложение.
Сам Мартин больше работает на Маке, но руководство содержит и все необходимые шаги для разработки на Windows.
Введение
Аудиоплагины — это программы, которые загружаются в хост (например Ableton Live, Logic или REAPER). Они обрабатывают аудио и\или MIDI данные. У них, как правило, есть GUI (графический пользовательский интерфейс). Вот три примера (U-He Zebra, Sonalksis FreeG и D16 Decimort):
Как видите, в GUI присутствуют элементы управления (чаще всего это какие-нибудь ручки), меняющие то, как плагин обрабатывает входящие данные. Еще есть набор пресетов (предустановок — на скриншотах они называются Combo и Emulator), в которых хранятся положения ручек и других параметров.
Начнем мы с дисторшена — это достаточно простой плагин. После этого мы сделаем вот такой субстрактивный синтезатор, шаг за шагом:
Будем использовать С++ и библиотеку WDL-OL. Она основана на библиотеке Cockos WDL (произносится как «уитл»). Она делает за нас кучу работы, вот самые важные моменты:
- Содержит уже готовые проекты Xcode / Visual Studio
- Создает плагины в форматах VST, AudioUnit, VST3 и RTAS из нашего кода. Просто выбираем формат и жмем запустить!
- Создает 32\64-битные версии
- Запускает ваш плагин как самостоятельное приложение в Windows или MacOS
- Содержит множество разных элементов GUI, которые используются в аудиоплагинах
Также в этой библиотеке есть некоторые часто используемые алгоритмы, например, передискретизация. Вот в этой ветке форума есть много скринов плагинов, написанных при помощи WDL.
Разные форматы плагинов делают более-менее одно и то же. Следовательно, в коде обычно бывает много копипасты. Как программист, вы должны стараться не повторяться, так что рано или поздно вы бы написали свой собственный слой абстракции над разными форматами. Но это уже существует в виде фрэймворка IPlug, являющегося частью WDL. Это самая раздражающая часть процесса разработки, так что теперь мы сможем сфокусироваться на таких интересных штуках, как:
- Обработка аудио и MIDI
- Внешний вид плагина
- Интеграция с хостом (автоматизация, пресеты и прочее)
Еще одна замечательная вещь в WDL это разрешительная лицензия. Библиотеку можно свободно использовать даже в коммерческих продуктах (см. детальную информацию по ссылкам выше).
Как мы это сделаем
В программировании результат сам по себе — это уже вознаграждение, но именно по пути к результату мы учимся. В этом руководстве не будет длинных листингов с идеальными решениями. Мы начнем с того, что работает, и будем постепенно развивать это, встречаясь с разными проблемами. Минус в том, что вы будете писать код, который впоследствии замените на лучший. Но программистам к этому не привыкать. Первый плюс: не будет переполняющей радости, т. к. мы будем подходить к решению постепенно вместо того, чтобы сделать все одним махом. Второй — это то, что мы получим некоторые ценные знания в программировании.
Эта серия постов — не о решении задач по матану без калькулятора на бумажке. Она о том, как создавать хорошее программное обеспечение, которое вы можете дать своему другу-продюсеру, чтобы он сделал бас пожирнее.
Что нам понадобится
- Mac с Xcode 4 или выше, или Windows с Visual Studio C++ 2010 или выше
- Некоторое понимание С++ (синтаксис, указатели, основы ООП, механизмы памяти). Вы могли слышать, что С++ это тяжелый язык, но мы не будем использовать слишком сложные приемы.
- Некоторые общие знания о [цифровом] звуке: что такое амплитуда и частота, что делает фильтр, как аудио представляется с определенной частотой дискретизации (sample rate) и битовой глубиной (bit depth). Если вы делали музыку раньше, то, скорее всего, это все вам уже знаете.
- Заинтересованность в обработке цифровых сигналов и в разработке GUI: это две основные темы данного руководства. Если у вас нет никаких знаний в обработке цифровых сигналов, то по ходу разработки вам придется почитывать дополнительные материалы для заполнения пробелов. Я постараюсь давать ссылки на дополнительное чтение.
Полезные ресурсы
Пара ссылок, которые нам могут пригодиться:
-
: здесь можно узнать, например, что значат непонятные предупреждения, которые вы будете получать от компилятора. : очень хорошая бесплатная книга (на английском), покрывает больше материала, чем нам нужно. Если вам будет непонятен какой-нибудь концепт из обработки сигналов, почитайте эту тему в ней.
Теперь пора все настроить и подготовить.
Установка и настройка WDL-OL
Сейчас мы установим библиотеку WDL-OL и ее зависимости. Затем запустим пример, просто чтобы убедиться, что все работает как надо.
Большая часть этого материала есть в видео Оли Ларкина:
Материал следующей секции в основном для настройки на Mac. Windows будет немного ниже.
Настройка на Mac OS X с использованием Xcode 4
Перед тем, как мы начнем, надо скачать и установить парочку новых вещей. Это немного муторно, но придется сделать только один раз.
- Если не установлен Xcode, скачайте и установите.
- Cкачайте последнюю версию VST3 SDK. Для скачивания нужно зарегистрировать аккаунт.
- Скачайте Audio Tools for Xcode. В меню Xcode щелкните Open Developer Tool → More Developer Tools… (или кликайте сюда). Найдите Audio Tools for Xcode в списке, скачайте и установите. Для разных OS X есть разные версии, так что выбирайте внимательнее.
- Скачайте RtAudio (в пакет включены некоторые нужные файлы из ASIO SDK).
- Если у вас нету git, стоит его установить.
Загрузка WDL-OL
Откройте Terminal и напечатайте следующие строки, чтобы создать новую папку в вашей домашней директории и переместиться туда:
Давайте загрузим WDL-OL:
Эти строчки можно скопировать и вставить. Главное — не забудьте точку в конце! Тогда вы наверняка будете использовать ту же версию WDL-OL, что и в этом руководстве. На данный момент должна появиться подпапка wdl-ol.
Добавление зависимостей
Заходите в ASIO_SDK и скопируйте сюда файлы .cpp и .h из папки include из RtAudio.
Разархивируйте VST3 SDK и скопируйте файлы aeffect.h и aeffectx.h из папки pluginterfaces/vst2.x в подпапку wdl-ol/VST_SDK (они могут быть уже включены в VST3 SDK в подпапке pluginterfaces/vst2.x). Помимо этого для VST3 вам понадобятся base/source, pluginterfaces и public.sdk/source. Скопируйте из следующим образом:
Обратите внимание, что папку public.sdk надо будет создать вручную. Так в итоге должно выглядеть ваше дерево папок:
Теперь откройте common.xcconfig (он должен открыться в Xcode) и внесите следующие изменения:
CERTIFICATE_ID = Your Name
// Add these lines:
VST_FOLDER =
/Library/Audio/Plug-Ins/Components
// Comment these out:
//VST_FOLDER = /Library/Audio/Plug-Ins/VST
//VST3_FOLDER = /Library/Audio/Plug-Ins/VST3
//AU_FOLDER = /Library/Audio/Plug-Ins/Components
Также мы будем использовать Mac OS X 10.5 для переменных BASE_SDK и MACOSX_DEPLOYMENT_TARGET . Продюсеры, и в особенности владельцы студий, часто очень ленятся обновлять свою ОС. Им не нужны новые фишки, а вот несколько дней простоя из-за проблем с обновлением софта могут вылиться в большие финансовые потери.
На самом деле deployment target содержит информацию о той версии, которая понадобится пользователям, но я предпочитаю прописывать ту же версию для основного SDK.
SDK 10.5 не включен в Xcode 4. Если он у вас уже установлен, переходите к пункту «Запуск тестового проекта». Если нет, то читайте дальше:
Установка SDK 10.5
Чтобы его установить, нужно скачать Xcode 3.2.6. Когда вы его скачаете, смонтируйте .dmg файл, откройте Terminal.app и введите
open /Volumes/Xcode\ and\ iOS\ SDK/Packages/
Снова появится окно поисковика. Перетащите в него папку MacOSX10.5.sdk. После перезапуска Xcode старый SDK должен быть доступен в Xcode 4. Убедитесь, что вы сделали резервную копию MacOSX10.5.sdk где-нибудь: если вы будете обновлять Xcode до более поздней версии, вам, возможно, придется повторить эти действия.
Запуск тестового проекта
В Терминале перейдите в папку с примерами:
Запустите скрипт dublicate чтобы создать свой первый плагин (замените YourName что-нибудь свое):
./duplicate.py IPlugEffect/ MyFirstPlugin YourName
Теперь там появилась новая папка MyFirstPlugin. Зайдите в нее и откройте MyFirstPlugin.xcodeproj. Выберите таргет APP:
Кликните Run. Выскочат несколько ошибок линкера:
Снова кликните Run. Через пару секунд плагин появится в виде самостоятельного приложения:
Проверка версии AudioUnit при помощи Logic
Если у вас нет Logic, можно использовать бесплатный инструмент auval для проверки. Убедитесь, что сборка AU Target прошла успешно, откройте Terminal и введите:
auval -a 2> /dev/null | grep MyFirstPlugin
Он должен выдать что-то типа этого:
aumu Abcd Efgh - YourName: MyFirstPlugin
Если Logic или auval не находят AU (а другие хосты типа REAPER его видят), зайдите в настройки сборки и убедитесь, что вверху слева выделен таргет AU. В поиске вбейте “active arch”. В результатах должна быть только одна строка параметра Build Active Architecture Only, значение которого . Измените его на No. Таким образом 32-х и 64-х битные версии будут компилироваться даже в режиме Debug. После этого зайдите в Product → Clean (Cmd+Shift+K) и запустите сборку снова. Теперь должно заработать.
Установка на Windows с использованием Visual C++ 2010 Express
Для начала установите Visual C++ 2010 Express.VS 2012 вроде тоже подойдет, но лично я не проверял.
- Visual Studio 2010
- Windows SDK 7.1
- Visual Studio 2010 SP1
- Visual C++ 2010 SP1 Compiler Update for the Windows SDK 7.1
Пост с описанием других возможных проблем и их решений находится здесь.
Затем установите Git для Windows, используя настройки по умолчанию. Я использовал версию 1.8.4. Запустите Start → Program Files → Git → Git Bash. Откроется окно терминала. В этом окне введите несколько команд:
Чтобы вставить строки в окно, сделайте правый клик по его заголовку и выберите Edit → Paste:
Теперь скопируйте все файлы VST2/VST3/ASIO SDK в нужные папки, так же, как описано выше. Установите Python, используя настройки по умолчанию. Я использовал 2.7.5.
Чтобы создавать плагины формата VST3, надо создать папку VST3. Выполните в терминале эту команду:
mkdir -p "C:\Program Files\Common Files\VST3"
Теперь перейдите в терминале в подпапку IPlugExamples:
Запустите скрипт duplicate при помощи Python:
c:\Python27\python.exe duplicate.py IPlugEffect MyFirstPlugin YourName
Появится новая папка MyFirstPlugin. Зайдите в нее и откройте MyFirstPlugin.sln. Не обращайте внимания на предупреждения, они говорят о том, что мы не сможем собрать форматы AAX и TDM. В окне project explorer слева убедитесь, что MyFirstPlugin-app выделено жирным:
Если это не так, кликните по нему и выберите Set as StartUp Project. Жмите F5, должно появиться такое окно:
Возможные проблемы
Если вы видите ошибку fatal error LNK1123 в процессе сборки, вам нужно отключить incremental linking: правым кликом по проекту MyFirstPlugin-app, кликайте по Properties и заходите в Configuration Properties → Linker (General) → Enable Incremental Linking → “No (/INCREMENTAL:NO)”.
Если проблема не решается, попробуйте установить Visual Studio 2010 SP1, если еще не устанавливали. Так же может пригодиться обновление компилятора для создания 64-х битных версий плагинов.
Я хотел бы сделать (или узнать, как сделать) Плагины VST. Для этого есть специальный SDK? как можно получить a .vst вместо a .exe? Кроме того, если вы хотите сделать аудиоустройства для Logic Pro, как это сделать? Спасибо
начните с этого ссылке в вики, объясняет, что они такое и дает ссылки на sdk. Вот некоторая информация о deve
как скомпилировать плагин-для создания плагинов VST в C++Builder, сначала вам нужен VST sdk от Steinberg. Он доступен с сайта Yvan Grabit (ссылка находится в верхней части страницы).
следующее, что вам нужно сделать, это создать .def-файл (например: myplugin.DEF.) Это должно содержать по крайней мере следующие строки:
компиляторы Borland добавляют подчеркивание к именам функций, и это экспортирует main() функция так, как ожидает хост VST. Для получения дополнительной информации .def-файлы, см. файлы справки C++Builder.
этого, однако, недостаточно. Если вы собираетесь использовать любой элемент VCL (что-либо связанное с формами или компонентами), вы должны позаботиться о том, чтобы ваш плагин не разбил Cubase (или другой хост VST, если на то пошло). Это место как:
в конструкторе вашего класса эффектов напишите
это должно сделать трюк.
вот еще несколько полезных сайтов:
Я знаю, что это 3 лет, но для всех, кто читает это сейчас: не придерживайтесь формата VST, AU или любого поставщика. Steinberg прекратил поддерживать VST2, и люди испытывают проблемы с портированием своего кода в новые форматы, потому что он слишком привязан к VST2.
учебники обложка создание плагинов, которые работают на Win / Mac, 32/64, все форматы плагинов из той же базы кода.
Я написал HOWTO для разработки VST на C++ с Visual Studio некоторое время назад, в котором подробно описаны шаги, необходимые для создания базового плагина для платформы Windows (версия Mac этой статьи будет опубликована). В Windows плагин VST - это просто обычная DLL, но есть несколько "gotchas", и вам нужно построить плагин, используя некоторые конкретные коммутаторы компилятора/компоновщика, иначе он не будет распознан некоторыми хостами.
Что касается Mac, плагин VST просто пачка с собой .расширение vst, хотя есть также несколько настроек, которые должны быть настроены правильно для создания допустимого плагина. Вы также можете скачать набор Xcode VST плагин шаблоны проектов Я сделал некоторое время назад, который может помочь вам написать плагин работает на этой платформе.
Что касается AudioUnits, Apple предоставила свои собственные шаблоны проектов, которые включены в Xcode. Apple также имеет очень хорошие учебники и документация online:
Я также настоятельно рекомендую проверить Рамки Juce, который имеет отличную поддержку для создания кросс-платформенных плагинов VST/AU. Если вы собираетесь с открытым исходным кодом, то Juce-это без проблем, но вам нужно будет заплатить лицензионные сборы за него, если вы планируете выпустить свою работу без исходного кода.
надеюсь, что это помогает. Марк Якоби!--3-->
Я понимаю, что это очень старый пост, но у меня был успех с помощью библиотеки JUCE, которая строит проекты для основных IDE, таких как Xcode, VS и Codeblocks, и автоматически создает VST/3, AU/v3, RTAS и AAX.
За исключением стандартных библиотек SDK (необходимых в каждом ВСТ-плагине), все представленные алгоритмы разработаны специально для этого проекта.
Элементы SDK
SDK содержит много *.h, *.hpp, и *.cpp файлов, уже размещённых на своих местах. Из всех этих файлов только один *.cpp файл будет активно редактироваться. Стеинберг просит не редактировать другие файлы SDK (хост программы будут их использовать для корректной работы с плагином).
Давайте посмотрим на отображение нашего кольцевого модулятора в разных хост-программах:
Orion | WaveLab | Cubase |
Функции process() и processReplacing()
Хост-программа часто воспроизводит внешние аудио-файлы. Аудио воспроизводится с жёсткого диска и микшируется в программном миксере. На этом микшере есть параметры “send” и “insert”, как и в аналоговых микшерах. С помощью этих инструментов могут быть добавлены и использованы ВСТ плагины. Инструмент send отправляет аудио поток к плагину, перед достижением выхода на мастере (master output). Инструмент “insert” посылает сигнал через плагин, удаляя определённые параметры (используется в сайдчейне и вокодере ).
Выбор функции process() и processReplacing() зависит от того, хотите ли Вы использовать “send” или “insert” оперции в качестве аудиоэффекта. Эти функции задают характер взаимодействия между хост-программой и плагином.
Для первого примера, плагин создан для приёма звука (input) и последующей передачи, без изменений, на выход ( output). Он работает как insert эффект и использует функцию processReplacing().
Главная часть:
О коде:
Когда функция начинает действовать она имеет **inputs и **outputs, которые соответствуют входящему и выходящему буферам, SampleFrames задаёт размер буфера. Значения входа ( input) и выхода (output) формируются из переменных in1 и in2 (которые представляют левый и правый входные каналы), и переменные out1 and out2 (левый и правый выходные каналы) соответственно.
Представление аудио в SDK
Важно знать, то что аудио информация в плагинах находится (варьирует) между +/-1.
Перед тем как переёти к следующей части, мы создали плагин, в котором на выход одного канала посылается значение +1, на выход другого канала посылается значение -1.
Код:
После того, как мы откомпилировали этот код и записали выходящий сигнал, который обрабатывается нашим плагином, мы получили следующий результат:
В качестве следующего шага от пустого плагина, будет создан модулятор треугольной формы волны. Эта часть должна дать фундаментальное понимание того, как к уже существующему плагину можно добавить новые возможности.
Блок схема нашего модулятора:
Давайте посмотрим на форму волны входящего аудио потока:
Треугольную форму волны (показано для примера):
И на форму волны выходящего аудио-потока:
1/11020 = 0.000090744
Если это значение (11020ая от 1-цы) будет разделено на 8, то мы получим:
0.000090744 / 8 = 0.000011343
Это значение может быть использовано пользователем для контроля частоты модуляци. Новая переменная topFreq содержит в себе максимальное значение амплитуды, после обработки модулятором. Переменная fГейн, которая содержит значения от 0 до 1, может быть умножена на переменную topFreq, для генерирования пропорции 1kHz на лету.
Замена треугольного модулятора синусойдной волной
Этот небольшой эксперимент был сделан для того чтобы показать то что при простом искажение волны , БПФ показывает гораздо больше гармоник, хотя до этого была только одна базовая частота. (Синусоидная форма волны имеет меньше всего гармоник, при искажении формы добавляются гармоники, квадратная форма волны имеет больше всего гармоник. Например эффект дисторшен применяется для обогащения входящего потока гармониками путём искажения формы волны от синусойдной к более квадратной, по сути тут это и было сделано, путём завышения уровня сигнала и как следствие его искажения).
Для лучшего понимания ознакомтесь с блок схемой:
Чтобы лучше понять, ознакомтесь с диаграммами:
Синус с небольшим периодом, который используется для модулирования входящего сигнала:
Результат на выходе:
В качестве финального обновления плагина, будет добавлен генератор низких частот ( LFO ), с помощью которого будет контролироваться частота модуляции. К GUI будут добавлены две ручки, для контроля уровня и частоты LFO.
Блок схема показывает то что генерируются два независимых синусоидных сигнала. Один является модулирующим с опр. частотой, и был создан также как и в более ранних примерах. Второй является генератором низких частот ( LFO ). Пользователь сможет контролировать амплитуду и частоту сигнала, изменяя значения контролируемых через GUI переменных countertoo.
C помощью подобного кода можно задавать имена переменных, что позволяет хосту идентифицировать переменные кода и привязать их к опр. объекту GUI.
Автор статьи: Toby Newman
1 комментарий
Я хотел бы сделать (или узнать, как сделать) плагины VST. Есть ли специальный SDK для этого? как можно получить .vst вместо .exe? Кроме того, если вы хотите сделать Audio Units для Logic Pro, как это сделать? Благодаря
Начните с этой ссылка в wiki, объясните, что это такое и дайте ссылки на sdk. Вот некоторая информация о deve
Как скомпилировать плагин - для создания плагинов VST в С++ Builder сначала вам нужен VST sdk от Steinberg. Он доступен на сайте Yvan Grabit (ссылка находится вверху страницы).
Следующее, что вам нужно сделать, это создать файл .def(например: myplugin.def). Это должно содержать по крайней мере следующие строки:
Компиляторы Borland добавляют символы подчеркивания к именам функций, и это экспортирует функцию main() так, как ожидает ее хозяин VST. Дополнительные сведения о файлах .def см. В файлах справки С++ Builder.
Однако этого недостаточно. Если вы собираетесь использовать любой элемент VCL (что-то вроде форм или компонентов), вы должны заботиться о том, чтобы ваш плагин не разбивал Cubase (или другой узел VST, если на то пошло). Вот как:
В конструкторе класса эффекта напишите
Это должно сделать трюк.
Вот еще несколько полезных сайтов:
Я знаю, что это 3 года, но для всех, кто сейчас это читает: не придерживайтесь VST, AU или любого формата вендора. Steinberg прекратил поддерживать VST2, и люди не могут переносить свой код в более новые форматы, потому что он слишком привязан к VST2.
Эти учебные пособия охватывают создание плагинов, которые запускаются на Win/Mac, 32/64, все форматы плагинов из той же базы кода.
Я написал HOWTO для разработки VST на С++ с Visual Studio, который подробно описывает шаги, необходимые для создания основного плагина для Windows платформе (версия Mac этой статьи будет опубликована). В Windows плагин VST - это просто обычная DLL, но есть ряд "gotchas", и вам нужно построить плагин, используя некоторые специальные ключи компилятора/компоновщика, иначе он не будет распознан некоторыми хостами.
Что касается Mac, плагин VST представляет собой просто пакет с расширением .vst, хотя есть несколько настроек, которые необходимо настроить правильно, чтобы создать действительный плагин. Вы также можете скачать набор Xcode VST плагинов проекта Я сделал некоторое время назад, что может помочь вам написать рабочий плагин на этой платформе.
Что касается AudioUnits, Apple предоставила свои собственные шаблоны проектов, которые включены в Xcode. Apple также имеет очень хорошие учебники и документацию онлайн:
Я также очень рекомендую проверить Juce Framework, который отлично поддерживает создание кросс-платформенных плагинов VST/AU. Если вы собираетесь работать с открытым исходным кодом, то Juce без проблем, но вам придется заплатить за него лицензионные сборы, если вы планируете освободить свою работу без исходного кода.
Надеюсь, это поможет. Марк Якоби
Я понимаю, что это очень старый пост, но у меня был успех с использованием библиотеки JUCE, которая строит проекты для основной IDE, такой как Xcode, VS и Codeblocks, и автоматически создает VST/3, AU/v3, RTAS и AAX.
Читайте также: