CoreAudio SDK (macOS)

Hello

I have now spent over 3h trying to figure out how to install the CoreAudio SDK on the mac as described in the makefile: “SMTG_COREAUDIO_SDK_PATH is not set. If you need it, please download the COREAUDIO SDK”.

The issue is that I just cannot figure out where I am supposed to download the CoreAudio SDK.

The CoreAudio framework is installed with XCode but the CoreAudio SDK is nowhere to be found. The CoreAudioSupport.cmake provided with the SDK looks for a file CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp to determine whether it is installed. As far as I can tell this file is NOT part of the CoreAudio framework which makes me think that the CoreAudio SDK is not the same as the CoreAudio framework.

The document on the Apple website https://developer.apple.com/library/archive/documentation/MusicAudio/Conceptual/AudioUnitProgrammingGuide/AQuickTouroftheCoreAudioSDK/AQuickTouroftheCoreAudioSDK.html#//apple_ref/doc/uid/TP40003278-CH11-SW1 states that to download “the most recent Core Audio SDK” go to http://developer.apple.com/sdk/ but the Downloads/More Downloads section (https://developer.apple.com/download/more/) does not contain the core audio sdk which I guess is not too surprising given the fact that the Introduction to the Audio Unit Programming guide states “Important: This document is no longer being updated. For the latest information about Apple SDKs, visit the documentation website”.

If I simply start XCode and “Create New Project” none of the templates refer to building an audio unit plugin.

I am totally lost.

Anybody can help?

Thanks
Yan

Hi,
Apple changes the location so often, that I also don’t know where it is today. Please ask Apple where to find it, if no one knows it here.

Cheers,
Arne

After spending more time hunting, I believe I find what you call the CoreAudio SDK under the name Core Audio Utility Classes (see https://developer.apple.com/library/archive/samplecode/CoreAudioUtilityClasses/Introduction/Intro.html and NOT intuitively you have to click on “Download Sample Code”).

The direct link to download the zip file is https://developer.apple.com/library/archive/samplecode/CoreAudioUtilityClasses/CoreAudioUtilityClasses.zip

It seems to no longer be developed but it contains the code that is being needed by auwrapper.

As a follow up question, I am now able to build the audio unit and can see that there is a link under ~/Library/Audio/Plug-Ins/Components

When I start Logic X nothing happens… meaning my plugin is not added to the list of plugins that Logic loads. There is also no error message anywhere (as in “I tried to load it but error or whatever…”).

I also did copy the plugin (vs a link) just in case but it had no effect…

Any idea what could be wrong?

Yan

PS: In case you are interested you can run an Xcode build from the command line -> after generating the Xcode project (cmake -GXcode …) you can simply run

xcodebuild -scheme again_au build

Yeah, welcome to the world of AudioUnit development.
Try rebooting after building (no joke).

Cheers,
Arne

PS.: You can also build via

cmake --build

after generating the Xcode project :wink:

I did make “some” progress…

If you run

/System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar

it will reread the Components folder (does not need to reboot…).

That being said… getting another error (from Console log):

198: /Users/ypujante/Library/Audio/Plug-Ins/Components/again_au.component: trouble parsing Info.plist's AudioComponents, key version; entry: {
    description = AGain;
    factoryFunction = AUWrapperFactory;
    manufacturer = Stgb;
    name = "Steinberg: AGain";
    subtype = gain;
    type = aufx;
    version = 65536;
}

I tried with various variants of the version (like 0x00010000) (it was set to 0xffffffff by default) without any luck…

Yan

I found the problem! The issue is the file

public.sdk/source/vst/auwrapper/again/Info.plist


it is:
			<key>version</key>
			<string>kAudioUnitVersion</string>
			
but it should be:
			<key>version</key>
			<integer>kAudioUnitVersion</integer>

with this change (and using 0x00010000 for 1.0.0) I have a working audio unit in Logic (no need to reboot either… just kill AudioComponentRegistrar)

Yan

Hi Yan,
thanks for finding the issue. Which macOS version are you using ?

Cheers,
Arne

Currently 10.13.6

Yan

Is that the new repository for the CoreAudioSDK/CoreAudioUltilityClasses?

Unfortunately it has a completely different folder structure, but it seems to have the appropriate base classes for audio units. It would be nice to have the SDK as a git submodule so we could update easier.

I am not sure. I simply added it to my project a while ago because it was so hard to find in the first place: jamba/audio-unit/CoreAudioSDK at master · pongasoft/jamba · GitHub

I did the same! It seems the CoreAudioUtilityClasses didn’t get an update since 2014. Is it likely that support will be dropped soon?
Is the auv3wrapper also using the CoreAudioUtilityClasses and is auv3 considered stable already? If so, I would consider switching to that.