Mousewheel automation in Logic

Anyone care to test if this JUCE change works for them to fix the fact that Mouse Wheel automation is broken in JUCE…

In juceSlider.cpp in

bool mouseWheelMove (const MouseEvent& e, const MouseWheelDetails& wheel)


if (delta != 0.0)


if (abs (delta) > 0.1)


Oh, and comment out:

            // sometimes duplicate wheel events seem to be sent, so since we're going to
            // bump the value by a minimum of the interval, avoid doing this twice..
            // if (e.eventTime != lastMouseWheelTime)

to avoid it running away.



I did some testing with JUCE 7.0.2 and Logic 10.7.4 (Apple Silicon) but couldn’t find anything odd about parameter automation. I was using a simple audio plugin with an AudioParameterFloat and an attached, scrollable Slider. I was using Latch and Touch modes and used to mouse wheel to add and modify automation data. I didn’t experience any problems.

Can you check if the problem still persists with the current develop / 7.0.2. If yes can you explain how to trigger the buggy behaviour? Also did you experience this problem in any other DAW?

Appears to be a Logic issue. I just instantiated another company’s product which I know is written in JUCE 6.x and tested in WRITE mode. I have a stereo track with an active clip and adjusted frequency with the mouse and then with the mouse wheel… and the mouse recorded properly… using the wheel recorded lots of small changes and actually with this plugin caused Logic to complain that the automation was too dense. I tested with another plugin compiled with JUCE 6.x and what happens is that using the mouse the automation is correct (and shows a smooth transition) but using the wheel the automation is stepped.

I’ll revert my changes and test in JUCE 7.0.2 and let you know what I find.

Confirmed: It’s still a problem with JUCE 7.0.2 and actually causes a catastrophic failure in the latest seed of Logic.

AudioParameterFloat, Range: NormalisableRange (-24.0f, 24.0f, 0.01f) - Rotary Slider attached