Playing notes from a MIDI keyboard while score playback is engaged
I've already created a fix for this, but thought I should post here to get some community feedback:
https://musescore.org/en/node/276217#comment-852833
Anyhow, my proposal is to allow users to play on their keyboard while the play button is pressed. This would be useful for composers who write a base line or some chords and then want to experiment by improvising live over what they just wrote. This can be combined with the looping feature so that they can try a few different ideas before writing the notes they want.
A side effect of this is that I've needed to remove the automatic changing of the loop area when the play button is pressed. Personally, I always found this feature to be problematic anyhow. The looping region can already be set by pressing the loop button or using the play panel. By having the play button automatically reset the looping region to whatever is currently selected means that what you set with the loop button is ignored and you have to carefully reselect that same region before pressing play. This also prevents you from selecting a different staff for playback when you're improvising.
Comments
I strongly suggest reconsidering your change to how loop points are set. It's a great time-saver to be able to set the loop by just selecting region. Requiring users to need to do this manually would be a huge step backwards in usability, to me.
In reply to I strongly suggest… by Marc Sabatella
I've had a different experience. I've found it very frustrating to carefully set the loop points for a region I wish to work on, then select another measure to edit some notes (or even just shift the view a little), then press play and have my carefully selected loop region overwritten. The way things currently are, you must make sure you've manually selected the region you wish to loop over every time you press the play button.
Maybe this is something that could be configured in the preferences?
In reply to I've had a different… by blackears
Not sure why you'd be changing the selection just to edit notes or shift the view - neither of these operations normally requires making a new range selection. So next time you press Play you should still get the old loop.
And even if for whatever reason you do make a new range selection, and then for some reason decide you still want to hear the old region instead of the new region you just selected, all you need to do is press Esc to clear the selection and you can still hear your old loop if that's what you prefer. Best of both worlds already, no need to clutter the interface and confuse the user with yet more preferences.
In reply to Not sure why you'd be… by Marc Sabatella
Clicking on measures is a basic operation in the course of editing. They're also a lot easier to select than individual notes and are often selected inadvertently when one is navigating or doing other tasks. Having the selected region become the looping region automatically when Play is pressed causes frequent inadvertent resets of the loop region. Your suggestion of pressing Esc before pressing play can avoid this issue - however, it can be easy to forget to press Esc first, and this would be a non-obvious procedure for new or casual users.
While I can see how to some users a 'selected region becomes the loop region when pressing play' feature would be a useful shortcut, this can be an obstacle for other users who are not expecting or do not want this. My own thinking is that the function of the Play button should be to play the score, and having the loop region being selected as a side effect would be an extra feature that could be enabled or disabled as the user sees fit.
In reply to Clicking on measures is a… by blackears
Yes, you might happen to make a selection as part of editing your score, but by the time you are done, there normally wouldn't still be a range selected. Occasionally maybe depending on the specific editing sequence, but we're talking about a corner case on top of corner case. We can't crippled the basic loop experience for the normal user just to handle the occasional user forgetting to press Esc. If we don't allow setting loop point by selection, now that would be non-obvious to new users, and would be far worse. It would be difficult for them to figure out how to set the loop points (unless they happened to stumble on the Play Panel, not very likely for new /casual users). It's far more important that new users be able to figure out how to use the feature in the first place than to figure how to customize the behavior in the very oddball corner case where first you set one loop, then edit your score, then decide to go back and listen to the old loop again.
In reply to Yes, you might happen to… by Marc Sabatella
You can set the loop region to the selected region by pressing the Toggle Loop Playback button, right next to the Play button. I would think that is the most obvious way to set the looping region for new users. I also would not consider this an oddball corner case, given how many times I've inadvertently set the loop range by pressing Play. I doubt I'm the only user who has done this. Having the Play button specialize in playing and the Loop button specialize in looping seems like the most straight forward approach.
In any case, having this be a configurable option seems to me to be the best of both worlds. It would allow users who find this behavior problematic to turn it off.
In reply to You can set the loop region… by blackears
Again, the downside of more options just is that it clutters the interface and confuses people. It's not better than just designing well.
Yes, you can toggle the loop button off and back on to update the loop region, but that's non-pbcious, extra work, and just plain hacky compared to the elegant simplicity of just selecting a region.