setParameterNotifyingHost dropouts


#1

Hi all,

when calling the setParameterNotifyingHost method to record some automation data I have the impression that not much of my incoming data gets captured. The resulting envelope doesn’t look smooth at all (most of the parameter jumps are at the same time e.g. 0.75 -> 0.8 which causes visual “steps”).
As host application I’m using Live 8 and I already tried out the begin-/ endParameterChangeGesture methods.

Does this have something to do with the host’s internal resolution of automation data and would there be a workaround?

Thanks in advance


#2

I made a screenshot of this phenomenon using the Juce demo plugin.
You can see the recorded automation envelope of the “gain” parameter in Live 8.
The envelope is not smooth, most of the time there are two different values at one time and the automation does instantaneous little jumps.
However, when I touch the parameter directly (not in the GUI, bit in the Live Plugin parameter view) the automation gets recorded smooth which lets me assume that the problem is caused by the setParameterNotifyingHost method.
I hope it is clear…


#3

As you can see if you trace into the code, the method just routes directly through to the normal VST/AU calls for telling the host about a parameter change. What are you suggesting it could be doing wrong?


#4

I have no idea. All I know is that the resulting jumps don’t occur if you touch the parameters directly (as in the screenshot below) and not through a setParameterNotifyingHost call. Maybe the host has a different resolution for external parameter changes?


#5

So what?

More useful questions: Do other plugins produce better resolutions? Are VSTs and AUs different? etc


#6

I checked with a different DAW (Motu Digital Performer) and there the automation looks silky smooth. So it must be an Ableton thing. I will report in this thread if I get an answer (from the Ableton support).


#7

Where are you calling setParameterNotifyingHost from and what governs the timing of the calls?


#8

The example above uses the JuceDemoPlugin which calls the setParameterNotifyingHost in a sliderListener. But as Jules already suspected, the automation looks crumbly on all of the AU Plugs I tried when touching the GUI faders / sliders (not the internal parameter representation like on the second screenie). Maybe it will be better with Live 9 - for my purpose these parameter jumps are really annoying.


#9

My guess is that Ableton up to V8 (the bets are still out on V9) uses some per block backbuffering or summing for automation messages and thus introduces these artifacts.
From the plugin implementation of things, every change gets notified to the host immediately.


#10

I’m having the same issue here in Ableton 8. I also noticed this only happened when I use my plugin as a AU, my VST’s automation are smooth as it should be. Maybe there’s something wrong in the AU wrapper or in the way that Ableton deals with this …