我的音频插件是包含二进制文件的捆绑包,其中包含所有支持格式的导出,例如AU和VST。我将完全相同的包(只是不同的扩展名)复制到
/Library/Audio/Plug-Ins/Components for AU
and
/Library/Audio/Plug-Ins/VST for VST
现在,当用户打开时说出VST插件,它可以正常工作。但是当他打开AU插件之后它崩溃并从堆栈跟踪看起来像一个完整的混乱一个模块调用另一个等等。我原本以为它是旧的Cocoa全局类名,是巨大的Mac OS X设计缺陷,但它似乎并非如此,因为VST使用碳。
它似乎根本没有加载AU模块,只是从VST模块创建了另一个组件,只有AU接口!我有一个全局变量,所以我记录了它的地址,两个插件都是一样的,所以它必须是同一个模块,对吗?
不幸的是,我需要为每个加载正确的加载,因为它们具有不同的初始化和全局变量。那么如何让操作系统正确加载第二个?
谢谢!