Plugin Host and Windows bitness (x64/x86)


#1

Hi all,

I updated Juce after some time and wanted to use the updated plugin host.
But then, existing pluginhost (.filtergraph) files came up empty without any message and manually adding plug-ins failed with “Unable to load VST2 (resp. VST3) plug-in file”.

Reason is that the VS2015 and the new 2017 projects are now all defaulting to x64 platform.
While it is clear that the x64 host is not working with x86/Win32 DLLs, it is not very obvious and took me some time to figure it out.
Additionally, I think that most Windows plugins out there are still Win32…?

So what I like to propose is:

  • set plugin host defaults for Windows back to x86/Win32 (as this still might be the more popular use case?)
  • add a dialog box also when loading plug-ins from a .filtergraph file fails (best case one summarized for all plug-ins)
  • if easily possible, extend the message “Unable to load…" to give a hint about wrong bitness
  • if easily possible, also extend the plugin scan message “…files appeared to be plugin files, but failed to load correctly…" to give a hint about wrong bitness

I did not dig deeper for now, but I could help with a PR if desired (might need some hints though).

Cheers,

Harald


#2

64-bit is actually should be more common.
Cubase 9 completely dropped 32-bit.
FL Studio is agnostic.

You should try using MSBuild to make a build workflow for 32-bit and 64-bit.
On Windows plug-ins are a mess… you might end up with:
AAX x32
AAX x64
VST2 x32
VST2 x64
VST3 x32
VST3 x64

However, the suggestion of hinting within the JUCE loader on bitness could be useful.