musescore / musescore/MuseScore
Cursor keys fail to set playback start point after toggling loop playback
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Issue type
UX/Interaction bug (incorrect behaviour)
Bug description
Normally, any change to the current selection will set the start point for the next playback. But, after toggling loop playback on and off, changing selection using the cursor keys fails to set a start point - it keeps continuing where it left off.
Steps to reproduce
- Open or create a score
- Select the first note of the second measure
- Press Space to start playback
- After playing a measure or so, press Space again to pause
- Press Left followed by Right, to re-select the originally-selected note
- Press Space again to start playback
Result: As expected, playback starts from the selected note. You can repeat those last two steps as often as you like, it works every time.
Now, with playback paused, toggle loop playback on and then off again. Then try to repeat the last two steps.
Result: Even though you are successfully reselecting the orginally-selected note, playback will not start from that location - it will continue from where you last paused. And no other keyboard navigation commands (eg, Ctrl+Right, Alt+Right, Alt+Down, Ctrl+Home) will function to set the start point, either. It is now "stuck" in this mode - you cannot (that I can see) get back to a place where cursor keys work to select the start point anymore. Except by closing and reopening the score
Workaround 1: clicking a note will still set the start point, but it won't make subsequent cursor key presses work.
Workaround 2: while no navigation commands will work to set the start point, the commands to create range selections will. So, Shift+Right followed by Shift+Left will produce the desired end result (allowing playback to restart at the originally-selected location). Well, almost - now it will play only the selected instrument. So you'd also need to hit Esc to play all staves.
Screenshots/Screen recordings
Screen recording 2024-06-18 6.33.01 PM.webm
MuseScore Version
OS: Debian GNU/Linux 12 (bookworm), Arch.: x86_64, MuseScore Studio version (64-bit): 4.3.2-241630832, revision: github-musescore-musescore-22b46f2
Regression
Yes, this used to work in MuseScore 3.x and now is broken
Operating system
Debian 12
Additional context
Broken in 4.2.1 as well, not sure if it ever worked in any other MU4 release but it definitely did in MU3.
I would note that implementing a "start playback from selection" command would eliminate the need for the specific hack used in the example: navigating right then left to re-select a note and force playback to start there again. So that's certainly something to consider too. But the current behavior would still be a bug, and a significant one from an accessibility standpoint, since it means it is all but impossible to discover how to select a playback start point by keyboard after having used loop playback.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with the listed playback, loop-toggle, and cursor-key steps in MuseScore 4. Compare cursor navigation with clicking a note and range-selection commands after loop playback is toggled off. Done means keyboard selection reliably resets the playback start point again without requiring the score to be reopened.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100