Some hosts don't recognise my VST plugins?

I’m going out of my mind here with this. I am building a simple VST plugin on my M1 mac. It’s a universal plugins.

PluginSynth.vst/Contents/MacOS/PluginSynth: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit bundle x86_64] [arm64]
PluginSynth.vst/Contents/MacOS/PluginSynth (for architecture x86_64): Mach-O 64-bit bundle x86_64
PluginSynth.vst/Contents/MacOS/PluginSynth (for architecture arm64): Mach-O 64-bit bundle arm64

The resulting plugin is recognised by:

  • Reaper (arm64)
  • Reaper (x86_64)
  • AudioPluginHost (arm64)
  • AudioPluginHost (x86_64)
  • pluginval (arm64)
  • pluginval (x86_64)

On the other hand, if I try to load the VST in Bitwig I get a 'could not read metadata: not a plugin' error. It also fails in Live (intel) and Renoise (intel). The error showing in the Live log is:

2021-11-30T11:58:59.780077: info: Vst3: scanning plugins in "/Library/Audio/Plug-Ins/VST3" (local)
2021-11-30T11:58:59.780660: info: Vst3: check plugin at path: "/Users/rwalsh/Library/Audio/Plug-Ins/VST3/PluginSynth.vst3"
error: Failed to load plugin: The bundle “PluginSynth” couldn’t be loaded because it is damaged or missing necessary resources.
2021-11-30T11:59:00.602846: info: Vst3: not a plugin
2021-11-30T11:59:00.603167: info: Vst3: finished scanning plugins

I’m at my wits end here. I also tried building the plugin as x86_64 only. But still not joy. It’s adhoc signed, but even if I do a proper signing with my developer ID it still fails to be recognised. I’m using the latest Master branch of JUCE to build, and I’m generating my projects with CMake. The plugin does link to a 3rd party library, but that is also a universal build. Anyone have any ideas how best to proceed here?

Haven’t had time to test anything out here yet, but the paths don’t match in your two snippets:

PluginSynth.vst vs /Users/rwalsh/Library/Audio/Plug-Ins/VST3/PluginSynth.vst3

Is it possible that:

  • The VST3 version of your plugin is old/broken in some way
  • The DAWs you listed are trying to load the VST3 version of a plugin rather than the VST

While you’re testing the VST2 version of your plugin, I’d recommend removing the VST3 version from your system entirely to avoid any unnecessary confusion.

Thanks @reuk, that was a typo. I get the same problems whether I export as VST or VST3. It’s definitely something to do my project here, because the JUCE demo does load fine. I’m just running out of things to test. Right now I’m going to try statically linking to that 3rd party lib. Maybe Live doesn’t like having to load the library dynamically.

That was it. Linking dynamically was causing Live to poop itself. All good now :+1:

1 Like