Studio One 5 , Automation not rendering on Export

Hi, I am having issues with Studio One V5 not rendering the automation data when exporting. This is testing on a Windows 10 machine and using JUCE 6. It works fine during normal track playback and also works fine with realtime export. I am using AudioProcessorValueTreeState for the knob data.

It works fine on FL Studio & Cubase on windows & macOS with no issues. Has anybody had this issue? is there a workaround for Studio One?

I am calling valueTreePropertyChanged() and wondered if this could be causing issues with Studio One?

The ValueTree in APVTS is updated asynchronously on the message thread. If you update anything relevant to processBlock from valueTreePropertyChanged, it will regularly arrive late, and may arrive very late for offline renders, even at the end of the whole thing. You should listen to the APVTS directly, not to its ValueTree -APVTS::Listener::parameterChanged is called synchronously.

ah ok, so i just set a bool hasChanged in valueTreePropertyChanged , then in process block check if hasChanged is true then set the parameters. So what your saying is this will be read late. Thank you . This could well be my problem. :slight_smile:

If you use the parameter values directly in processBlock, you don’t need to listen to anything -you can get a pointer to the current value with APVTS::getRawParameterValue, either on the fly or kept as a member. If you need to update something for each parameter change, you need APVTS::Listener::parameterChanged. You can set an atomic bool there and check it in processBlock. If you have to do this for a lot of parameters, it may be better to use a (thread-safe, lock-free) queue.

1 Like