play panel: add up/down arrow buttons to relTempoBox and hard map keys for up/down
I've noticed I can press tab to change focus to the relTempoBox, and then I can press up or down to change relTempo by 5%. I also noticed if I press tab again, then I can select the actual tempoSlider element and then I can press up/down on keyboard to inc or dec by 1%. However, in both these cases, in order to restart playback, I have to press tab a few more times until the play button has focus in order for space bar to work on the play button. So using keyboard is useful only if I already have playback on continuous loop (which maybe I don't want on constantly). I have to repeat the process by pressing tab again to increase the tempo again. Also, there is no visual indication when the tempo slider has focus (I know it does if I've pressed tab after having the relTempoBox in focus). If I leave my mouse hovered over the play button and use mouse to toggle playback, I unfortunately loose focus from tempo slider or box. I also am able to use the scroll wheel to change relTempo when my mouse is hovered over the tempo slider, but is not very deterministic because scroll wheel sometimes changes by 2% or 3%...I'm guessing that might have something to do with my scroll wheel calibration, but I'm sure it is more difficult to precisely control with a non-discrete scrolling on labtop touchpad. Similar issue when try to hold & drag tempo slider with mouse...it is not very precise, and depends on my mouse skillz. Adding the up/down buttons would allow simple way to deterministically inc/dec by a percent without having to fiddle around. And note if I accidentally have some element set as focus, then the space bar button won't work to stop & start playback.
My feature requests are:
- Add up/down arrow buttons to relTempoBox to change tempo by 1%. Since it is already a QAbractSpinBox, it just needs to have "buttonSymbols" field set to "upDownArrows" instead of "NoButtons". (I'm curious if there is a deliberate reason why the up/down arrows aren't used here, since the arrows are used so often in other ui in mscore).
- Hard map two keyboard buttons to inc/dec tempo percent. (note the play button has the [Space] key already mapped to it, and has a visual popup text when I hover mouse over it telling me so). Maybe the up & down keyboard buttons themselves or something else like "-" and "=". It seems that when some element has focus other than the relTempoBox or slider, that the up&down keys maps to changing focus, but I think since tab is always already permanently mapped to change focus, I think should use up and down arrows for tempo always. (note, it seems also if no element has focus, then left & right keys will change position of playback, so I think up and down would map well to tempo).
- Allow space button to *always* start stop playback if a non-button has focus. It seems that while spacebar restarts playback when no element has focus, but if another element has focus then spacebar will instead toggle the element currently in focus, and hence won't restart playback.
- Add popup text when hover over tempo that says can use these keyboard buttons.
- Maybe map some other keys to volume, like Shift-Up & Shift-Down.
- Have some visual indication when tempo or volume slider has focus (could be a light boarder that appears around the "tempo" text field or around the slider itself).
- Allow relTempo box to accept decimal values when inputted manually by user keyboard number entry.
This would be useful when practicing a difficult piece when need to repeatedly increase/decrease the tempo by a percent and stop and start playback quite a bit. Considering that musician likeli already has an instrument in hand, the less having to fuss with changing focus it better.