Hi, I’ve moved over to building Max externals inside JUCE (well, trying). On Windows this is pretty straightforward, but on OSX the Max API requires the Carbon framework to be included (i.e. #include <Carbon/Carbon.h>). Once I do that I start to get clashes with Point and Component classes which are defined in Carbon and JUCE.
Anyone done similar and have any solutions that don’t involve me explicitly scoping all my JUCE classes?
If I get it right, a .mxo is a bundle (like .vst and .component) that requires specific entries in its Info.plist file and a bunch of weird linker flags to link.
hi, yes, that’s correct. I have all the details as I’ve built the mxo by hand for other devices. I guess the bit I’m not sure about is how to get Projucer to generate a bundle setup, or if this is even possible. I’ve used the dynamic library template. This is fine for Windows as it produces the desired .dll as it’s output, but on OSX it’s creating a .dylib as it’s target.
That’s why I pointed out that .mxo is similar to .vst and .component, the template that would match the most is the Audio Plugin. I guess it should be possible to customize the VST target within Projucer to make it produce a .mxo (add WRAPPER_EXTENSION = mxo to the Custom Xcode flags, use a Custom PList, add the required linker flags, …).