Strange 'FAIL' in AU validation tool


#1

Hi,

I start get this ‘FAIL’ from Auval test which I didn’t had before… :

[quote] VERIFYING PROPERTY: Instrument Count
ERROR: GetPropertyInfo (Instrument Count) returning error for scope/element for [Global/0], which should be valid.
FAIL
[/quote]

Also I don’t know how to set up Auval as ‘executable’, to be able to debug with Auval into XCode.

Thanks

Nicolas


#2

Answer to my post :

The problem comes from AUMIDIEffectBase::GetPropertyInfo which has no case for kMusicDeviceProperty_InstrumentCount , at least my version of AUMIDIEffectBase.cpp (2005).

So I had to add a special case in juce_AudioUnitWrapper.cpp like this :
(line 98 ) :

[code] ComponentResult GetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32& outDataSize,
Boolean& outWritable)
{
if (inScope == kAudioUnitScope_Global)
{
if (inID == juceFilterObjectPropertyID)
{
outWritable = false;
outDataSize = sizeof (void*);
return noErr;
}

// ADDED :
        if (inID == kMusicDeviceProperty_InstrumentCount)
        {
                                    outDataSize = sizeof(UInt32);
                                    outWritable = false;
                                    return noErr;

        }
    }
    return AUMIDIEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
}

[/code]

Now AU validation is ok :

[quote] VERIFYING PROPERTY: Instrument Count
PASS
[/quote]

Please let me know if someone has more info about why kMusicDeviceProperty_InstrumentCount case is missing in AUMIDIEffectBase.cpp .

Thanks

Nicolas


#3

There seem to have been a few strange problems with apple’s AU code since 10.5. I guess I’ll add your workaround to avoid the problem, thanks.