musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.14k stars 2.63k forks source link

Playback Modifiers (Play selected parts and/or range) #24800

Open Arnesfield opened 1 week ago

Arnesfield commented 1 week ago

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):

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:

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

skirby14 commented 1 week ago

This sounds fantastic! I've found it surprisingly difficult to adjust to the new behaviour of only playing selected parts in MS4, so something like this would be extremely welcome.

MarcSabatella commented 1 week ago

I like the idea of the modifiers. For discoverability, these could also be selected via a dropdown on the play button.

I know the original concern was that the new select-to-solo feature would not be likely to be discovered quickly if it weren't the default. Frankly, I'm fine with that, but one way I could see to combine all of this would be to make the default Play behavior be the current one, but have the dropdown on the play toolbar change it to one of the other behaviors. Kind of like how the note input button works, where N always toggles note input mode, but the dropdown lets you select which specific behavior note input mode implements.

Arnesfield commented 1 week ago

Good point, I also thought of the play button dropdown but focused more on the shortcuts side.

For me at least, it could help with the discoverability of the feature but it would be better to have users learn the shortcuts instead by showing them the shortcut keys on the dropdown options themselves.

What I fear is that users would use this feature with multiple clicks and interactions like:

  1. User selects parts
  2. Clicks on the tiny play dropdown icon on the toolbar (maybe also allow a right click so the click area is larger)
  3. After the dropdown list is shown, another click to play with modifiers

This would involve a lot of mouse movement going back and forth between score editing and playback, and that means more hand and wrist movement which can physically strain the user. And even then, this doesn't even consider misclicks and the user may have to do that all over again with more precision.

To be honest, and maybe this is just me coming from MuseScore 3, but the select-to-solo feature is great... kind of. The problem with it, for me at least, is that measures are arguably the easiest to click on the score because they occupy a lot of space compared to notes and lines. I often find myself clicking on a measure and hitting space thinking that it'd just play all the parts from there. But select-to-solo forces users to do an additional click out of the measure or a perfect click on a line/note with much stress (maybe additional zooming for larger scores) just to avoid select-to-solo. This is just my experience though and it might be different for others.

If the playback modifiers are to be implemented, users will be able to control this regardless of any selection with, in my opinion, much ease: click an element on the score and play w/wo modifiers. If they want playback of selection only, they can add ctrl, for loops, add shift, and so on.

Also, this is probably off-topic, but select-to-solo kind of messes with the mixer solo/mute settings which I've also created an issue for: https://github.com/musescore/MuseScore/issues/24192

I appreciate your feedback, thanks!

MarcSabatella commented 1 week ago

Yes, to be clear, I would like to see both the dropdown and shortcuts.

Btw, my usual workaround for times when I accidentally select a full measure is to then press Esc. This clears the selection and allows all instruments to play, but remembers the selected start position.

Arnesfield commented 1 week ago

Yes esc should also work. However, it feels more like an additional step and it makes select-to-solo an opt out rather than an opt in feature.

The one problem with the modifiers idea is that it's not backwards compatible in the sense that users who use and expect select-to-solo as it is now will feel like it's a bug if it suddenly stops working after an update if the playback modifiers do get implemented and with the behavior changes I've listed out.

I'm also thinking of having an option to disable select-to-solo via settings (enabled by default for backwards compatibility), but maybe there are better ways to go about it.

Thanks!