Skip to content

Param sliders for kontakt and kk#1227

Draft
ScottChesworth wants to merge 5 commits intojcsteh:masterfrom
ScottChesworth:paramSlidersForKontaktAndKK
Draft

Param sliders for kontakt and kk#1227
ScottChesworth wants to merge 5 commits intojcsteh:masterfrom
ScottChesworth:paramSlidersForKontaktAndKK

Conversation

@ScottChesworth
Copy link
Copy Markdown
Collaborator

After discussion in #593, I've been investigating why values aren't being reported consistently when adjusting sliders in OSARA's FX Parameters dialog. Test plug-ins here have been Komplete Kontrol 3, Kontakt 6, 7 and 8.
STR:

  1. Running a recent OSARA snapshot, load an instrument in any of the plug-ins specified above.
  2. Go into the OSARA FX Parameters dialog, find a volume parameter.
  3. Move the slider with arrows, page keys, home or end. All will seem ok until you change the direction you're moving in. Compare the consistency of formatted values being reported to the values displayed in OSARA's accompanying edit field. The former jumps all over the place when switching direction, the latter stays consistent and is the true value (can be verified by listening to the effect your adjustments are having on an instrument).
  4. Now switch to the latest snapshot linked in this PR and repeat the test. This time you should find the formatted values are reported consistently when changing direction and jumping to ends of slider.

A 5ms sleep in paramsUI.cpp before we update value seems to stabilize reporting. As yet I don't know why that helps and I'm not proposing this as an actual solution, just a temporary hack to see whether behaviour also improves on a wider pool of machines. I'm especially interested in hearing about whether it helps on older/slower Windows and Macs. Not sure how long we need to wait for yet, or what a nicer implementation would be.

Tagging @Timtam and @jennykbrennan, they've been helping chase it.

@github-actions
Copy link
Copy Markdown
Contributor

@jcsteh
Copy link
Copy Markdown
Owner

jcsteh commented Apr 18, 2025

I'm away for a few days, so I can't look at where exactly you've put this sleep. If I had to guess, I'd say this relates to the fact that many plugins can't report formatted values for anything other than the current value. That means OSARA can't figure out where the next discrete value is. That would be even worse if the plugin also refused to report the formatted value for a newlyset value for a short period of time. OSARA would have no way of knowing this. I'm not ruling out some weird timing bug in OSARA though.

@ScottChesworth
Copy link
Copy Markdown
Collaborator Author

Should I wait for you to get back before testing on a wider spread of machines?

@jcsteh
Copy link
Copy Markdown
Owner

jcsteh commented Apr 18, 2025

Not necessarily - data is always useful - but a 5 ms sleep is definitely not an acceptable solution to land, as it will slaughter performance when moving fast.

@Timtam
Copy link
Copy Markdown

Timtam commented Apr 19, 2025

Not necessarily - data is always useful - but a 5 ms sleep is definitely not an acceptable solution to land, as it will slaughter performance when moving fast.

I obviously considered that, but didn't find any other solution. We tried to go even lower and noticed that setting e.g. 1ms will not fix the issue. Unless we can actually get hold of the issue and fix it at its core 5 ms feels reasonably good ATM really, we tried with various constellations already and in none of them the delay is actually noticeable, as it also just occurs when arrowing or paging up or down within the parameter dialog. Obviously fixing the actual issue is to be preferred for sure.

@jcsteh
Copy link
Copy Markdown
Owner

jcsteh commented Apr 19, 2025

My concern is that holding down the arrow keys for a long time will get very laggy. Is that somewhing you've tested for? If it is a problem, it could be fixed with CallLater instead of sleep. This way, you can cancel it if the next key press arrives before the previous one is processed. It also avoids blocking the UI.

@ScottChesworth
Copy link
Copy Markdown
Collaborator Author

Holding down keys was still ok on a good machine. I'll update the PR to use callLater before checking on slower ones, thanks for the tip.

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions
Copy link
Copy Markdown
Contributor

@LeonarddeR
Copy link
Copy Markdown
Collaborator

Is this only reproducible when a sound is loaded? I tested several channel volume parameters with KK but didn't have a patch loaded at the time, and I can't reproduce the issue.

@jcsteh
Copy link
Copy Markdown
Owner

jcsteh commented Apr 27, 2025

Yeah, I was playing with KK parameters yesterday and didn't experience this either. It wasn't snapping to values when I pressed arrow keys - i.e. I had to keep pressing with no reporting until it got to a new formatted value - but that's expected with plugins that can't format values other than the current set value.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants