Skip to content

Instantly share code, notes, and snippets.

@lgvr123
Last active January 7, 2021 10:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lgvr123/2c385a61e4e8d82db36c53c28554afbc to your computer and use it in GitHub Desktop.
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
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