mirror of
https://github.com/vsariola/sointu.git
synced 2025-06-04 01:28:45 -04:00
fix(tracker): reduce visual jitter when adjusting unit parameter sliders
The solution is not to force the slider value when the user is dragging it. Closes #33
This commit is contained in:
parent
024245b780
commit
e93190892b
@ -74,7 +74,9 @@ func (t *Tracker) layoutUnitSliders(gtx C) D {
|
||||
valueText = fmt.Sprintf("%v", value)
|
||||
}
|
||||
}
|
||||
t.ParameterSliders[index].Value = float32(value)
|
||||
if !t.ParameterSliders[index].Dragging() {
|
||||
t.ParameterSliders[index].Value = float32(value)
|
||||
}
|
||||
sliderStyle := material.Slider(t.Theme, t.ParameterSliders[index], float32(min), float32(max))
|
||||
sliderStyle.Color = t.Theme.Fg
|
||||
return layout.Flex{Axis: layout.Horizontal, Alignment: layout.Middle}.Layout(gtx,
|
||||
@ -95,12 +97,12 @@ func (t *Tracker) layoutUnitSliders(gtx C) D {
|
||||
t.EditMode = EditParameters
|
||||
t.CurrentParam = index
|
||||
if u.Type == "oscillator" && name == "sample" {
|
||||
v := int(t.ParameterSliders[index].Value) - 1
|
||||
v := int(t.ParameterSliders[index].Value+0.5) - 1
|
||||
if v >= 0 {
|
||||
t.SetGmDlsEntry(v)
|
||||
}
|
||||
} else {
|
||||
t.SetUnitParam(int(t.ParameterSliders[index].Value))
|
||||
t.SetUnitParam(int(t.ParameterSliders[index].Value + 0.5))
|
||||
}
|
||||
}
|
||||
return dims
|
||||
|
Loading…
x
Reference in New Issue
Block a user