-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Widget display contradicting value in a drag: value set by UI vs value known to the DSP, that bubbles up there #718
Comments
Reproduced with Distort + vsthost64 on ~master |
Is it conflict between those two? |
Fix need backport to v12, when the fix exists |
|
Is it buffer splitting? from Sep 2021
|
Found an (unrelated?) pretty bad performance issue, parameter tracks are too large |
What happens is that |
The bad ParamID is VSTHost-only, there is nothing we can do unless they fix that bug. |
REAPER trace when dragging a slider
So even in REAPER, things are a bit unsynchronized because the UI change happens before the audio process, then process happens with former values. |
Ableton Trace:
Ableton just have a little bit more of interplay, since the host is also sending setParamNormalized. |
In Reaper, dragging a slider in VST2 doesn't lead to a call to |
So there is some kind of need need for UI to ignore parameter values when set by the host, if the widget is dragging... |
The fundamental problem is that parameter value as seen by the UI/user is different than parameter value as seen by the DSP/automation, and sometimes the state need to be separated for a while. On the plus side, the bug isn't terribly unworkable. Having two IParameter interfaces for those could help. |
Ideas to fix that:
Thought: if we know the parameter is going to change to whatever the UI said, why not give the value given by the UI a higher priority? And refuse the host changes even for processing audio. |
What calls are used by Widget to get parameter values?
|
So, there is a simple solution to this, probably need much testing:
|
|
Review all SetFromHost calls and see if that's sustenable => likely yes.
|
…gin, parameter information (setFromHost) from the host is IGNORED. This is super valuable, as it makes sliders and knobs smoother to use in all plugin formats, in all hosts (except VST2 who already dealt with that). But needs additional testing before it can go live.
Sometimes incredibly annoying, not sure if someone else has it.
The text was updated successfully, but these errors were encountered: