Enhancement ideas of Custom Key Signature Editor

• Feb 6, 2022 - 23:29

We are looking forward for better Custom Key Signature editor.
Here are some ideas. It is not official, of course, just my attempt.
Any comments are welcome!

Goals:
- clef adaptation
- transpositions

Simple design proposal

Main panel:
Editor.png
Other clefs panel:
Editor_bas_clef.png
As You can see, many controls are not there for other clefs, as it is intended only for potentially adjustment of already created keysig.

Lets assume, key navigation is already implemented as suggested https://musescore.org/en/node/328994
If not, navigation buttons can be present.
Editor_Navigators1.png

Or may be vertical buttons for note / octave change on left side:
Editor_navigators2.png

Other clefs variant vith navigation buttons:
Editor_bas_clef_navigators.png

Clef adaptation

(There are only three bacis clefs at the moment, but other clefs could be added with same logic.)
User insert accidentals in treble clef.
Default vertical placement is as in classic keys. (Naturals would be at same positions as sharps.)
Default_positions.png
Deafult horizontal placement is as follows: 1.st added accidental: x=0, 2.nd accidental x=1, …

User can adjust positions (octave and x position).
Than can check and, if needed, adjust positions in other clefs.
Custom adjustment is ported to other cleffs

Example:
User creates F# and Bb, in default positions. In bass cleff, it is represented:
Clef2clef.png

If user creates F# in treble clef in lower octave, it is represented similar in bass clef (F# lowered octave down).
CustomisedClef2clef.png

If user adjust x position, it is ported to other clefs too.
X-pos changed 0.png

Transpositions

If "transposable" is ticked, only usable accidentals are enabled
Editor_transposable.png

Custom key can be interpreted as altered majority. So KeySig with F# and Bb could be interpreted as C major with augmented 4 and diminished 7.
This way it can be as easily transposable, as convential keys are.
G major with augmented 4 and diminished 7.
If some note already have „tonal“ accidental, alter it with custom accidental.
Transposition.png

Accidentals alteration logic is as follows:
Accidental_shift.png
Flat altered by sharp creates natural (-1 + 1 = 0), flat altered by double sharp produces sharp (-1 + 2 = 1), ...
(At the moment only half step accidetals up to double flat and double sharp are included, but with same logic, quatertone accidentals can be included too: flat altered by quater sharp produces quater flat: -1 + 0,5 = -0,5 ...)

1) „Tonal“ accidentals takes first place.
2) Followed by custom accidentals.
3) If place is already taken, alterate custom accidental and remove tonal accidental.
4) If empty space is created, move all following accidentals left.
Transposition_logic.png

There are at least two more ways, how to interpret accidentals in transpositions:
1) If accidentals cancels each other, both are removed (no natural added)
Transposed_alternative.png
2) Natural takes "convential" postion
Transposed_alternative2.png

But I dont like theese, because info of potential custom shift (octave, or x position shift) would be lost.

Custom Clef data

Only alterations from default positions are stored.

Deafult positions in other clefs are always relative to positions in treble clef.
Default positions in other transpositions (treble clef) are always relative to positions in C (0) transposition (treble celf).
Default positions in other clefs in transposition are always relative to positions in treble clef in coresponding transposition (positions in G basss cleff are relative to positions in G treble cleff).

Example of defaut positioned signature:
X-pos unchanged.png

Example with shifted accidentals:
X-pos changed.png

Thank You!


Comments

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