As announced before, OpenMPT is going 64-bit and for that purpose, it's also getting a plugin bridge. It can be used to run 32-bit plugins in 64-bit OpenMPT, or 64-bit plugins in 32-bit OpenMPT. Or, if it's necessary, You can run 32-bit plugins in 32-bit OpenMPT (e.g. to use more available RAM on 64-bit systems) or 64-bit plugins in 64-bit OpenMPT (for crash-prone plugins).
A plugin bridge is a separate process that OpenMPT communicates with. Plugins run in this process rather than OpenMPT itself, which is how the "bit border" can be overcome.
While there are non-free bridges like jBridge that do a great job, I have worked on my own, OpenMPT-specific bridge (which is going to work even better, because I can assume things about the host-side that e.g. jBridge can't) for a while and now it's actually in a somewhat usable state. "Somewhat" because it's still prone to crashes under some circumstances, it can freeze with some specific plugins and it's also not the fastest in the world yet. I'd currently consider this to be an alpha version. However, since the set of plugins I test this with is limited, I'm offering a test version for those who'd like to try the bridge out.Current limitations:
- Inter-process communication is fast, but not the fastest in the world. Audio dropouts can happen even under light load. I will try to optimize this, but that's not a simple task. For example, I can play a tune with about ten plugins with 20ms latency using the plugin bridge, but at 10ms it produces noticeable crackles. Performance seems to be comparable to jBridge or even better, though.What you have to watch out for and report back:
- Plugin GUIs may freeze when doing certain things. Please tell me which ones you've encountered that show this behaviour. Known plugins:
Synth1 (popup sliders), Electri-Q (preset switching), M1 (internal keyboard), ProteusVX
- Plugins may crash in some other ways not described above. Simply report those, too.
To automatically use the bridge for any and all plugins (useful during the testing phase), add the line "BridgeAllPlugins=1" to the [VST Plugins] section of your mptrack.ini. Otherwise, only plugins that need it (i.e. plugins with the "wrong" bitness) will use the bridge.
Get current test builds from http://buildbot.openmpt.org/builds/
(both the 32-bit and 64-bit package contain both
versions of the bridge.)