auval: ERROR: Class Data does not have required field:<type> == componentType

239 Views Asked by At

Trying to write an AUv3 on macOS. I'm getting the following error from auval:

VERIFYING CLASS INFO
ERROR: Class Data does not have required field:<type> == componentType

It would seem some sort of metadata is misconfigured.

What does this mean?

2

There are 2 best solutions below

0
Taylor On

Class Data actually refers to kAudioUnitProperty_ClassInfo. So the error has to do with the AUv3 fullState, which is bridged to the AUv2 kAudioUnitProperty_ClassInfo. Sheesh.

The underlying issue was that my fullState method was not calling the superclass fullState.

0
Alessandro Petrolati On

This workaround is working for me:

- (NSDictionary<NSString *, id> *)getFullState {

    NSDictionary* pluginState = [data.controller getState];
    NSDictionary* superState = [super fullState];

    NSMutableDictionary* stateRes = [NSMutableDictionary dictionaryWithDictionary:pluginState];
    [stateRes addEntriesFromDictionary:superState];

    return stateRes;
}