Audio Unit v2: FATAL ERROR:

Hey folks,

I've been able to build and run the 'StarterAudioUnitExample' project provided by Apple, in Xcode 12.5.1, and run and load in Logic 10.6.3 on macOS 11.5.2.

However, when trying to recreate the same plugin from a blank project, I'm having trouble with AUVAL or Logic actually instantiating and loading the component.

See auval output below: validating Audio Unit Tremelo AUv2 by DAVE:

AU Validation Tool
Version: 1.8.0 
Copyright 2003-2019, Apple Inc. All Rights Reserved.
Specify -h (-help) for command options

VALIDATING AUDIO UNIT: 'aufx' - 'trem' - 'DAVE'

Manufacturer String: DAVE AudioUnit Name: Tremelo AUv2 Component Version: 1.0.0 (0x10000)

    • PASS

TESTING OPEN TIMES: COLD: FATAL ERROR: OpenAComponent: result: -1,0xFFFFFFFF

validation result: couldn’t be opened

Does anyone, hopefully someone from Apple, know what the error code <FATAL ERROR: OpenAComponent: result: -1,0xFFFFFFFF> actually refers too?

I've been Googling for hours, and nothing I have found had worked for me so far.

Also, here is the info.plist file too :

Anyone that could help steer me in the right direction?

Thanks, Dave

Accepted Answer

Solved: The issue was the factoryFunction description in both the info.plist file and .exp file - ensure your factoryFunction is written so it includes the same class name as your AudioUnit subclass followed the word 'Function', eg:

  • info.plist file = AUSubClassFunction.

  • .exp file = _AUSubClassFunction

See Apple Technical Doc here for clarification: https://developer.apple.com/library/archive/technotes/tn2276/_index.html

Answers

Solved: The issue was the factoryFunction description in both the info.plist file and .exp file - ensure your factoryFunction is written so it includes the same class name as your AudioUnit subclass followed the word 'Function', eg:

  • info.plist file = AUSubClassFunction.

  • .exp file = _AUSubClassFunction

See Apple Technical Doc here for clarification: https://developer.apple.com/library/archive/technotes/tn2276/_index.html