AudioUnitPluginInstance::getParameters() always returns an empty list


#1

I noticed that AU plugins fail to return the proper text value of a parameter and always return the numerical value converted to a String.

I thought this was due to me not using the new AudioProcessorParameter class so I started to convert things to use it, but it seems that for AudioUnits - getParameters() method always returns an empty list!

I looked at the code and in the juce_AudioUnitPluginFormat.mm file the methods for handling the parameters never actually fill the “managedParameters” list. When one calls the “refreshParameterList()” method - the parameters are discovered, but put into a separate list called “parameters” which is a list of “ParamInfo” objects, not the AudioProcessorParameter objects.

Is this a bug, missing functionality or am I missing something obvious?
Using the latest JUCE 5.2 btw.


#2

This was recently confirmed by Jules to be missing functionality in the JUCE plugin hosting code.

This is a kind of annoying inconsistency since the AudioProcessor base class itself has all these comments for the methods that are dealing with the legacy parameter handling :

  NOTE! This method will eventually be deprecated! It's recommended that you use the
    AudioProcessorParameter class instead to manage your parameters.

#3

Ouch :slight_smile:

Agree completely. This is basic functionality that should have been addressed even in v4 of JUCE, but the focus seems to be heavy on the mobile side of things at this point which is welcomed, but not if this kind of basic stuff is still missing.


#4

A lot of the parameter functionality is scheduled for an overhaul before the next major version of JUCE.