我只是想在最近获得一个MAC后尝试进入OSX世界。
在过去的几个月里,我还没有成功建立一个有效的VST 2.4。我只是不明白为什么:vst示例中的项目(有些)开箱即用,但我自己的项目无法正常工作。
我已经完全镜像了每个构建设置(包括info.plist和pkginfo),仔细检查了vst.app的内容是否相同,正确构建为具有正确扩展等的vst,并且代码实际上是同样,但我的vst在我试过的任何主机中都没有得到认可。 命令行甚至与构建相同。 我用附带的minihost vst测试仪测试了我的VST,它通过并工作 - 但仍然不会被识别。我甚至用nm检查了导出的符号,它们看起来是正确的(即正确导出了createEffectInstance)。
是什么给出的?必须有一些隐藏的构建设置,我还没有发现它似乎取消了我的VST资格。
答案 0 :(得分:1)
可能是最明显但被忽视的设置:你建造的是32位还是64位?您需要确保位数与主机匹配,否则插件将不会被加载(这可以解释为什么插件可以加载到您自己构建的minihost而不是另一个音序器中)。为了确保与大多数主机的兼容性,我将使用32位版本。
此外,这是我在一段时间内就该主题撰写的教程。但是,你声称你使用Info.plist做了一切正确的事情,但也许你错过了一小步:
http://teragonaudio.com/article/Making-a-VST-plugin-from-scratch-with-Xcode.html
另一个可能有用的工具是MrsWatson(免责声明:我是该程序的作者)。它是一个命令行VST主机,可用于提供有关VST的诊断信息,也可用于插件测试和调试。由于插件有32/64位的困难,因此在Mac OSX上,程序分开32和32。 64位二进制文件,而不是使用通用二进制文件。
您应该尝试在插件上运行以下命令:
mrswatson --verbose --plugin /path/to/wherever/you/put/the/plugin.vst --display-info
如果您看到参数列表和其他信息,那么它应该是Kosher并且能够在大多数序列发生器中加载。希望这能让你走上正轨!
答案 1 :(得分:0)
尝试使用调试器观看主机发出的Dispatcher()来电。检查插件和包含的示例项目之间是否存在任何差异。根据我的经验,主机通常会在Dispatcher()调用引发异常后立即中止加载插件,或者返回主机因任何原因不喜欢的结果。