Selected overlaid notes remain black, because the voice-2 note get selected

• Dec 14, 2018 - 08:00
Reported version
3.0
Priority
P2 - Medium
Type
Graphical (UI)
Frequency
Once
Severity
S4 - Minor
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
No
Project

select-voices.png

Repro steps
1. Open the attached file
2. Click the note

Expected behavior: The note in voice 1 is selected and will get blue.

Actual behavior: The note in voice 2 is selected. The note remains black. There is no visual feedback that a note got selected.

Attachment Size
select-voices.mscz 2.38 KB

Comments

I don't remember how the highlighting worked in my PR, and as mentioned, it needs work to be mergeable again.

2.3.2 had plenty of cases also where it would not be obvious what was selected in case of collision, even if this particular combination happened to work better. So it's not a regression in general - just something we've never had a great solution for.

I checked, and actually 2.3.2 does not do anything special to make sure the selected note is highlighted. If it happens to be on top already, it remains so, but if not, it isn't. So, two overlapping quarter notes, one voice 1 and the other voice 2, if the voice 1 note is generally drawn on top, so if you click it, you see it turn blue. But if you force the voice 2 note to be selected - eg, click the note/rest after it then press Left - you also see no feedback. What 2.3.2 has that 3.0 doesn't is that voice 1 is generally drawn on top

This is an easy fix. For elements with the same stacking order (same type, normally), this PR now includes code to give preference (drawing on top) to selected over unselected, visible over invisible:

https://github.com/musescore/MuseScore/pull/4717