Closed cbjeukendrup closed 1 month ago
For this reason among others I’ve often wished we would simply disallow deleting rests and have delete mark them invisible instead. But FWIW, the workaround has always been to do voice exchange twice. The first fills the the holes, the second sets things back.
In theory one could redesign input navigation to not skip these holes. Probably wouldn’t even be particularly difficult. After all, we already handle the case of the input cursor not being on any actual chordrest when first entering an empty measure in voices greater than 1. Basically that’s just a big measure-long hole.
It does seem like the most sensible solution here is to make the delete action affect the rest's visibility, rather than deleting it outright (which makes no musical sense).
Currently, rendering a rest invisible seems to cause other voices to recalculate their position in the same way as deleting it does – which is good. So I'd expect that simply changing the "del" behaviour to effect invisibility will solve this.
It won't solve it for existing scores though, but Marc's approach would.
Swapping voices twice brings these 'missing' rests back though (and this is the workaround used ever since) Oops, Marc mentioned that earlier...
Issue type
UI bug
Steps to reproduce
(With the mouse, it does work, though.)
Screenshots/Screen recordings
https://github.com/musescore/MuseScore/assets/48658420/c15b0c5a-0ea5-46e9-8bd9-43d0a68930ff
MuseScore Version
at least master
Regression
No.
Operating system
macOS 13
Additional context
Came up in https://github.com/musescore/MuseScore/issues/17926