Rests collide when using accent notation (Toggle Rhythmic Slash Notation)
This is on MuseScore 2.0.2 on Mac OS X 10.11.3.
Steps to reproduce:
- Start with My First Score.
- On voice 1, enter note entry mode. Enter a quarter rest, eighth notes G F, quarter note E, quarter note C.
- On voice 3, enter note entry mode. Enter a quarter rest (at this point, the rest shown moves up to the top of the staff), then a half note F (top line), then a quarter note F.
- Open the selection filter, uncheck voice 1, and click to select measure 1. Then pick Edit -> Tools -> Toggle Rhythmic Slash Notation.
The result looks like this:
The quarter rest in the main part stays up high and collides with the rest in the accent part.
The workaround is to manually adjust the rest back down, but this is a common use case in leadsheets, so there may be quite a few instances to adjust.
Comments
Unfortunately this isn't really a bug - it's more a matter of us not having automatic collision avoidance algorithms. That is, a missing feature. See #99421: Automatically move rests to avoid collisions with notes in other voices. Some day we do hope to be aboe to do more of this sort of thing, but for now, manual adjustment is what you need to.
I'm not sure this would need to be done at that high of a level. Looking at the code, it looks like rests have an accent property that gets set when notes in voices 3/4 are small. Fixing the collision might be as simple as "when computing a rest's line offset in Rest::computeLineOffset(), don't factor voice 3 into the calculation if it contains an accent rest".
If I coded up something like that, would you consider the pull request?
I reopened this because I wrote a patch that covers this specific case.
https://github.com/musescore/MuseScore/pull/2475
MuseScore 3 has different results for the steps described in this issue, so a separate issue should probably be opened for that if needed.