Como são feitos os plug-ins VST?

105

Eu gostaria de fazer (ou aprender a fazer) plug-ins VST. Existe um SDK especial para isso? como se produz um .vst em vez de um .exe? Além disso, se alguém está procurando fazer unidades de áudio para Logic Pro, como isso é feito? obrigado

jmasterx
fonte

Respostas:

50

Comece com este link para o wiki, explica o que são e fornece links para o SDK. Aqui estão algumas informações sobre o deve

Como compilar um plugin - Para fazer plugins VST no C ++ Builder, primeiro você precisa do sdk VST de Steinberg. Está disponível no site do Yvan Grabit (o link está no topo da página).

A próxima coisa que você precisa fazer é criar um arquivo .def (por exemplo: myplugin.def). Deve conter pelo menos as seguintes linhas:

EXPORTS main=_main

Os compiladores da Borland adicionam um sublinhado aos nomes das funções e isso exporta a main()função da maneira que um host VST espera. Para obter mais informações sobre os arquivos .def, consulte os arquivos de ajuda do C ++ Builder.

No entanto, isso não é suficiente. Se você for usar qualquer elemento VCL (qualquer coisa que tenha a ver com formulários ou componentes), você deve tomar cuidado para que seu plugin não bloqueie o Cubase (ou outro host VST, por falar nisso). Veja como:

  1. Inclui float.h.
  2. No construtor de sua classe de efeito, escreva

    _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);

Isso deve funcionar.

Aqui estão alguns sites mais úteis:

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

como escrever um plugin vst (pdf) via http://www.asktoby.com/#vsttutorial

Desenvolvimento 4.0
fonte
1
dois dos seus links não estão concluídos, corrija-o.
tiboo
44

Eu sei que isso tem 3 anos, mas para todos que estão lendo isso agora: Não se limite ao formato VST, AU ou de qualquer fornecedor. Steinberg parou de suportar VST2, e as pessoas estão com problemas para portar seu código para formatos mais novos, porque está muito ligado ao VST2.

Esses tutoriais cobrem a criação de plug-ins que são executados em Win / Mac, 32/64, todos os formatos de plug-in da mesma base de código.

Basteln
fonte
Esse tutorial parece ser apenas para Mac.
liftarn
6
Para as partes em que há diferenças, os tutoriais abrangem Mac e Windows. O autor usa um Mac embora.
basteln de
28

Eu escrevi um COMO FAZER para o desenvolvimento VST em C ++ com Visual Studio há algum tempo, que detalha as etapas necessárias para criar um plugin básico para a plataforma Windows (a versão para Mac deste artigo será lançada). No Windows, um plug-in VST é apenas uma DLL normal, mas há uma série de "pegadinhas" e você precisa construir o plug-in usando algumas opções de compilador / vinculador específicas ou ele não será reconhecido por alguns hosts.

Quanto ao Mac, um plugin VST é apenas um pacote com a extensão .vst, embora haja também algumas configurações que devem ser configuradas corretamente para gerar um plugin válido. Você também pode baixar um conjunto de modelos de projeto de plug-in VST do Xcode que criei há algum tempo, que podem ajudá-lo a escrever um plug-in funcional nessa plataforma.

Quanto às AudioUnits, a Apple forneceu seus próprios modelos de projeto que estão incluídos no Xcode. A Apple também tem tutoriais e documentação online muito bons:

Eu também recomendo verificar o Juce Framework , que tem um excelente suporte para a criação de plug-ins VST / AU de plataforma cruzada. Se você está mudando o código-fonte, então Juce é um acéfalo, mas você precisará pagar taxas de licenciamento por ele se planeja lançar seu trabalho sem o código-fonte.

Nik Reiman
fonte
7

Se você conhece uma linguagem .NET (C # / VB.NET etc), verifique o VST.NET . Esta estrutura permite que você crie plug-ins VST 2.4 (não gerenciados) em .NET. Ele vem com um framework que estrutura e simplifica a criação de um Plugin VST com suporte para Parâmetros, Programas e Persistência.

Existem vários exemplos que demonstram os cenários típicos de plug-ins. Também há documentação que explica como começar e alguns dos conceitos por trás do VST.NET.

Espero que ajude. Marc Jacobi

obiwanjacobi
fonte
5

Sei que esta é uma postagem muito antiga, mas tive sucesso usando a biblioteca JUCE, que constrói projetos para os principais IDEs como Xcode, VS e Codeblocks e constrói automaticamente VST / 3, AU / v3, RTAS e AAX.

https://www.juce.com/

user43633
fonte
Para quem está se perguntando se esse é um bom caminho, seguir exatamente o tutorial do OSX não rendeu resultados para mim, apenas erros.
Seph Reed