Improvement of the handling of enharmonic accidentals required.

• Nov 29, 2011 - 20:49

Working in certain keys is intensely frustrating when the relative keys contain notes such as E#, Cb etc.

Maybe something could be worked out along the lines of - if there is are more than 3 flats in the key signature MuseScore will automatically enter Cb/Fb and not B/E natural, and similarly if there are more than 4 sharps in the key signature MuseScore should automatically enter E#/B# and not F/C natural?

What do you think of this proposal?


I agree, but I also think it could go further than that. Right now, the functioning of the arrow keys seem to be, raise/lower the pitch while keeping the same letter name, unless that would result in Cb, B#, Fb, or E#. I say, why have these special exceptions at all? Why not let the arrows always keep the same letter name? Or, implement the scheme suggested in - have all exceptions be based on key. That is, in the key of A, have down arrow on A produce G# instead of Ab. This would automatically produce the result you refer to - down arrow from C would give you Cb in the key of Gb, but B in the key of G (or, indeed, just about any other key). As is the case now, you could still create a Cb when desired using the palette accidental rather than the arrows.

In reply to by Marc Sabatella

I'm a new user -- thanks for showning me a workaround for the E# accidentals the other day.

I think the basic up-down mechanism is quite convenient. To me, the accidentals palette has two drawbacks: first, dragging stuff is vastly more awkward than up-down keyes; second, there's a certain non-transparency about its action -- am I changing notes, or merely adding cautionary accidentals? Anyway, I think it would be good to have the action customisable.

Any automatic scheme based on key signatures or whatever will always create more holes than it fills. Simply make the range user-settable (per score). The default could be as at present:

Sharps: up to 5 [ ]
Flats: up to 5 [ ]

Make each of these two numbers settable in the range 0 to 14. There's a Scriabin etude in four sharps which includes Ex (E-double-sharp); no "automatic" system that allows for this will be acceptable to "normal" people, but I could just set the range to #:14 b:0 and it would do everything.

Brian Chandler

In reply to by Imaginatorium

Note you don't need to drag in order to use the palette. Just click the note you want to apply an item to, then double click the palette symbol. This works in most palettes, including accidentals. Also, you can assign keyboard shortcuts to many of the palette shar and flat (see edit->preferences->shortcuts), making it even easier to apply them. I mention this because sometimes, you definitely *need* the palette accidentals. Not just for creating E# et al, but for creating courtesy accidentals. So you don't want to get in the habit of avoid the palette - just learn the difference. Think of up/down as changing pitch, always necessitates changing display, and the palette as changing display, which may or may not also change pitch.

So while it is true that an automatic scheme based on key would create certain holes (Ab in the key of A, for instance), I would still wager that in 90% of the cases where one would hit down arrow from an A in the key of A, you'd actually *want* a G#, not an Ab. Obviously, no one would deliberately enter G# that way, but I'm thinking about cases where you are transposing a whole selected passage, or are using the arrow key for some other purpose than to just enter a single accidental. And in the cases where you really do need that Ab, there is always the palette. Although I suppose then you'd have the same issue of how to enter multiple Ab's in the same measure, and needing to work backwards to get that effect. Hmmm.

In reply to by Marc Sabatella

Regarding that last concern - if up/down prefers diatonic spelling, we'd still the problem of entering multple Ab's in the key of A (and, indeed, the problem of multiple Cb's in C) - I think the solution would be to add a command to change enharmnoic spelling. So even if the default arrow action produces the wrong spelling, one key and it changes to the other spelling, with accidental being displayed only if necessary.

I don't know; I think this idea has a lot of promise, but I'd need to play with a build that oncorporated to get a sense of whether I thought it was really viable. But the idea of simply eliminating the special casing for Cb et al I think would work with no reseverations - it's just that the idea of having arrows prefer diatonic spellings might be even better.

In reply to by Marc Sabatella

Judging from comments in the issue tracker, the development team seem to be pretty set on the current up for sharps down for flats concept.

Whatever system is used, provided it provides proper support for enharmonic sharps and flats then I will be happy.

A button (a la Finale) which enabled you to cycle any note enharmonically would be very helpful - but should we include triple sharp and flat support in that?

Do you still have an unanswered question? Please log in first to post your question.