setLatencySamples(int newLatency) in Cubase and Bitwig in VST3 Win and Mac

Our VST3 plugin uses JUCE framework and it sets the plugin latency using "setLatencySamples(int newLatency)" when the plugin is loaded in CuBase.
Our plugin works normally with the pre-defined latency but it doesn't work when we turn on "Compensate Delay" in CuBase. The pre-defined latency is still the same in our plugin when the "Compensate Delay" on, which seems to make the plugin disabled. If we try 0 (zero) as the pre-defined latency in our plugin, it works fine with "Compensate Delay" in CuBase.
Is this a bug in CuBase, or are we missing something for CuBase?

In addition, we are using a number 16385 as a latency on our plugin by default.

We have also tried a lower number such as 1024 as a latency to see if Cubase is handling okay with "Compensate Delay" on, but we had no luck.



1 Like

Have you tried with other hosts?

We are having the same issue in our own plug-ins. Latency reporting is working perfectly in nearly every host except for Cubase when using a VST3 (VST 2 works fine in Cubase).

Sorry about the slow response.  We have been sooooo busy.  In our case it was not the plugin.  Not sure this is your issue, but this was a note we sent to users.  BTW-JUCE is the only plugin format as far as we are concerned.  

 [Constrain Delay Compensation] issue:
When you turn on [Constrain Delay Compensation] in Cubase it disables Equavescent.
Cubase disables all plugins that are using higher sample latency than its default value set in Cubase's Preferences.
1. Open Cubase's Preferences.
2. Click "VST" down the bottom on the left pane.
3. On the right pane, change the value from "0 ms" to "371.6 ms" for the "Delay Compensation Threshold (for Recording)" item.
4. Save the change. Equavescent should start working on a [Constrain Delay Compensation] mode.
Equavescent uses 16,384 latency samples for it to work properly. Which brings to the following calculation below:
16,384 / 44,100 = 0.37151
0.37151 * 1,000 = 371.51 ms
Any value greater than or equals to "371.6 ms" should be fine.