当前位置:  开发笔记 > 编程语言 > 正文

如何扫描/枚举vst插件dll?

如何解决《如何扫描/枚举vst插件dll?》经验,为你挑选了1个好方法。

我正在尝试构建一个托管vst效果的小程序,我想扫描一个文件夹中的插件dll.
我知道如何找到所有的dll,但现在我有以下问题:

确定给定dll是否为vst插件的最佳方法是什么?
我试着看看ddl是否导出了正确的函数,这适用于使用更新版本的vst sdk制作的插件,因为它导出了一个名为"VstPluginMain"的方法,但旧版本导出了一个相当通用的"main"函数.

如何确定插件是效果还是乐器?

我如何扫描vst shell插件?
Shell插件基本上是以某种方式包含多种效果的dll.一个例子是Waves Audio制作的插件http://www.waves.com/

ps:如果有一个库可以为我做所有这些,请告诉我.



1> Dave Gamble..:

如何确定VST插件?

一旦找到main/VSTPluginMain ......就叫它!如果返回的是NULL,则它不是VST.如果返回的是指向字节"VstP"的指针(参见VstInt32 magic; ///< must be #kEffectMagic ('VstP')aeffect.h),那么你有一个VST.

VSTPluginMain返回指向AEffect结构的指针.您需要查看此结构.

效果还是仪器? AEffect::flags | (effFlagsIsSynth = 1 << 8)

Shell VST更复杂:

类别将是kPlugCategShell

支持"shellCategory"canDo.

使用effShellGetNextPlugin枚举.

例如,使用您想要的ID响应回调中的audioMasterCurrentId.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有