我想制作(或学习如何制作)VST插件。有没有特殊的SDK?如何产生.vst而不是.exe?另外,如果有人想为Logic Pro制作音频单元,那怎么办呢? 感谢
答案 0 :(得分:43)
从这个link开始到wiki,解释它们是什么,并提供sdk的链接。 以下是有关发展的一些信息
如何编译插件 - 为了在C ++ Builder中制作VST插件,首先需要Steinberg的VST sdk。它可以从Yvan Grabit的网站上获得(链接位于页面顶部)。
您需要做的下一件事是创建一个.def文件(例如:myplugin.def)。这需要包含至少以下几行:
EXPORTS main=_main
Borland编译器在函数名称中添加下划线,并以VST主机期望的方式导出main()
函数。有关.def文件的详细信息,请参阅C ++ Builder帮助文件。
但这还不够。如果您要使用任何VCL元素(与表单或组件有关),您必须注意您的插件不会使Cubase(或其他VST主机)崩溃。方法如下:
在效果类的构造函数中,写
_control87(PC_64|MCW_EM,MCW_PC|MCW_EM);
这应该可以解决问题。
以下是一些更有用的网站:
http://www.steinberg.net/en/company/developer.html
how to write a vst plugin (pdf)通过http://www.asktoby.com/#vsttutorial
答案 1 :(得分:35)
我知道这已经有3年了,但现在每个人都在阅读:不要坚持使用VST,AU或任何供应商的格式。 Steinberg已经停止支持VST2,人们在将代码移植到更新的格式时遇到了麻烦,因为它与VST2的关系过于紧张。
These tutorials涵盖了在Win / Mac,32/64上运行的插件,以及来自相同代码库的所有插件格式。
答案 2 :(得分:27)
我写了一段HOWTO for VST development on C++ with Visual Studio,详细介绍了为Windows平台创建基本插件所需的步骤(本文的Mac版本即将发布)。在Windows上,VST插件只是一个普通的DLL,但是有很多“陷阱”,你需要使用一些特定的编译器/链接器开关来构建插件,否则它将无法被某些主机识别。
对于Mac,VST插件只是一个扩展名为.vst的捆绑包,但也有一些设置必须正确配置才能生成有效的插件。您还可以下载一组Xcode VST plugin project templates我做了一段时间,这可以帮助您在该平台上编写一个可用的插件。
至于AudioUnits,Apple提供了自己的项目模板,这些模板包含在Xcode中。 Apple也有非常好的在线教程和文档:
我还强烈建议您查看Juce Framework,它对创建跨平台VST / AU插件有很好的支持。如果你是开源的,那么Juce是不费脑子的,但如果你计划在没有源代码的情况下发布你的工作,你将需要支付许可费。
答案 3 :(得分:7)
如果您了解.NET语言(C#/ VB.NET等),请结帐VST.NET。此框架允许您在.NET中创建(非托管)VST 2.4插件。它附带了一个框架,可以构建和简化VST插件的创建,并支持参数,程序和持久性。
有几个示例演示了典型的插件方案。还有一些文档说明了如何入门以及VST.NET背后的一些概念。
希望它有所帮助。 Marc Jacobi
答案 4 :(得分:4)
我意识到这是一篇非常古老的帖子,但我已经成功使用了JUCE库,它为主要IDE构建项目,如Xcode,VS和Codeblocks,并自动构建VST / 3,AU / v3,RTAS和AAX。