在 C#/C++ 中托管 VST/DX 仪器? [关闭]

Posted

技术标签:

【中文标题】在 C#/C++ 中托管 VST/DX 仪器? [关闭]【英文标题】:Hosting a VST/DX instrument in C#/C++? [closed] 【发布时间】:2010-03-04 15:38:13 【问题描述】:

我正在尝试了解在 C++ 或 C# 中构建准系统虚拟仪器主机所涉及的工作量,但我无法获得任何硬信息。有没有人知道这类东西有什么好的入门应用、教程、帮助库?

如果重要的话,目标是 a) 接受传入的 MIDI 事件,b) 将它们分派给虚拟乐器。如果可能,使用 C++ 或 C#。

谢谢!

【问题讨论】:

我的图书馆也是,turboirc.com/vstx 可能会有所帮助。 【参考方案1】:

要捕获传入的 Midi 事件,请使用 Leslie Sanford 的 C# Midi Toolkit(在 codeproject.com 上)或我的 MIDI.NET 库。

VST.NET 允许您加载托管和非托管 VST (2.4) 插件并与之通信。您还可以使用 VST.NET 创建可在非托管主机中运行的托管 VST 插件。

还有一个简单的 C++ 开源 VST 主机,地址为 http://www.hermannseib.com/english/vsthost.htm(在页面底部)

希望对你有帮助。

马克·雅可比 (VST.NET 的作者)

【讨论】:

【参考方案2】:

VST.NET 库似乎是要走的路。

【讨论】:

【参考方案3】:

http://jdmcox.com 的 PianoRollComposer.cpp 有一个简单的例程 (VSTthread),它将 MIDI 数据发送到 VST 插件,然后将接收到的 WAVE 数据发送到 ASIO 驱动程序。

【讨论】:

以上是关于在 C#/C++ 中托管 VST/DX 仪器? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

C#-C#中的Dispose模式

如何在从 C 到 C# 的结构中获取非托管可变长度 C 数组?

我们如何在 c++/cli 项目中使用托管的 nuget 包

如何从我的 C++/CLI 代码进入非托管 C++ 库

在Visual Studio 2010中将Native / C ++ DLL链接到托管C ++ / CLI包装器

C++/CLI 管理的 VS。非托管空头