I assumed the define was not working because when inserting jucedemoplugin after my own, I was getting 12 errors messages like this :
But today, it’s not crashing anymore so far! Don’t know why, I just recompiled (which I already did previously ,and after cleaning too).
Anyway it seems happy for now, though there’s still 1 error reported :
A few questions :
1- what about defining JUCE_ObjCExtraSuffix in the jucedemoplugin ? You would teach us the good example (Or at least put the define line in place where it has to be used)
2-So no need for me to even look at kJUCEClass ?
3- would that be possible to link JucePlugin_PluginCode to JUCE_ObjCExtraSuffix so it would be taken care of automatically ?
Ah - thanks, looks like I forgot to fix that openGL class name. I’ll sort that out today. I never noticed that it produced linker warnings like that - very useful!
Erm… kJUCEClass rings a bell, but I can’t find any such constant in the code (?)
It’d be a bit tricky to add the suffix to the plugin code because it’d somehow need to be included in all the plugin files in your project. I guess I could add another value to the plugin characteristics file for this, but I’d have thought that JucePlugin_PluginCode should be unique anyway?
I made it a number with the intention of writing some sort of automatic update script to increment it when I did a build, but never got round to doing so.
Quick question :
I’ve tried in “juce_LibrarySource.mm” to define :
,and it seems to work fine (i.e : in AULAB there is no more conflict messages when loading both jucedemoplugin & my own plugin).
Since it work, I guess it is not necessary to define again JUCE_ObjCExtraSuffix in “includes.h” as well (as there’s a #include “…/…/…/…/juce_amalgamated.h” in there) ?
BTW I’m defining JUCE_ObjCExtraSuffix in a preprocessor macro in Xcode. But that’s only since I was too lazy to change the way my project’s files are organised.
I was going to look at using JucePlugin_PluginCode as the suffix as this should be unique per plugin anyway.
…actaully I’m finding that I need to make sure JucePlugin_AUExportPrefix (and therefore JucePlugin_AUExportPrefixQuoted) needs to be unique too. Does this sound right? or perhaps I’ve hacked something somewhere…
My plugin crashed if i used the VST and the Audio Unit version in Ableton Live at the same time. I expected something in the image cache… but now i know the reason. I’m a juce newbie, it seems that this framework has a solution for every problem
After i set ObjCExtraSuffix=PluginNameVST and ObjCExtraSuffix=PluginNameAU in the pre compiler macro definition of my XCode 3 project, the plugins work simultaneous without any problem. Thanks for that!
I can’t think of any possible way they could interact, except for an ObjC name clash. The two things are running in separate modules, so no statics are shared between them.
So I’d say that either I’ve forgotten to fix one of my class names (but I don’t think this is the case), or that you’re not running the code that you think you are - e.g. maybe it’s not fully re-built or you’re opening the wrong copy of the plugin, etc.
No, I’m not. I’m using two completely separate physical files (.vst and .component in their proper folders)
Of course due to the polymorphic plugins mechanism they’re the same in their content.
And I’m sure that I’m running proper code. I always clean all targets with dependencies, delete manually external files, rebuild everything etc.
I don’t seem to get this: what do I do when I don’t use the amalgamated version but link to the JUCE library? The way I currently understand it is that I have to rebuild the JUCE library with different values of JUCE_ObjCExtraSuffix defined in juce_mac_NativeCode.mm for every plugin, but that can’t be the case, right?