¿Cómo se hacen los complementos VST?

105

Me gustaría hacer (o aprender a hacer) complementos VST. ¿Existe un SDK especial para esto? ¿Cómo se obtiene un .vst en lugar de un .exe? Además, si uno está buscando hacer unidades de audio para Logic Pro, ¿cómo se hace? Gracias

jmasterx
fuente

Respuestas:

50

Comience con este enlace a la wiki, explica qué son y proporciona enlaces al sdk. Aquí hay alguna información sobre el desarrollo

Cómo compilar un complemento: para crear complementos VST en C ++ Builder, primero necesita el sdk VST de Steinberg. Está disponible en el sitio de Yvan Grabit (el enlace está en la parte superior de la página).

Lo siguiente que debe hacer es crear un archivo .def (por ejemplo: myplugin.def). Esto debe contener al menos las siguientes líneas:

EXPORTS main=_main

Los compiladores de Borland agregan un guión bajo a los nombres de las funciones, y esto exporta la main()función de la forma en que lo espera un host VST. Para obtener más información sobre los archivos .def, consulte los archivos de ayuda de C ++ Builder.

Sin embargo, esto no es suficiente. Si va a utilizar cualquier elemento VCL (cualquier cosa que tenga que ver con formularios o componentes), debe tener cuidado de que su complemento no bloquee Cubase (u otro host VST, para el caso). Así es cómo:

  1. Incluya float.h.
  2. En el constructor de su clase de efecto, escriba

    _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);

Eso debería hacer el truco.

A continuación, se muestran algunos sitios más útiles:

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

cómo escribir un complemento vst (pdf) a través de http://www.asktoby.com/#vsttutorial

Desarrollo 4.0
fuente
1
dos de sus enlaces no están completos, corríjalo.
tiboo
44

Sé que esto tiene 3 años, pero para todos los que lean esto ahora: no se ciñan a VST, AU ni al formato de ningún proveedor. Steinberg ha dejado de admitir VST2 y la gente tiene problemas para migrar su código a formatos más nuevos porque está demasiado ligado a VST2.

Estos tutoriales cubren la creación de complementos que se ejecutan en Win / Mac, 32/64, todos los formatos de complementos desde la misma base de código.

basteln
fuente
Ese tutorial parece ser solo para Mac.
Liftarn
6
Para las partes donde hay diferencias, los tutoriales cubren tanto Mac como Windows. Sin embargo, el autor usa una Mac.
basteln
28

Escribí un CÓMO para el desarrollo de VST en C ++ con Visual Studio hace un tiempo que detalla los pasos necesarios para crear un complemento básico para la plataforma Windows (la versión para Mac de este artículo está próxima). En Windows, un complemento VST es solo una DLL normal, pero hay una serie de "errores" y es necesario crear el complemento utilizando algunos conmutadores de compilador / enlazador específicos o, de lo contrario, algunos hosts no lo reconocerán.

En cuanto a Mac, un complemento VST es solo un paquete con la extensión .vst, aunque también hay algunas configuraciones que deben configurarse correctamente para generar un complemento válido. También puede descargar un conjunto de plantillas de proyectos de complementos Xcode VST que hice hace un tiempo y que pueden ayudarlo a escribir un complemento que funcione en esa plataforma.

En cuanto a AudioUnits, Apple ha proporcionado sus propias plantillas de proyecto que se incluyen con Xcode. Apple también tiene muy buenos tutoriales y documentación en línea:

También recomendaría encarecidamente consultar Juce Framework , que tiene un excelente soporte para crear complementos VST / AU multiplataforma. Si opta por el código abierto, entonces Juce es una obviedad, pero deberá pagar las tarifas de licencia si planea lanzar su trabajo sin código fuente.

Nik Reiman
fuente
7

Si conoce un lenguaje .NET (C # / VB.NET, etc.), consulte VST.NET . Este marco le permite crear complementos VST 2.4 (no administrados) en .NET. Viene con un marco que estructura y simplifica la creación de un complemento VST con soporte para parámetros, programas y persistencia.

Hay varios ejemplos que demuestran los escenarios típicos de complementos. También hay documentación que explica cómo empezar y algunos de los conceptos detrás de VST.NET.

Espero eso ayude. Marc Jacobi

obiwanjacobi
fuente
5

Me doy cuenta de que esta es una publicación muy antigua, pero he tenido éxito al usar la biblioteca JUCE, que crea proyectos para los principales IDE como Xcode, VS y Codeblocks y crea automáticamente VST / 3, AU / v3, RTAS y AAX.

https://www.juce.com/

user43633
fuente
Para aquellos que se preguntan si este es un buen camino, seguir exactamente el tutorial de OSX no arrojó resultados para mí, solo errores.
Seph Reed