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.
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.
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).
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.
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.
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
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
You are right, anything except slider just sends discrete events…
Good luck
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!
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
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,