【发布时间】:2011-02-04 13:53:55
【问题描述】:
我想制作(或学习如何制作)VST 插件。有专门的 SDK 吗?如何产生 .vst 而不是 .exe?另外,如果有人想为 Logic Pro 制作音频单元,那是怎么做的? 谢谢
【问题讨论】:
我想制作(或学习如何制作)VST 插件。有专门的 SDK 吗?如何产生 .vst 而不是 .exe?另外,如果有人想为 Logic Pro 制作音频单元,那是怎么做的? 谢谢
【问题讨论】:
从这个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
【讨论】:
我知道这已经是 3 年了,但对于现在阅读本文的每个人来说:不要拘泥于 VST、AU 或任何供应商的格式。 Steinberg 已经停止支持 VST2,人们在将他们的代码移植到更新的格式时遇到了麻烦,因为它与 VST2 太绑定了。
These tutorials 涵盖了创建可在 Win/Mac、32/64 上运行的插件,所有插件格式来自同一代码库。
【讨论】:
我不久前写了一个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 是不二之选,但如果您打算在没有源代码的情况下发布您的作品,则需要为此支付许可费。
【讨论】:
我意识到这是一篇很老的帖子,但我已经成功使用了 JUCE 库,它为 Xcode、VS 和 Codeblocks 等主要 IDE 构建项目并自动构建 VST/3、AU/v3、RTAS 和AAX。
【讨论】:
如果您了解 .NET 语言(C#/VB.NET 等),请查看 VST.NET。此框架允许您在 .NET 中创建(非托管)VST 2.4 插件。它带有一个框架,可以构建和简化 VST 插件的创建,并支持参数、程序和持久性。
有几个示例演示了典型的插件场景。还有一些文档解释了如何开始以及 VST.NET 背后的一些概念。
希望对您有所帮助。 马克·雅可比
【讨论】: