Hecot
Hecot

Reputation: 129

AUv3 AudioUnit Extension, IPCAUClient: bundle display name is nil

In my AUv3 AudioUnit Extension I get this error message on the debug console output:

IPCAUClient.cpp:129:ConnectToRegistrationServer: IPCAUClient: bundle display name is nil

But there is a name in the info.plist file ... does anyone has the same problem?

enter image description here

Upvotes: 2

Views: 571

Answers (1)

Hecot
Hecot

Reputation: 129

This literally took me WEEKS to find the details to get this to work proper. There is NO sample code from Apple that would explain how this is supposed to work.

The main problem was to get the remote viewcontroller from the plug-in on the first start of the containing app. The AUv3 plug-in works perfect when it was inserted in Garageband once that would handle the registration to the system, but without this step there was no remote ViewController available.

I saw other implementations that read the AUv3 viewController from the bundle and connect the UI elements to the headless controller - this is boilerplate code and poor style IMO ... better use an AVAudioUnit and derive the AUAudioUnit_XH including the AUAudioUnitRemoteViewController from there by using this wrapper:

AU_AudioUnit = AVaudioUnit.AUAudioUnit

To get the AudioUnit to work inside the containing app there are several dependencies:

  1. The AUv3 plug-in need to be registered using the registerSubclass method.

  2. There needs to be an observer on AVAudioUnitComponentManagerRegistrationsChangedNotification installed.

  3. The Inter-App Audio feature needs to be switched on in entitlements!

I hope this helps you out there and saves you lots of long and lonely nights ...

Upvotes: 2

Related Questions