AU parameter automation issue - ToggleButton does not write

Just chiming in to say that I have experienced this issue with Ableton 10.1. Toggle automation did not work in AU format but worked when I compiled the same project as VST2.

I’ve still not got to the bottom of this, but I suspect we could be looking at two different issues.

Live

Toggle automation starts working correctly only if you change the parameter value from Live’s parameter UI first.

I’ve not found any plug-in with a boolean AU parameter that doesn’t have this behaviour, and it seems to be independent from the behaviour in Logic. If people reading this thread could throw their plug-in collections at the problem and see if they see the same results that would be useful. The more prominent non-JUCE plug-in/synths we can survey the more weight bug reports will have.

The easiest way to tell which of your AU plug-ins have boolean parameters is to use auval. If you enter

auval -a

into the terminal then you’ll get a list of the installed plugins. For each plugin you can then do something like

auval -v aufx bpas appl

where aufx bpas appl are the first three entries on a line corresponding to a particular plugin. Under the PUBLISHED PARAMETER INFO heading you can see something like

Parameter Type: Boolean

for a boolean parameter.

Logic

I’m still looking for a plug-in (discounting the ones built in to Logic itself) which toggles as expected from both the plug-in’s GUI and Logic’s autogenerated GUI. Some plug-ins seem to be able to toggle from their own GUI, but I’ve not found any which can toggle from Live’s GUI. Again, any non-JUCE examples people can contribute to this thread will help.

Yeah, we’ve seen that here as well. It appears that there needs to be automation already recorded before our own automation records properly in Live. Our tech support has this as an FAQ already. But Logic definitely changed their behavior for the last couple of versions.

1 Like

I have confirmed both issues that t0m mentions in his post in our SSL Native plug-ins.

Since Logic 10.4.5 we also have a problem where we cannot write automation from a control surface.

1 Like

No idea if it’s JUCE based or not, but the unison switch in Hybrid 3 AU by Air is exhibiting this same behaviour in Live (doesn’t record until you have written in some automation manually).

image

1 Like

So for Logic the problem boils down to

param.beginChangeGesture();
param.setValueNotifyingHost (newValue);
param.endChangeGesture();

no longer working if all the calls happen consecutively. If you instead do

void mouseDown (const MouseEvent&) override
{
    param.beginChangeGesture();
}

void mouseUp (const MouseEvent&) override
{
    param.setValueNotifyingHost (newValue);
    param.endChangeGesture();
}

then things work as expected. This doesn’t, however, fix parameter toggles from Logic’s autogenerated UI.

3 Likes

Does anyone have any Apple connections that can escalate a fix for this? I’ve reported it using their Feedback Assistant, but no responses yet. (Not that they’ve ever responded with anything useful before.)

can you explain the why behind why that fix works? Is it just the message manager loop delay caused by using the different mouse events to propagate the parameter changes?

I wouldn’t give up all hope; I’ve had about a 20% success rate reporting things.

The way bug reports are handled is fairly opaque. I’ve had some discounted as duplicates without being able to able to see the original report (to make sure it is actually the same issue) or track any responses to it. I suppose the number of duplicates may count for something. I’ve fired off my own one about this.

Not without speculating along similar lines to you.

1 Like

Can you add this fix to AudioProcessorValueTreeState::ButtonAttachment?

I think you will need to add something like a buttonDown and buttonUp to the Button::Listener or resort to a mouse listener (not great)…

Thanks

It also affects Apple’s built-in AudioUnits, and it’s not just boolean parameters.

The multiple choice “Sensitivity” parameter of Apple’s AURogerBeep doesn’t record automation from Logic’s autogenerated GUI.

A boolean example is the “Peak Locking” parameter of Apple’s AUNewPitch.

It’s not just JUCE’s APVTS button attachment that’s affected, it’s also combo boxes and most of the GenericAudioProcessorEditor :frowning:

void mouseDown (const MouseEvent&) override
{
    param.beginChangeGesture();
}

void mouseUp (const MouseEvent&) override
{
    param.setValueNotifyingHost (newValue);
    param.endChangeGesture();
}

Does this fix Ableton Live automation recording?

The Logic thing it looks like a regression on their part at least!

Oh crap… quite a task :frowning:
You are right, anything except slider just sends discrete events…

Good luck

1 Like

No. I’ve not found any plug-in which works as expected there.

This just makes automation recordable from the plug-in GUI in Logic.

So presumably it’s an issue with Live? Sort of good news! :joy:

Talked to a contact at Apple, they said they’re aware of it and working on it. I’ll update if I hear anything more

6 Likes

Any news from Apple on this front?

does anyone know if Logic 10.4.6 solves this bug? That release came out recently.

As noted above,