zynaddsubfx / zyn-fusion-issues

Issue Only Repo
31 stars 0 forks source link

Having key shift as slider makes it hard to set #341

Open polluxsynth opened 2 years ago

polluxsynth commented 2 years ago

The key shift setting at the top of the fusion screen is implemented as a slider which makes it hard to set, especially on a touch screen, where it's easy to set by mistake, requiring a bit of painstaking adjustment to get it back to its original position again. It's also not easy to see what it is actually set at at a glance.

Suggest implementing it like the BPM setting beside it (although the question is then how to fit the corresponding label) so that it can be stepped up and down incrementally while still being controllable over larger ranges using a scroll wheel. That does mean that pure touch control can only by done by jabbing at the + or - buttons which might be an issue.

fundamental commented 2 years ago

Instead I'd recommend going from the vertical slider motion into a horizontal sliding motion with a slower stepping process. Perhaps some additional deadband to reduce changing it unintentionally?

polluxsynth commented 2 years ago

You mean retaining the current slider like appearance and just changing the control motion?

One disadvantage with the current solution is that it's not possible to tell the key shift just by looking at it - the actual value does come up as a tooltip, but since it is descrete values, it would be better if it could be read at a glance, like the tempo. (With a touch screen the widget needs to be touched which I was thinking would carry the risk of changing the value, but it seems that actually changing the value requires a longer touch, so the risk is small). For the volume, the exact value is not important, so a slider is excellent as it provides a quick at-a-glance value, but the key shift is on par with the tempo more than the volume in terms of the need to present the actual value at all times.

fundamental commented 2 years ago

Yeah, I could see having a consistent text overlay on that widget being something that makes sense.

pgervais commented 1 year ago

My 2cents

There seems to be two conflicting requirements here (that apply to both tempo and key shift):

  1. have the current value and the description ("tempo", "key shift")
  2. have a widget big enough to set a precise value on a touchscreen

One idea could be to have the widgets show 1. by default ("tempo: 120", "key shift: 64" or "key shift: C3"), and show a big slider when tapped. The flow would be: tap "tempo: 120" -> a slider opens (potentially with +/- buttons). User changes the value using the slider. The user taps outside the slider to dismiss it (and/or it disappears with a timeout).

The downside is that "popup" slider doesn't really match with the rest of the UI. If that's an issue, maybe it could be possible to collect all the settings that do not need to be adjusted all the time in another panel and show that panel upon tapping any of the widgets associated with those settings. The flow would be: tap "tempo" or "key shift" -> the setting panel appear, the user can change all the values they want ; the user taps a "dismiss"/"back" button and the panel previously shown reappears.

polluxsynth commented 1 year ago

There is one part of the UI which pops up a window, and that is the file browser when loading and saving patches etc. While this is not the same as a giant slider, at least the concept of a popup is not completely alien to the UI.