Add ability to merge unison noteheads even for differing dots and for whole notes

• Apr 22, 2014 - 02:59
Type
Functional
Severity
S5 - Suggestion
Status
closed
Project

Windows 7, GIT commit: e89b053

From the French forum: http://musescore.org/fr/node/25446

In guitar music, it is commom to merge noteheads for unisons in different voices, even in cases where there one note is dotted and the other is not, and perhaps even in cases when one note is stemless (eg, a whole note). While it seems clear this should not be the default, it should not be difficult to achieve this result. One possibility is to add an option - either a style option, staff type parameter, or note property - to control behavior in such case. But lasconic suggests a clever scheme in which MuseScore agrees to merge noteheads it otherwise would not if you simply set one explicitly to match the other, as opposed to leaving both on Auto. For instance, a dotted quarter and an eighth in unison would be merged if you explicitly set the notehead for either to "Quarter".


Comments

I'm not sure if this case has been dealt with, but an exception you should consider not merging note heads is large vs small notes. In band music there can typically be a primary (large notes) and secondary (small notes) themes, and you don't want the large & small note heads to merge, even though they can both be the same.

I guess I can imagine situations where you might want them to merge, but I think you are right about the default. So I have added this to the PR, with the same workaround: by explicitly setting the note head type, you can force a merge. Thanks for bringing it up!

Status (old) fixed active

JoJo was right to be concerned (in his comment on the PR) about my check for matching headWidth(). The problem isn't performance but reliability - floating comparison is fragile, and I am seen it break in some cases here, resulting in notes that don't merge even in the simple cases where they should. Some of the vtests fail on my system as a result (even though I can't reproduce it under the debugger).

I'll have a fix in later today.