I’m Currently running a beta test for my new iOS AUv3. A user has reported issues with automation tracking. Please see the attached screenshot of the automation for a “choice” parameter in Cubasis 2 (I’m told it doesn’t work in Cubasis 3). When I recorded this it started at the lowest value, before moving to a second value and then back to the lowest. The initial low value isn’t recorded which has led to this user saying “the automation doesn’t work”. Is this something that others have run into as a problem? Do I need to contact Steinberg and report this or is it likely I am doing something wrong?
EDIT: In Cubasis 3 its also not picking up all the parameter names, they are just listed as the plugin name, not the parameter. It’s not actually automating these at all. I’m wondering if this has something to do with parameter id (seems to happen with longer parameter ids)?
@amethystdeceiver Yeah, I discovered that it wouldn’t pick them up properly if parameter id’s are too long. A little trial and error found that 9 characters is the maximum.
I’ve found something - pretty sure there is a bug in AUv3 wrapper that affects choice parameters. This needs to be fixed in processEvents():
...
case AURenderEventParameter:
case AURenderEventParameterRamp:
{
const AUParameterEvent& paramEvent = event->parameter;
if (auto* p = getJuceParameterForAUAddress (paramEvent.parameterAddress)) {
setAudioProcessorParameter (p, paramEvent.value);
// ^^^ MISSING NORMALISATION HERE ^^^, should be this:
// auto normalisedValue = paramEvent.value / getMaximumParameterValue (p);
// setAudioProcessorParameter (p, normalisedValue);
}
}
break;
...
@t0m, can we please get it fixed? Should be quick to do
I don’t have Cubasis 3 at hand to check, but what certainly wasn’t working properly and now does with this change is mapping MIDI CC to parameters in AUM
FWIW, I have a Cubasis user reporting that everything is working as it should now that I’ve deployed the fix from my previous post. In my case the parameter had 40 choice options, so it was obvious it was reaching maximum too soon (at normalized value 1/40 instead of 1).