This is some advance warning that we will be removing the old way of managing audio parameters.
Methods such as
AudioProcessor::isParameterDiscrete (int parameterIndex)
AudioProcessor::beginParameterChangeGesture (int parameterIndex)
and all the others which act on a specific parameter will be stripped from the AudioProcessor
class.
If you are a plug-in developer you should create your parameters and add them to the processor using AudioProcessor::addParameter
, or use the AudioProcessorValueTreeState
.
If you are a plug-in host developer then this change will affect you more. Currently most host-side parameter interactions rely on these deprecated functions, and we will be rolling out functionality to fetch an array of parameters from an AudioProcessor (similar to the case on the plug-in side of things). In places where you are currently doing things like
processor.beginParameterChangeGesture (parameterIndex)
you will need to switch to the new system, which will have an interface similar to
param.beginParameterChangeGesture()
where you will have fetched param
from the list of parameters.
The aim of this bit of work is to both remove some bloat from AudioProcessor
and make it much easier for the plug-in wrappers and hosts to obtain information about the parameters. The AUv3 wrapper has a few problems which can only be addressed in this way, and things like exposing parameter groups to both hosts and plug-ins will be simplified.
If anyone thinks this is a really bad idea then please let us know. This is a sizeable chunk of work so it’ll take us a while to get everything implemented.