AudioProcessorValueTreeState Parameter Automation Stops


#1

Hey all,

I found a bug in my plugin where an automated parameter very unpredictably follows it’s automation: sometimes the parameter follows the automation as intended, sometimes it follows it for a bit and then stops, and sometimes it just doesn’t follow the curve at all (as in, stays the same value the whole time).

I’m using an AudioProcessorValueTreeState with parameters added via createAndAddParameter: https://github.com/creativeintent/temper/blob/master/Source/FaustUIBridge.cpp#L35

And then I attach listeners right below to set the appropriate internal values in my Faust patch: https://github.com/creativeintent/temper/blob/master/Source/FaustUIBridge.cpp#L42

There’s not a lot going on here. You can see the initialization of the tree in my PluginProcessor constructor:

Has anybody seen this? What do I need to do to get parameters tracking automation correctly?

Thank you!


#2

So I’ve been looking for a more minimal test case to reproduce this. When I originally wrote this part of my plugin, I followed the JUCE tutorial pretty much verbatim, and I’ve almost changed nothing since then.

The tutorial is here: https://www.juce.com/doc/tutorial_audio_processor_value_tree_state

So I went and built the demo code from that tutorial and found the same bug reproduces there. Try to automate the “gain” parameter over 4 bars for example. Currently, the gain will snap to the initial value, move for about 1 beat, and then stop.

I’m guessing this is something about the AudioProcessorValueTreeState Parameters??


#3

To reproduce it, it would be very interesting, in which host you are testing…


#4

This is in FL Studio 12. And a friend of mine has reproduced the issue in Ableton, though I don’t have Ableton personally.


#5

Ah I’ll add one more thing: this is a VST build that seems to have the issue. I just tested the AU build in Logic and automation seemed to work just fine.


#6

Are you using the latest version of JUCE?


#7

Good point, thanks Tom :stuck_out_tongue:

I was still on 4.3.0 as I hadn’t done the due diligence to consider the new licensing options that 5.0 brought. I’ve done that now and upgraded to 5.0.2 and the issue seems to be resolved. I will report back if I find something else!

Thanks