musescore / musescore/MuseScore
Playback Modifiers (Play selected parts and/or range)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Your idea
Currently, MuseScore 4 either plays (1) all unmuted/solo parts or (2) only parts that have at least one of their measures selected. With this feature request however, space would always play all unmuted/solo parts regardless of selection, and to play only selected parts will require an additional modifier (i.e. ctrl + space).
Also, this is mostly the same idea as https://github.com/musescore/MuseScore/issues/23831 but with additional behavior.
First, let's assign some playback modifiers (added to space key):
ctrl- Play only selected partsshift- Loop selection (range)alt- Always start at the beginning (and if there are selected parts, start at first selection)
Of course, these are only the modifiers that I've thought would work well, but if there are better ones, feel free to point them out and suggest them as well.
For the shortcuts behavior:
alt- For all playback shortcuts behavior, including
altwill always start at the beginning of the score or, if there are selected parts, start at the first selection - This should be useful when pausing and resuming playback, as there are times when you would want to start at the beginning rather than continuing from the last position
- For all playback shortcuts behavior, including
- [
alt+]space- Play all unmuted/solo parts regardless of any part measure selection
- If
altis included, start at the beginning of the score or the beginning of the selection if any
ctrl+ [alt+]space- Play only parts with selection (if there is no selection, play as
spacebehavior) - Should continue to play even outside of selection (if any)
- Play only parts with selection (if there is no selection, play as
shift+ [alt+]space- Play and loop selection for all unmuted/solo parts (if there is no selection, play as
spacebehavior but loop the entire score or on the loop markers if any) - Should not update existing loop markers if loop is enabled. The
shiftmodifier should be an override instead and be given higher priority over loop markers - If there are existing loop markers and loop is enabled, pausing this playback mode should restore these loop markers
- Should not continue to play outside of selection (if any) and should start at the beginning of selection if playback is resumed outside of selection
- Play and loop selection for all unmuted/solo parts (if there is no selection, play as
ctrl+shift+ [alt+]space- Play and loop only parts with selection (if there is no selection, play as
spacebehavior but loop the entire score or on the loop markers if any) - Same behavior from
shift+spaceapplies (override loop markers, start at beginning when resumed outside of selection if any)
- Play and loop only parts with selection (if there is no selection, play as
Note that the user should also be able to pause and resume at any point with any or no playback modifiers, and it should continue from the last position unless alt is included.
Problem to be solved
Implementing these playback behavior changes, in my opinion, will give users more control over how they want to start the playback. Also related to https://github.com/musescore/MuseScore/issues/23831, you would be able to select measures and play only those selected measures in a loop just by adding modifiers without additional setup/clicking.
Prior art
No response
Additional context
No response
Checklist
- This request follows the guidelines for reporting issues
- I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests
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
The issue names no files, tests, or entry points. Start by locating MuseScore's playback shortcut handling and selection/loop playback logic, then verify that the requested modifier combinations preserve pause/resume behavior and apply the specified selection, starting-position, and looping rules.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100