[Solved] VST2 not detected by Live with SDK 3.6.7

Hi,

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.

So, am I missing something, or is this a bug ?

Thanks

Baptiste

I am also seeing this as well with my own plugins that use the VST2 wrapper + SDK 3.6.7.

Ableton Live 9 does not see or list them, however Reaper and Bitwig do see them, and they work properly, and the GUI shows correctly.

XCode6
MacOS 10.9.5
SDK 3.6.7
Compiling as 64-bit
Ableton Live 9, Reaper 5.24, Bitwig 2.0, all x64

  • Will

Hi,
what is the output of :

nm Debug/again.vst/Contents/MacOS/again | grep Main

Here is what mine looks like (VTestA.vst)

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

Same output for me.

However, this might be interesting:

nm again.vst/Contents/MacOS/again | grep createEffectInstance
0000000000012030 t __Z20createEffectInstancePFxP7AEffectiixPvfE

But I don’t know if this actually is the expected VST2 entry point.

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

  • Will

Ok that’s interesting.

Bitwig doesn’t support VST3’s

Now it does :slight_smile:

https://www.bitwig.com/en/bitwig-studio/bitwig-studio-2.html

OK, false alarm for me.

My VST2 had been black-listed in Ableton, from when I was testing it as a 32-bit plugin.

Removing it, restarting, replacing it, restarting again, fixed the problem with Ableton. Sorry for the false alarm - my bad.

  • Will

I don’t know who marked the topic as solved, but it’s not solved for me.

As the topic’s author, you should be able to edit its title.

I just re-read your original post on this.

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.

  • Will

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).

  • Will

www.willpirkle.com

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!

Thank you Will!

If someone found a direct solution without the need of RackAFX and MakeVST, please let us know here.

Hi,
what’s the output of

nm YOURPLUGEXECUTABLE | grep VstPlugMain

This is the entry point for every VST2.x plug-in on macOS.

Cheers
Arne

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.

http://willpirkle.com/special/MyVSTProjects.zip

To use it:

  • unzip the file to reveal a directory called MyVSTProjects
  • copy that folder into your public.sdk/samples/vst folder
  • open the MyVSTProjects folder, then open the subfolder VSTDemoProject; the xcode project file is in there to launch
  • prepare the SDK according to the instructions here: http://www.willpirkle.com/preparing-the-vst3-sdk-3-6-7-for-use/

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.

Hope that helps -
Will

Hi Arne,

VSTPluginMain is contained in the binary. nm again | grep VSTPluginMain yields a hit.

00000000000185c0 t _VSTPluginMain


Regards,

Joscha