To Carbon, or not to Carbon,


#1

Admittedly, I never quite grasped what Carbon is good for, except for backwards compatibility. Would a Juce host for hosting VST and AU (or a Juce plug-in hosting guest plug-ins) still need Carbon support Anno Domini 2016, or will it be safe to ditch it?

Is there any DAW out there on OS X that still requires Carbon?

Are there still plug-ins out there that require Carbon support from a host?


#2

Considering that Carbon has been deprecated since 2012, doesn’t support 64-bit, and was designed for porting MacOS 8/9 applications to OS X, IMO you’d have to be absolutely insane to want to support Carbon for a new application today.

I don’t know of any modern apps the use Carbon, and the only plugins I can imagine requiring Carbon would be some ancient 32-bit only abandonware plugins.


#3

And apparently such plugins do exist and people want to be able to use them in current hosts, in one way or another…Sigh.


#4

That’s why I’m hesitant. I do have trouble identifying a list of such plug-ins, though.

Now after Apple even NI goes 64-bit-only (latest Kontakt update) others will follow suit. It is getting increasingly narrow for 32 bits. So if 64-bit gets the default, isn’t it up to the various “bridges” to supply Carbon support for 32 bit plugs?


#5

I doubt if there are any new DAWs that need 32-bit, but there are a lot of users who are still clinging to their ancient software (often running on ancient hardware that they won’t/can’t upgrade)

The thing with Carbon is that it’s actually not a problem to build your plugin as a universal binary that does both 32/64 bit, you don’t have to choose one or other.


#6

As long as there’s no disadvantage attached, I’m fine with still supporting Carbon.

However, once Apple finally removes the deprecated API (warnings already show up in system log), partially carbonated AudioUnits will probably no longer build, or validate, if they’ll load at all. Then Carbon will be definitely dead.


#7

Yeah, obviously at some point Apple will pull the plug on building this stuff, but until then if it compiles, then it’ll work.