musescore / musescore/MuseScore

Playback Modifiers (Play selected parts and/or range)

Open
#24,800 7 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

community feature request
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 parts
  • shift - 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 alt will 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
  • [alt +] space
    • Play all unmuted/solo parts regardless of any part measure selection
    • If alt is 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 space behavior)
    • Should continue to play even outside of selection (if any)
  • shift + [alt +] space
    • Play and loop selection for all unmuted/solo parts (if there is no selection, play as space behavior but loop the entire score or on the loop markers if any)
    • Should not update existing loop markers if loop is enabled. The shift modifier 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
  • ctrl + shift + [alt +] space
    • Play and loop only parts with selection (if there is no selection, play as space behavior but loop the entire score or on the loop markers if any)
    • Same behavior from shift + space applies (override loop markers, start at beginning when resumed outside of selection if any)

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.