Auval Render tests fail (in OS X 10.11)

I’ve got my AudioUnit using the auwrapper working in all hosts (that I have) except Logic, because it is failing the Render Tests, with error -4.

The same thing happens with the again AudioUnit project.

If there are more than two SupportedNumChannel entries, then it fails on the Format Tests. But if there are only one or two SupportedNumChannels entries, then it fails in the RenderTest with error -4.

Ah! I found this in my old emails from the mailing list:

I hit this same issue trying to validate the steinberg auwrapper against the 10.9 sdk with xcode5

I’ve fixed it by modifying auwrapper.mm to return null for the kAudioUnitProcessSelect and kAudioUnitProcessMultipleSelect selectors in AUWrapperLookup, instead of pointers to AUMethodProcess and AUMethodProcessMultiple in AUPlugInDispatch.cpp, which end up calling AUBase::ProcessBufferLists() and AUBase::ProcessMultipleBufferLists() which are no-ops and return kAudio_UnimplementedError.

I think to fix it properly, ProcessBufferLists and ProcessMultipleBufferLists need to be implemented in auwrapper

oli


struct AUWrapperLookup {
static AudioComponentMethod Lookup (SInt16 selector)
{
if (selector == kAudioUnitProcessSelect || selector == kAudioUnitProcessMultipleSelect)
return NULL;

AudioComponentMethod method = AUBaseProcessLookup::Lookup(selector);
if (method) return method;
method = AUMusicLookup::Lookup(selector);
if (method) return method;
method = AUBaseProcessMultipleLookup::Lookup(selector);
if (method) return method;
return NULL;
}
};

This fixes the problem, but I’m not sure if it’s the correct way to fix it, or if it might cause some other problems.