I’m having trouble making VST2 plugins recognized by Ableton Live with the latest sdk (3.6.7) on macOS 10.12.
I try to compile the “again” target, which if I understand right should work as VST2.
Here is the build procedure I use:
Download and extract VST3 SDK from Steinberg developer webpage
cd VST_SDK/
./copy_vst2_to_vst3_sdk.sh
cd VST3_SDK/
In CMakeLists.txt, set "SMTG_CREATE_VST2_VERSION "Use VST2 to ON
mkdir generated
cd generated/
cmake … -G Xcode
Build again target from Xcode
In folder ./VST3/Debug rename again.vst3 to again.vst
The plugin is getting scanned by Live, but then it doesn’t appear in the VST plugins list.
If I put a breakpoint in the “createEffectInstance” method from againentry_vst2.cpp, it does not get triggered during the scan.
nm VTestA.vst/Contents/MacOS/VTestA | grep Main
U _CFRunLoopGetMain
0000000000010000 T _VSTPluginMain
0000000000481928 s __ZN6VSTGUI13MainNodeNamesL11kControlTagE
00000000004818e8 s __ZN6VSTGUI13MainNodeNamesL5kFontE
00000000004818f0 s __ZN6VSTGUI13MainNodeNamesL6kColorE
00000000004818f8 s __ZN6VSTGUI13MainNodeNamesL7kBitmapE
0000000000481920 s __ZN6VSTGUI13MainNodeNamesL7kCustomE
0000000000481948 s __ZN6VSTGUI13MainNodeNamesL9kGradientE
0000000000481918 s __ZN6VSTGUI13MainNodeNamesL9kTemplateE
0000000000481978 s __ZN6VSTGUI13MainNodeNamesL9kVariableE
0000000000125460 t __ZN6VSTGUI20GenericMacColorSpace27CreateMainDisplayColorSpaceEv
0000000000498640 s __ZN6VSTGUI5CView28kDirtyCallAlwaysOnMainThreadE
000000000000cb20 t __ZN9Steinberg3Vst11Vst2Wrapper20countMainBusChannelsEiRy
I’m not seeing the VST2 version of again in Bitwig or Reaper.
I think what you are seeing is the VST3 version.
I’m not using again, it is my own plugin that is built externally from the SDK samples and it builds two different targets, one VST3 and the other VST2.
The VST2 version is for sure showing up properly in Reaper/Bitwig. Reaper has a VST2 chooser dialog and, Bitwig doesn’t support VST3’s.
But, createEffectInstance is the entry point for VST2 so that was interesting.
When using the VST2 wrapper, I’ve found the following: renaming the .vst3 plugin to .dll works on Windows to turn it into a vst2 plugin. Renaming the .vst3 to .vst does NOT work for me on MacOS. I need to compile a separate target for VST2 on MacOS and generate both .vst3 and .vst products independently.
Yes, renaming the bundle does not work here as well on Mac. I have tried creating a new target with wrapper_extension vst instead of vst3 and modifying the Bundle identifier to com.steinberg.vst.again. But that does also not work for me. What is the trick here to get the AGain example plugin run as a VST2 plugin on Mac?
I am also stuck at the same point as the others in this thread.
Will, what exactly do you change in your separate target for VST2, just the extension (as well as adding the few VST2 wrapper lines in the source code)?
Is anybody able to build VST2 on Mac? Did you find a solution?
The easiest way to see it is to download my software, create a new empty project (pass thru code) and then use Make VST to create a VST2/VST3 project for VS and XCode. Follow the instructions for preparing the 3.6.7 SDK (super easy to do, and has to do with conforming to the previous SDK paradigms for dealing with the base-code portion, and will not harm the 3.6.7 SDK in any way). There are videos on the website demonstrating how the XCode version creates a VST2 plugin specifically in Live 9 for MacOS.
We are prepping for a Cat 5 hurricane right now, so I don’t have a lot of free time between that and classes/University responsibilities. If I do get some time, I may work on a stand-alone example in XCode for you guys - but it will really just be a Make VST project with all the RAFX stuff removed (which is also super easy to do).
Thanks, Will! I will try that. Hopefully, it won’t be too dramatic for the region around Florida, but the hurricane seems to be very strong. I wish you all the best!
Here is a stand-alone VST project for XCode/MacOS. It was created with RackAFX → Make VST, and then stripped of all RAFX code. The plugin does nothing - by default it will just pass audio in Live 9 as a VST2 plugin. It has no controls and no custom GUI.
Preparing the SDK only involves 2 steps: 1) making sure you have the VST2 part of the SDK installed (you already should have this) and 2) copying a single folder called “mac” into your /base subfolder - that’s it. You can ignore the part about “four layer deep hierarchy” as planting the MyVSTProjects folder into your public.sdk/samples/vst folder takes care of that.
Start XCode and build the plugin (select the proper target bit-depth for debug mode plugins). The build phases automatically copy the .vst and .vst3 files into the proper location on your Mac so there is nothing to do but run the DAW app. The XCode project is already setup to use Ableton Live 9 as the target debug app but you can change that.