如何用易语言开发一个VSTi插件
VSTi插件是一个Windows动态链接库,包含一个导出函数“main”现在需要知道:
这个导出函数需要多少个参数?
这些参数的数据类型是什么?
这个函数的返回值是什么?
下面的是两个VSTi库
https://73327424.lanzouu.com/ieIAn1jbfoij
密码:doso
试试:
参数1整数型, 参数2文本型,参数3文本型
返回整数型 找他的官方 sdk 要调用官方的SDK,下面是 VST3 的资料(VST2 已停止支持):
https://github.com/steinbergmedia/vst3sdk
本帖最后由 DEATHTOUCH 于 2023-12-29 23:34 编辑
可以看我以前写的帖子https://www.52pojie.cn/thread-1458517-1-1.html,讲了VST2的基本原理
如果要VST3的话看我的GitHub仓库https://github.com/DrPeaboss/vst3-pas
不过都是用Pascal/Delphi实现的,不过理论上易语言把接口对上了都是可以的
我还在cnblogs发表过一个VST架构的分析https://www.cnblogs.com/PeaZomboss/p/17602092.html
顺便给你摘录cnblogs那篇文章的部分内容:
插件的入口函数一般是这么定义的:
```cpp
AEffect *VSTPluginMain(audioMasterCallback hostCallback)
{
new MyPlugin(hostCallback)->getAEffect();
}
```
这里的`MyPlugin`是一个C++的类,参数就是`audioMasterCallback`的回调,然后调用`getAEffect`获取该类对应的`AEffect`结构体指针,每个插件的实例都要这样,不然插件之间会影响。
入口函数的名称除了`VSTPluginMain`也可以是`main`,一般只要前者,记得要在DLL导出,不同编译器有不同的方法。
页:
[1]