I am seeing this with ComboBox in our project as well. all TextButtons and Sliders work as intended
OK, thanks for the confirmation. Out of curiosity, which method in JUCE are you using for linking GUI components and parameters? (As mentioned above, I was using APVTS for parameter management, with the Attachment classes to link them to GUI components.)
mSequencerOnButton.setName(kSequencerEnabledButtonName);
mSequencerOnButton.setButtonText("Sequencer Enabled");
addAndMakeVisible(mSequencerOnButton);
mSequencerOnAttachment = std::make_unique<ButtonAttachment>(mVTS, kSequencerEnabledId.toString(), mSequencerOnButton);
I think essentially the same as you, trusting the ButtonAttachment to do what it is supposed to do. All other hosts it seems to be behaving except in Logic 10.4.5+, I confirmed 10.4.6 is also bad)
Ah, Iām on 10.4.1, so I guess itās not a problem until that later version. Sounds like a bug report needs to be filed. (Not that Apple ever responds to those, in my experience.)
FYI all, filed a bug as this is easily reproducible even in the APVTS tutorial
Thanks for filing that bug report with JUCE ā although I think Howard was actually suggesting filing a report with Apple, since it seems to be something that broke only in the latest Logic Pro versions.
Yeah, I figure it could be one or the other. Perhaps Apple changed how it deals with parameters like this so JUCE needs to update to account for it.
Also, in the past Apple hasnāt done much about the bugs Iāve filed. If anyone else is feeling lucky I support them trying to file there
Interesting update. Iām seeing this with a bunch of other plugins some ones Iāve seen it on for example. In these plugins, try to automate any toggle buttons or discrete parameters and you wonāt be able to. Continuous parameters work fine
AUNewPitch
IZotope Trash 2
Serum
Sylenth
So this seems to be a bigger issue
Again this is all 10.4.5+. Going to start digging on apple forums, and possibly file a ticket.
@leigh this definitely supports you and @HowardAntares thinking this is on the Apple side
It may indeed be an issue on the Apple side for this latest build of Logic.
However, as mentioned above, this issue is also happening in Ableton Live 9 and 10 versions (again, with just the AU format). So thereās also an issue on the Ableton side - or maybe there is some incomplete implementation within JUCE AU wrapper. I do not have enough knowledge of the Audio Unit spec to say where the finger of blame should be pointedā¦
I see this happening now that Iāve updated to 10.4.6 (from 10.4.1). My plugins that are auwrapper-wrapped VST3 plugins, however, work correctly, so it appears to be something that JUCE does different from how the auwrapper and underlying VST3 do it.
I donāt see any difference in the data sent, however, at the time of the parameter change. The notifications (begin/change/end) look identical with the auwrapper code. So perhaps it is the definition of the parameter that differs? Iāll look into that next in my project.
I sent feedback to Apple for this: FB6797484
https://feedbackassistant.apple.com/feedback/6797484
Iāve not been able to get anything to work correctly, including using auwrapper. Steinbergās free version of HALion has the same non-automatable toggle behaviour, but maybe they use something different in their own products.
Would it be possible for you to strip a working example right down, so we can examine it for differences?
Might be easier to take one of their samples like AGain and apply the wrapper to it, then see it work there. My project is very integrated with other libraries, etc., and would take me more time to strip out than to start fresh or use a VST sample. Iāll see what I can put together.
OK, Iāve got the Steinberg helloworldWithVSTGUI compiled, and a nice mix of behaviours to investigate.
If I toggle a boolean param in my JUCE test plugin I can see the parameter value move, but the automation is not recorded, in both the JUCE GUI and Logicās autogenerated GUI.
In the Steinberg example automation is correctly recorded when using Steinbergās GUI, but the parameter value doesnāt change in the automation lane when toggling the checkbox in Logicās autogenerated GUI.
It feels like thereās a solution in there somewhereā¦
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.
