Auval issues in tip

I got the following errors on the JuceDemoPlugin :


--------------------------------------------------
PUBLISHED PARAMETER INFO:
# # # 2 Global Scope Parameters:
Parameter ID:0
Name: gain
Parameter Type: Generic
Values: Minimum = ERROR: -10879 IN CALL Parameter Value's String
, Default = ERROR: -10879 IN CALL Parameter Value's String
, Maximum = ERROR: -10879 IN CALL Parameter Value's String
Flags: Values Have Strings, Readable, Writable 
  -parameter FAIL
Parameter ID:1
Name: delay
Parameter Type: Generic
Values: Minimum = ERROR: -10879 IN CALL Parameter Value's String
, Default = ERROR: -10879 IN CALL Parameter Value's String
, Maximum = ERROR: -10879 IN CALL Parameter Value's String
Flags: Values Have Strings, Readable, Writable 
  -parameter FAIL
 

it fails since the commit of december 29 ( https://github.com/julianstorer/JUCE/commit/ae8910cbcfa6cf7d0803344a4e57b579f21c54b5 )

 

Ditto.  Using Juce tip (7 Jan) + XCode 6.1.1 + OS X 10.9.5

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

--------------------------------------------------
VALIDATING AUDIO UNIT: 'aumf' - 'DmxS' - 'dBau'
--------------------------------------------------
2015-01-07 14:47:43.370 auvaltool[17424:d07] 14:47:43.369 WARNING:   [0x7fff74d05310] >compload> AudioComponentPluginLoader.cpp:662: RegisterComponentsFromArray:
Manufacturer String: db audioware
AudioUnit Name: DMXIS (fx)
Component Version: 1.5.0 (0x10500)

<SNIP>

--------------------------------------------------
PUBLISHED PARAMETER INFO:

# # # 548 Global Scope Parameters:
Parameter ID:0
Name: X Value
Parameter Type: Generic
Values: Minimum = ERROR: -10879 IN CALL Parameter Value's String
, Default = ERROR: -10879 IN CALL Parameter Value's String
, Maximum = ERROR: -10879 IN CALL Parameter Value's String

Flags: Values Have Strings, Global Meta, Readable, Writable
  -parameter FAIL

<Error repeats for all params>

Jules, can you please look at that sometimes?

This is caused by the AudioProcessor class having a empty AudioProcessorParameter array.

it validated correctly after implementing my parameters as audioprocessorparameter

Ah yes, I was puzzled by this, but that would explain it.

I assume this change would stop auval complaining (in juce_AU_Wrapper.mm, line 500):

    ComponentResult GetParameterInfo (AudioUnitScope inScope,
                                      AudioUnitParameterID inParameterID,
                                      AudioUnitParameterInfo& outParameterInfo) override
    {
        const int index = (int) inParameterID;
        if (inScope == kAudioUnitScope_Global
             && juceFilter != nullptr
             && index < juceFilter->getNumParameters())
        {
            outParameterInfo.flags = (UInt32) (kAudioUnitParameterFlag_IsWritable
                                                | kAudioUnitParameterFlag_IsReadable
                                                | kAudioUnitParameterFlag_HasCFNameString);

            if (juceFilter->getParameters().size() > 0)
                outParameterInfo.flags |= (UInt32) kAudioUnitParameterFlag_ValuesHaveStrings;

?

yes, thanks!

 

 

FYI I pushed a different change yesterday that should do a better job of fixing this.

I think that you forgot to push it on github. There is just an xml optimisation that has been pushed yesterday

oops, yes, forgot to push! It's there now.

Yup, works now with the latest tip - thanks Jules smiley