Mac VST plugins using a juce library

I have read through this post:

http://www.rawmaterialsoftware.com/viewtopic.php?f=8&t=3893&hilit=cubase+crash

and from that, it seems like it is impossible to have multiple different VST plugins use juce in a statically linked library since they all need their own unique JUCE_ObjCExtraSuffix. Compiling juce to a library for all plugins to use will ‘freeze’ the value that was used at that time.

So, the options are either to use the amalgamated juce with a different suffix for each plugin, or to make a common framework for all of our plugins to use, and link to that, with initialiseJuce_GUI() only being called one time for our whole framework. (Note: we don’t use an obj-c in our plugins themselves). This latter is more work, but it would also have the benefit of reducing our plugin memory footprint, which would be nice.

Have I got that right?

Is anyone out there using post-cocoa-port juce in a statically linked library to support multiple different plugins on the Mac, or has everyone switched to using the amalgamted version?

Another way to duplicate this crashing problem is by

  • creating two different plugins using The Jucer
  • setting their JUCE_ObjCExtraSuffix to the same value
  • instantiating both in Cubase
  • closing Cubase

I am new to the world of objective C, and the flat namespace issue has left me doubting my sanity!

Suggestions and comments appreciated!

I’d really recommend avoiding using it in a static library for plugins - there’s no way I can think of that’d let you avoid this problem if you’re sharing the same lib between different plugins.