Skip to content
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

Controller rate slider can't catch out of bounds position #12011

Closed
ronso0 opened this issue Sep 23, 2023 · 7 comments
Closed

Controller rate slider can't catch out of bounds position #12011

ronso0 opened this issue Sep 23, 2023 · 7 comments
Milestone

Comments

@ronso0
Copy link
Member

ronso0 commented Sep 23, 2023

This doesn't work anymore:

  • move rate slider outside the configured rate range, e.g. -12%, with +- buttons, sync or by setting rate with a controller script
  • move controller rate slider to +8%
  • = GUI rate slider snaps back to +8%
@ronso0
Copy link
Member Author

ronso0 commented Sep 23, 2023

I don't see any relevant recent changes in src/engine/controls/ratecontrol.cpp, though I do remember that @ywwg touched something in a PR about 1-2 years ago that would cause exactly this behaviour (that change was reverted), but I don't remember where in the source that was.

@ronso0 ronso0 added this to the 2.4.0 milestone Sep 23, 2023
@ronso0
Copy link
Member Author

ronso0 commented Sep 23, 2023

Only workaround I could think of was to disable softTakeover for the rate slider.

@daschuer
Copy link
Member

I guess you mean this change:
0fc7bf9

The issue is that you can go from -1 to +1 with your controller. If you go to +1.5 for instance you are no longer able to cross this position and snap back in. I am unsure if that has ever worked. but I think it is reasonable to bypass softcover in the parameter range blow 0 and above 1. Maybe in a way that if you hint the extremes of your slider the out of bound values are catches back.

The code is here:

bool SoftTakeover::ignore(ControlObject* control, double newParameter) {

This means in your initial example:

  • move rate slider outside the configured rate range, e.g. -12%, with +- buttons, sync or by setting rate with a controller script
  • move controller rate slider to +8% -> nothing happens
  • move controller rate slider to -8% -> -8% is adopted when reaching the top of the slider.
  • move controller rate slider to +8% again -> GUI slider follows

@ronso0
Copy link
Member Author

ronso0 commented Sep 24, 2023

Thanks for the pointers!

This has worked for years with my branch based on 2.4. I'm pretty sure it still worked with my second last rebase 1-2 months back, and it stopped working after I rebased 1-2 weeks ago.

@daschuer
Copy link
Member

I cannot reproduce the issue. The slider snaps fine.
I have also added a unit-test that confirms that.
#12114

Is something else required to reproduce the issue?

@ronso0
Copy link
Member Author

ronso0 commented Oct 15, 2023

I haven't been to the lab/studio/club lately to test with my controller.
I hope I find time to do it next week. Maybe it's just an issue with my controller or my mapping (even though I'm pretty sure I didn't touch the pitch slider code). Will see..

@ronso0
Copy link
Member Author

ronso0 commented Oct 31, 2023

Strange, it works as expected with 2.4, main and my production branch based on main.
Can't tell why it failed last time 🤷
Thanks for the pointers @daschuer

@ronso0 ronso0 closed this as completed Oct 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants