Chord with same note twice but different accidentals doesn't display reliably

• Jul 31, 2021 - 07:11
Reported version
S3 - Major

Very easy to reproduce:
a) add a B
c) shift+C to add a C above it
d) arrow down twice to make it a B flat
e) natural sign not shown for the B that is still natural
f) arrow down again, then undo
g) natural sign now shown as expected

Originally I thought this was a relatively minor/temporary rendering issue but in this case it seems permanent:
a) add a C, then arrow up to make it C#
b) shift+D to add a D above
c) arrow down 3 times to make it a B
d) arrow up to make it a D
e) you now have a chord cluster with D & D# yet there appears to be no way to make the natural sign appear.
In fact I was able briefly to get it to display the natural sign, but just saving the score made it disappear again!
Workaround is obviously to explicitly add the natural sign, but it shouldn't really be necessary.

Curiously in the msxc:


looks ok, but if you change it to accidentalSharp, it doesn't show the natural unless you add <role>1</role>.


To me, it doesn't seem particularly surprising you'd need to add the explicit natural. But more problematic is the fact that the default ordering may not be correct, and that it's difficult to control the order on which the accidentals are displayed. See #307196: Wrong order of accidentals in altered unison. So one way or another, it would be good to improve what happens here. If that happens to result in naturals being displayed automatically that's a fine side benefit.

In reply to by Dylan Nicholson1

Ok I read that thread - apparently the recommendation is that sharp should be shown before natural as the order "natural-sharp" sometimes is used to just mean "regular sharp, not a double sharp".
I'm not 100% convinced by that, but I can at least see there's an argument for having simpler control over the order (you can do it using x-offset but obviously not 100% ideal). But the changes I've made haven't affected what I'm seeing as the current behaviour, which is that if you do force the accidental to show, it always shows natural before sharp (and flat before natural, presumably also sharp before double-sharp etc.)

One thing that doesn't look great is an altered unison with a flat AND a double-flat, but I guess without the ability to split/angle stems that will always be the case.

FWIW, @oktophonie is the one who should ultimate say on what the defaults are; @tantacrul over what any specific overrides should look like (I agree manually adjusting X offsets isn't ideal).

Fix version