Answers:
从此Wiki 链接开始,解释它们是什么,并提供与sdk的链接。以下是有关开发人员的一些信息
如何编译插件-要在C ++ Builder中制作VST插件,首先需要Steinberg的VST sdk。可以从Yvan Grabit的站点上获得(链接在页面顶部)。
接下来需要做的是创建一个.def文件(例如:myplugin.def)。这至少需要包含以下几行:
EXPORTS main=_main
Borland编译器在函数名称上添加下划线,并按main()
VST主机期望的方式导出函数。有关.def文件的更多信息,请参见C ++ Builder帮助文件。
但是,这还不够。如果您要使用任何VCL元素(与表单或组件有关),则必须注意您的插件不会使Cubase(或其他VST主机)崩溃。这是如何做:
在效果类的构造函数中,编写
_control87(PC_64|MCW_EM,MCW_PC|MCW_EM);
这应该够了吧。
这是一些更有用的网站:
我知道这已经3年了,但是对于每个现在阅读此书的人来说:不要坚持使用VST,AU或任何供应商的格式。斯坦伯格已经停止支持VST2,并且人们很难将其代码移植到较新的格式,因为它与VST2紧密相关。
这些教程涵盖了如何在Win / Mac,32/64和32/64上运行的插件,以及来自同一代码库的所有插件格式。
不久前,我用Visual Studio编写了C ++ VST开发的HOWTO,其中详细介绍了为Windows平台创建基本插件所必需的步骤(即将发布Mac版本)。在Windows上,VST插件只是普通的DLL,但是有许多“陷阱”,您需要使用某些特定的编译器/链接器开关来构建插件,否则某些主机将无法识别该插件。
对于Mac,VST插件只是带有.vst扩展名的软件包,尽管也有一些设置必须正确配置才能生成有效的插件。您还可以下载我不久前制作的一组Xcode VST插件项目模板,这些模板可以帮助您在该平台上编写有效的插件。
至于AudioUnits,Apple提供了自己的项目模板,这些模板随Xcode一起提供。苹果在线上也有很好的教程和文档:
我也强烈建议您查看Juce Framework,它对创建跨平台VST / AU插件具有出色的支持。如果您要开源,那么Juce无疑是明智之举,但是如果您计划在没有源代码的情况下发布您的作品,则需要为此支付许可费用。
我意识到这是一篇非常古老的文章,但是我使用JUCE库取得了成功,该库为主要的IDE(例如Xcode,VS和Codeblocks)构建项目,并自动生成VST / 3,AU / v3,RTAS和AAX。