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

UI Snap and Display off-by-one in non-continuous wavetable mode #6362

Closed
baconpaul opened this issue Jul 14, 2022 · 0 comments · Fixed by #6365
Closed

UI Snap and Display off-by-one in non-continuous wavetable mode #6362

baconpaul opened this issue Jul 14, 2022 · 0 comments · Fixed by #6365
Labels
Bug Report Item submitted using the Bug Report template Oscillator Features or additions to the oscillator section UI Issues related to UI look&feel
Milestone

Comments

@baconpaul
Copy link
Collaborator

In discrete mode (window default, wavetable option) a wavetable with N tables divides the span into 0..N, allowing each of the tables to take equal space in the morph

In continuous mode (window opion, wavetable default) a wavetable with N tables divides the span into 0..N-1 since it interpolates between and the end tables are endpoints, not playbacks

BUT our UI always assumes 0..N (in the labeling and snapping of the parameter slider) or 0..N-1 (in the 3d display) causing the problem shown here

TheProblem

Solution is to have those ranges and renderers know about continuous mode

@baconpaul baconpaul added the Bug Report Item submitted using the Bug Report template label Jul 14, 2022
@baconpaul baconpaul added this to the Surge XT 1.1 milestone Jul 14, 2022
@mkruselj mkruselj added UI Issues related to UI look&feel Oscillator Features or additions to the oscillator section labels Jul 14, 2022
baconpaul added a commit to baconpaul/surge that referenced this issue Jul 15, 2022
So in continuous mode with wavetables your last frame is between
n-2 and n-1; but in discrete mode it is between n-1 and a coyp of n-1
so that there are effectively n tables. This allows in discrete mode each
modulation range to be conssitent. But means we need to get those
off-by-ones in there based on extend or not.

Closes surge-synthesizer#6362
baconpaul added a commit to baconpaul/surge that referenced this issue Jul 15, 2022
So in continuous mode with wavetables your last frame is between
n-2 and n-1; but in discrete mode it is between n-1 and a coyp of n-1
so that there are effectively n tables. This allows in discrete mode each
modulation range to be conssitent. But means we need to get those
off-by-ones in there based on extend or not.

This is a UI only change. The wavetable and parameter value have always
been right; this is just the string and snap

Closes surge-synthesizer#6362
baconpaul added a commit that referenced this issue Jul 15, 2022
So in continuous mode with wavetables your last frame is between
n-2 and n-1; but in discrete mode it is between n-1 and a coyp of n-1
so that there are effectively n tables. This allows in discrete mode each
modulation range to be conssitent. But means we need to get those
off-by-ones in there based on extend or not.

This is a UI only change. The wavetable and parameter value have always
been right; this is just the string and snap

Closes #6362
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Report Item submitted using the Bug Report template Oscillator Features or additions to the oscillator section UI Issues related to UI look&feel
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants