I tried to export my Synthesizer as VST2 Plugin with the new 6.5 version. There are many explanations in the forum, in the book and on the video. To be honest, I do not have a clear view about the correlation of all this topics. Maybe you can help:
In the past (6.27) you exported a synth as VST2 compatibel and this worked. If I export now using the exporting function, the VST2 dosen not has an interface by default as you described. But after compiltaion there is no .dll in the VST3 folder (as described), just a .VST3 file. If I rename it to .dll it does not show up in my VST2 hosts (e.g. V-Stack from Steinberg). If I take the RackAFx dll V-Stack does not accept this either.
My Vienna Ensemble, which is at the moment my only VST3 capable host loads the RackAfx dll without problems, but maybe because it is more a VST3 than a VST2 dll.
What happened to the VST2 compatibility???
VST2 compatibility is still there. Your RackAFX .DLL file can be used directly as a VST2 plugin as-is, or as a VST3 plugin by renaming .DLL to .VST3.
When you use Make VST to port the project, you now get an additional VST3 project in the VST3 subfolder. That project compiles as a VST2 plugin as well. This is a feature of the VST3 API - the designers included a wrapper method so that the plugin appears as a VST2 plugin to VST2 clients. All you do is change the plugin extension from .VST3 to .DLL and then place the renamed file in your VST2 plugin folder.
VST/Windows was tested on the following:
Cubase 7.5 64 bit
Cubase 8 Pro 64 bit
WaveLab LE 8 64 bit
StudioOne 2.5 64 bit
RackAFX-Dll (VST2) works via the native bit-bridges as well as jBridge
MakeVST-Dll 32bit works as VST2 via native bit-bridges as well as jBridge
MakeVST-Dll 64bit works as both, VST2 and VST3
WaveLab LE 8 32 bit
RackAFX-dll works as vst2 and vst3
MakeVST-dlls work as vst2 and vst3
Brainspawn FortÃ© 3.2.20 64 bit
eats all 32 and 64 bit VST2 dlls as native 64, pre-jBridged and on-the-fly jBridged (fortÃ© uses jBridge as its "native" bit-bridge and optionally as 64-to-64 bridge for process-separation of plugins to prevent crashes)
Fruity Loops 11 64 bit
MakeVST-Dll as Vst2 32 bit (native bridge) and 64 bit
MakeVST-Dll Vst3 64 bit
you are right, it works with all modern programs. But I tested it again with two older programs:
V-Stack Steinberg and Extrem Sample Converter (2004/2008).
My version with the old (6.27) GUi works on both.
The GUI-Less 6.5 VST2 works on both.
The GUI Version / either RackAFX or compiled VST 3 works neither on V-Stack nor on ESC.
V-Stack does not even recognize it as VST and ESC says no VST Plugin / no main entry.
Probably the Steinberg Wrapper is not 100% downward compatibel to older versions.
This is not the problem of RackAFX, but of Steinberg.
Yes, I would also accept that the new VST2 wrapper isn't 100% backwards compatible for really old SW - I have heard a few ramblings about that on the message boards. v6.5 will also allow you to compile VST2/3 for MacOS and so far, I have not had an issue with VST2s on MacOS but I am also using relatively new VST clients.
Also, with Make VST, I left the old VST2 project in place (you get both), so you can still compile directly as a pure VST2 plugin if you want - the only limitation is the GUI; you either need to stick with the generic default interface, or write your own. VSTGUI4 does work with VST2, but from what I have seen on the mailing list, it is not trivial to implement and does not immediately use the XML file to package the GUI. So, I decided to leave that alone. If anyone is interested (and knows how to make a GUI in Windows), to implement a GUI, fill in the case statements in the dispatcher() function:
case effEditOpen: the client passes you a Window Handle (HWND) to the window frame via the void* named ptr; you use this to construct your GUI
case effEditClose: you destroy the GUI here
case effEditGetRect:return a pointer to the ERect object that defines the GUI size via the void* parameter named ptr
Most Users Ever Online: 152
Currently Browsing this Page:
Guest Posters: 1
Moderators: W Pirkle: 689