Closed bdyetton closed 4 years ago
Any chance on an update for this? Thanks!
Hi there - this is really an intrinsic limitation when loading binary plugins in-process. You can only load plugins compiled for the same processor architecture as the host process, so a 64-bit Python runtime can only load 64-bit plugins and a 32-bit Python can only load 32-bit ones.
The reason they work in Sonic Visualiser is that Sonic Visualiser has a substantial amount of machinery that causes all plugins to be loaded out-of-process, using a protocol known as Piper - and the Windows build of Sonic Visualiser actually comes with two separate out-of-process plugin helpers, a 32-bit one and a 64-bit one. This is quite a lot of effort to build and ship.
Most Vamp hosts don't do anything like this, so you will notice that (for example) the Sonic Annotator command-line host has the same limitations as you are experiencing with Python.
Your best bet would almost certainly be to get 64-bit builds of your plugins - are there any particular plugins you don't have access to 64-bit versions of?
Ah, this makes sense, thanks for being so clear! The majority of the plugins I'm looking to use are 32 bit, but perhaps i can find 64 bit versions for all. If not it sounds like I might be able to hack my way around this by calling the 32-bit version of python from the 64-bit version.
I have both 32 bit Vamp Plugins in "Programs Files (x86)" and 64 bit plugins "Program Files", but when i run vamp.list_plugins() I can only see the 64 bit ones. There are no issues loading both with sonic visualizer. I'm using python 3.7 on windows 10.