如何使用 MFC 创建 VST 插件?

Posted

技术标签:

【中文标题】如何使用 MFC 创建 VST 插件?【英文标题】:How to create VST plugin using MFC? 【发布时间】:2014-11-16 06:50:17 【问题描述】:

我已经有一个 MFC gui 独立程序。应该怎么做才能使它成为 VST 2.x 插件? (如果我使用 VSTGUI/win32/qt/etc 会有很多返工 - 或者是否可以/适合使用 VSTGUI?)

我应该为 VST 2.x gui 插件实现哪些 VST 接口(gui 和其他)?

【问题讨论】:

使用 WDL-OL 是个好方法吗?它没有资源编辑器。 【参考方案1】:

您担心 VST 的 GUI,而实际上您应该担心其余代码的结构。 VST 2.x 为您提供一个框架的 HWND,您所要做的就是创建一个托管您的 GUI 的子窗口。 MFC,原始 WIN32 - 没关系。

但是,真正的“问题”在于 VST 2.x 界面的其余部分。您应该研究这个界面并了解它是如何工作的。然后,您将能够评估您的代码是否具有正确的结构,以便轻松地作为 VST 插件进行接口。

【讨论】:

这是我的第二个问题:应该实现哪些接口(gui 和其他)?【参考方案2】:

您只需要将您的窗口代码从属于您提供的 HWND。最简单的方法是使用 SetParent 从属整个窗口,然后像在普通应用中一样实现 MFC。

但是,没有旋钮,也没有数字或模拟读数。即使使用 MFC,如果您想制作精美的 VST 界面,您也将滚动您自己的 UI 代码。

所以几乎值得自己处理 WM_XXXX 消息并自己进行窗口和绘图。

【讨论】:

以上是关于如何使用 MFC 创建 VST 插件?的主要内容,如果未能解决你的问题,请参考以下文章

如何编译 VST 插件?

如何使用 OSX/XCode 构建 VST 插件

VST 音频插件如何检测来自 VST 主机的流中断?

关于如何使用 JUCE 托管 VST 插件的教程? [关闭]

如何在 C# 中使用 VST 插件 dll?

如何将我的 .vst3 插件提供给其他人?