Last active
January 7, 2021 10:05
-
-
Save lgvr123/2c385a61e4e8d82db36c53c28554afbc to your computer and use it in GitHub Desktop.
Musecore plugin qml code for enriching a note with a name and octave ("A4", "Cb5", ...), and accidental name
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function enrichNote(note) { | |
// accidental | |
var id = note.accidentalType; | |
note.accidentalName = "NONE"; | |
if (id != 0) { | |
for (var i = 0; i < accidentals.length; i++) { | |
var acc = accidentals[i]; | |
if (id == eval("Accidental." + acc.name)) { | |
note.accidentalName = acc.name; | |
break; | |
} | |
} | |
} | |
// note name and octave | |
var tpc={'tpc' : 0, 'name' : '?', 'raw' : '?'}; | |
var pitch=note.pitch; | |
var pitchnote=pitchnotes[pitch % 12]; | |
var noteOctave=Math.floor(pitch/12)-1; | |
for (var i = 0; i < tpcs.length; i++) { | |
var t = tpcs[i]; | |
if (note.tpc==t.tpc) { | |
tpc=t; | |
break; | |
} | |
} | |
if (pitchnote == "B" && tpc.raw == "C") { | |
noteOctave++; | |
} else if (pitchnote == "C" && tpc.raw == "B") { | |
noteOctave--; | |
} | |
note.extname={"fullname": tpc.name+noteOctave, "name": tpc.raw+noteOctave, "raw": tpc.raw, "octave": noteOctave}; | |
return; | |
} | |
readonly property var pitchnotes : [ 'C', 'C', 'D', 'D', 'E', 'F', 'F', 'G', 'G', 'A', 'A', 'B'] | |
readonly property var tpcs : [{ | |
'tpc' : -1, | |
'name' : 'F♭♭', | |
'raw' : 'F' | |
}, { | |
'tpc' : 0, | |
'name' : 'C♭♭', | |
'raw' : 'C' | |
}, { | |
'tpc' : 1, | |
'name' : 'G♭♭', | |
'raw' : 'G' | |
}, { | |
'tpc' : 2, | |
'name' : 'D♭♭', | |
'raw' : 'D' | |
}, { | |
'tpc' : 3, | |
'name' : 'A♭♭', | |
'raw' : 'A' | |
}, { | |
'tpc' : 4, | |
'name' : 'E♭♭', | |
'raw' : 'E' | |
}, { | |
'tpc' : 5, | |
'name' : 'B♭♭', | |
'raw' : 'B' | |
}, { | |
'tpc' : 6, | |
'name' : 'F♭', | |
'raw' : 'F' | |
}, { | |
'tpc' : 7, | |
'name' : 'C♭', | |
'raw' : 'C' | |
}, { | |
'tpc' : 8, | |
'name' : 'G♭', | |
'raw' : 'G' | |
}, { | |
'tpc' : 9, | |
'name' : 'D♭', | |
'raw' : 'D' | |
}, { | |
'tpc' : 10, | |
'name' : 'A♭', | |
'raw' : 'A' | |
}, { | |
'tpc' : 11, | |
'name' : 'E♭', | |
'raw' : 'E' | |
}, { | |
'tpc' : 12, | |
'name' : 'B♭', | |
'raw' : 'B' | |
}, { | |
'tpc' : 13, | |
'name' : 'F', | |
'raw' : 'F' | |
}, { | |
'tpc' : 14, | |
'name' : 'C', | |
'raw' : 'C' | |
}, { | |
'tpc' : 15, | |
'name' : 'G', | |
'raw' : 'G' | |
}, { | |
'tpc' : 16, | |
'name' : 'D', | |
'raw' : 'D' | |
}, { | |
'tpc' : 17, | |
'name' : 'A', | |
'raw' : 'A' | |
}, { | |
'tpc' : 18, | |
'name' : 'E', | |
'raw' : 'E' | |
}, { | |
'tpc' : 19, | |
'name' : 'B', | |
'raw' : 'B' | |
}, { | |
'tpc' : 20, | |
'name' : 'F♯', | |
'raw' : 'F' | |
}, { | |
'tpc' : 21, | |
'name' : 'C♯', | |
'raw' : 'C' | |
}, { | |
'tpc' : 22, | |
'name' : 'G♯', | |
'raw' : 'G' | |
}, { | |
'tpc' : 23, | |
'name' : 'D♯', | |
'raw' : 'D' | |
}, { | |
'tpc' : 24, | |
'name' : 'A♯', | |
'raw' : 'A' | |
}, { | |
'tpc' : 25, | |
'name' : 'E♯', | |
'raw' : 'E' | |
}, { | |
'tpc' : 26, | |
'name' : 'B♯', | |
'raw' : 'B' | |
}, { | |
'tpc' : 27, | |
'name' : 'F♯♯', | |
'raw' : 'F' | |
}, { | |
'tpc' : 28, | |
'name' : 'C♯♯', | |
'raw' : 'C' | |
}, { | |
'tpc' : 29, | |
'name' : 'G♯♯', | |
'raw' : 'G' | |
}, { | |
'tpc' : 30, | |
'name' : 'D♯♯', | |
'raw' : 'D' | |
}, { | |
'tpc' : 31, | |
'name' : 'A♯♯', | |
'raw' : 'A' | |
}, { | |
'tpc' : 32, | |
'name' : 'E♯♯', | |
'raw' : 'E' | |
}, { | |
'tpc' : 33, | |
'name' : 'B♯♯', | |
'raw' : 'B' | |
} | |
] | |
readonly property var accidentals : [ | |
{ 'name': 'NONE' }, | |
{ 'name': 'FLAT' }, | |
{ 'name': 'NATURAL' }, | |
{ 'name': 'SHARP' }, | |
{ 'name': 'SHARP2' }, | |
{ 'name': 'FLAT2' }, | |
{ 'name': 'SHARP3' }, | |
{ 'name': 'FLAT3' }, | |
{ 'name': 'NATURAL_FLAT' }, | |
{ 'name': 'NATURAL_SHARP' }, | |
{ 'name': 'SHARP_SHARP' }, | |
{ 'name': 'FLAT_ARROW_UP' }, | |
{ 'name': 'FLAT_ARROW_DOWN' }, | |
{ 'name': 'NATURAL_ARROW_UP' }, | |
{ 'name': 'NATURAL_ARROW_DOWN' }, | |
{ 'name': 'SHARP_ARROW_UP' }, | |
{ 'name': 'SHARP_ARROW_DOWN' }, | |
{ 'name': 'SHARP2_ARROW_UP' }, | |
{ 'name': 'SHARP2_ARROW_DOWN' }, | |
{ 'name': 'FLAT2_ARROW_UP' }, | |
{ 'name': 'FLAT2_ARROW_DOWN' }, | |
{ 'name': 'ARROW_DOWN' }, | |
{ 'name': 'ARROW_UP' }, | |
{ 'name': 'MIRRORED_FLAT' }, | |
{ 'name': 'MIRRORED_FLAT2' }, | |
{ 'name': 'SHARP_SLASH' }, | |
{ 'name': 'SHARP_SLASH4' }, | |
{ 'name': 'FLAT_SLASH2' }, | |
{ 'name': 'FLAT_SLASH' }, | |
{ 'name': 'SHARP_SLASH3' }, | |
{ 'name': 'SHARP_SLASH2' }, | |
{ 'name': 'DOUBLE_FLAT_ONE_ARROW_DOWN' }, | |
{ 'name': 'FLAT_ONE_ARROW_DOWN' }, | |
{ 'name': 'NATURAL_ONE_ARROW_DOWN' }, | |
{ 'name': 'SHARP_ONE_ARROW_DOWN' }, | |
{ 'name': 'DOUBLE_SHARP_ONE_ARROW_DOWN' }, | |
{ 'name': 'DOUBLE_FLAT_ONE_ARROW_UP' }, | |
{ 'name': 'FLAT_ONE_ARROW_UP' }, | |
{ 'name': 'NATURAL_ONE_ARROW_UP' }, | |
{ 'name': 'SHARP_ONE_ARROW_UP' }, | |
{ 'name': 'DOUBLE_SHARP_ONE_ARROW_UP' }, | |
{ 'name': 'DOUBLE_FLAT_TWO_ARROWS_DOWN' }, | |
{ 'name': 'FLAT_TWO_ARROWS_DOWN' }, | |
{ 'name': 'NATURAL_TWO_ARROWS_DOWN' }, | |
{ 'name': 'SHARP_TWO_ARROWS_DOWN' }, | |
{ 'name': 'DOUBLE_SHARP_TWO_ARROWS_DOWN' }, | |
{ 'name': 'DOUBLE_FLAT_TWO_ARROWS_UP' }, | |
{ 'name': 'FLAT_TWO_ARROWS_UP' }, | |
{ 'name': 'NATURAL_TWO_ARROWS_UP' }, | |
{ 'name': 'SHARP_TWO_ARROWS_UP' }, | |
{ 'name': 'DOUBLE_SHARP_TWO_ARROWS_UP' }, | |
{ 'name': 'DOUBLE_FLAT_THREE_ARROWS_DOWN' }, | |
{ 'name': 'FLAT_THREE_ARROWS_DOWN' }, | |
{ 'name': 'NATURAL_THREE_ARROWS_DOWN' }, | |
{ 'name': 'SHARP_THREE_ARROWS_DOWN' }, | |
{ 'name': 'DOUBLE_SHARP_THREE_ARROWS_DOWN' }, | |
{ 'name': 'DOUBLE_FLAT_THREE_ARROWS_UP' }, | |
{ 'name': 'FLAT_THREE_ARROWS_UP' }, | |
{ 'name': 'NATURAL_THREE_ARROWS_UP' }, | |
{ 'name': 'SHARP_THREE_ARROWS_UP' }, | |
{ 'name': 'DOUBLE_SHARP_THREE_ARROWS_UP' }, | |
{ 'name': 'LOWER_ONE_SEPTIMAL_COMMA' }, | |
{ 'name': 'RAISE_ONE_SEPTIMAL_COMMA' }, | |
{ 'name': 'LOWER_TWO_SEPTIMAL_COMMAS' }, | |
{ 'name': 'RAISE_TWO_SEPTIMAL_COMMAS' }, | |
{ 'name': 'LOWER_ONE_UNDECIMAL_QUARTERTONE' }, | |
{ 'name': 'RAISE_ONE_UNDECIMAL_QUARTERTONE' }, | |
{ 'name': 'LOWER_ONE_TRIDECIMAL_QUARTERTONE' }, | |
{ 'name': 'RAISE_ONE_TRIDECIMAL_QUARTERTONE' }, | |
{ 'name': 'DOUBLE_FLAT_EQUAL_TEMPERED' }, | |
{ 'name': 'FLAT_EQUAL_TEMPERED' }, | |
{ 'name': 'NATURAL_EQUAL_TEMPERED' }, | |
{ 'name': 'SHARP_EQUAL_TEMPERED' }, | |
{ 'name': 'DOUBLE_SHARP_EQUAL_TEMPERED' }, | |
{ 'name': 'QUARTER_FLAT_EQUAL_TEMPERED' }, | |
{ 'name': 'QUARTER_SHARP_EQUAL_TEMPERED' }, | |
{ 'name': 'FLAT_17' }, | |
{ 'name': 'SHARP_17' }, | |
{ 'name': 'FLAT_19' }, | |
{ 'name': 'SHARP_19' }, | |
{ 'name': 'FLAT_23' }, | |
{ 'name': 'SHARP_23' }, | |
{ 'name': 'FLAT_31' }, | |
{ 'name': 'SHARP_31' }, | |
{ 'name': 'FLAT_53' }, | |
{ 'name': 'SHARP_53' }, | |
{ 'name': 'SORI' }, | |
{ 'name': 'KORON' } | |
]; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment