Auval issues in tip


#1

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 )

 


#2

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>

#3

Jules, can you please look at that sometimes?


#4

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

it validated correctly after implementing my parameters as audioprocessorparameter


#5

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;

?


#6

yes, thanks!

 

 


#7

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


#8

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


#9

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


#10

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