VST2 Incompatibility | VST Stuff | Forum


Please consider registering

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —

— Match —

— Forum Options —

Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
VST2 Incompatibility
February 22, 2015 - 4:18 pm
Member Since: September 12, 2013
Forum Posts: 43
sp_UserOfflineSmall Offline

Hi Will,

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???



February 22, 2015 - 7:54 pm
Member Since: January 29, 2017
Forum Posts: 689
sp_UserOfflineSmall Offline

Hi Peter

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

tested configurations:
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
tested configurations:
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

- Will

February 22, 2015 - 9:34 pm
Member Since: September 12, 2013
Forum Posts: 43
sp_UserOfflineSmall Offline

Hi Will,

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.

kind regards


February 23, 2015 - 9:10 pm
Member Since: January 29, 2017
Forum Posts: 689
sp_UserOfflineSmall Offline

Hi Peter

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

- Will

Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
2 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Chaes: 56

Skyler: 48

StevieD: 46

Derek: 46

Frodson: 45

Peter: 43

TheSmile: 43

Nickolai: 43

clau_ste: 39

jeanlecode: 37

Member Stats:

Guest Posters: 1

Members: 768

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 842

Posts: 3347

Moderators: W Pirkle: 689