vibe-editor 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +12 -9
  3. package/package.json +11 -5
  4. package/src/scripts/js/Core.js +212 -186
  5. package/src/scripts/js/MusicProcessor.js +286 -128
  6. package/src/scripts/js/{VerovioScoreEditor.js → VIBE.js} +62 -28
  7. package/src/scripts/js/assets/mei_template.js +5 -1
  8. package/src/scripts/js/datastructures/MeasureMatrix.js +6 -85
  9. package/src/scripts/js/datastructures/ScoreGraph.js +1 -1
  10. package/src/scripts/js/entry.js +3 -2
  11. package/src/scripts/js/gui/Annotations.js +188 -111
  12. package/src/scripts/js/gui/HarmonyLabel.js +26 -2
  13. package/src/scripts/js/gui/ScoreManipulator.js +61 -31
  14. package/src/scripts/js/gui/Tabbar.js +41 -21
  15. package/src/scripts/js/gui/Toolbar.js +4 -4
  16. package/src/scripts/js/handlers/AnnotationChangeHandler.js +131 -60
  17. package/src/scripts/js/handlers/ClickModeHandler.js +406 -143
  18. package/src/scripts/js/handlers/CustomToolbarHandler.js +26 -24
  19. package/src/scripts/js/handlers/GlobalKeyboardHandler.js +12 -7
  20. package/src/scripts/js/handlers/InsertModeHandler.js +26 -32
  21. package/src/scripts/js/handlers/KeyModeHandler.js +12 -86
  22. package/src/scripts/js/handlers/LabelHandler.js +3 -2
  23. package/src/scripts/js/handlers/PhantomElementHandler.js +1 -1
  24. package/src/scripts/js/handlers/ScoreManipulatorHandler.js +101 -14
  25. package/src/scripts/js/handlers/SelectionHandler.js +80 -36
  26. package/src/scripts/js/handlers/SideBarHandler.js +10 -3
  27. package/src/scripts/js/handlers/WindowHandler.js +25 -4
  28. package/src/scripts/js/utils/DOMCreator.js +1 -1
  29. package/src/scripts/js/utils/MEIConverter.js +13 -1
  30. package/src/scripts/js/utils/MEIOperations.js +180 -187
  31. package/src/scripts/js/utils/Mouse2SVG.js +200 -43
  32. package/src/scripts/js/utils/ReactWrapper.js +46 -0
  33. package/src/scripts/js/utils/RectWrapper.js +10 -0
  34. package/src/scripts/js/utils/SVGEditor.js +94 -3
  35. package/src/scripts/js/utils/VerovioWrapper.js +6 -1
  36. package/src/scripts/js/utils/convenienceQueries.js +2 -0
  37. package/src/scripts/js/utils/mappings.js +322 -56
  38. package/src/styles/VerovioScoreEditor.css +0 -694
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.midiToNote = exports.keyToUnicode = exports.unicodeToKey = exports.unicodeToTimesig = exports.clefToLine = exports.octToNum = exports.modButtonToAttr = exports.attrToModButtonId = exports.numToDotButtonId = exports.NoteButtonIdToNum = exports.numToNoteButtonId = exports.keyIdToSig = exports.keysigToNotes = exports.nextStepUp = exports.nextStepDown = exports.noteToB = exports.noteToCross = exports.idToClef = exports.keyCodeNoteMap = exports.idxNotePhantomMapBelowC = exports.idxNotePhantomMapAboveC = exports.idxNotePhantomMapBelowF = exports.idxNotePhantomMapAboveF = exports.idxNotePhantomMapBelowG = exports.idxNotePhantomMapAboveG = exports.idxNoteMapCClef = exports.idxNoteMapFClef = exports.idxNoteMapGClef = void 0;
3
+ exports.unicodeToKey = exports.unicodeToTimesig = exports.clefToLine = exports.octToNum = exports.modButtonToAttr = exports.attrToModButtonId = exports.numToDotButtonId = exports.NoteButtonIdToNum = exports.numToNoteButtonId = exports.keyIdToSig = exports.keysigToNotes = exports.nextStepUp = exports.nextStepDown = exports.noteToB = exports.noteToCross = exports.idToClef = exports.keyCodeNoteMap = exports.idxNotePhantomMapBelowCBariton = exports.idxNotePhantomMapAboveCBariton = exports.idxNoteMapCClefBariton = exports.idxNotePhantomMapBelowCTenor = exports.idxNotePhantomMapAboveCTenor = exports.idxNoteMapCClefTenor = exports.idxNotePhantomMapBelowCMezzo = exports.idxNotePhantomMapAboveCMezzo = exports.idxNoteMapCClefMezzo = exports.idxNotePhantomMapBelowCSoprano = exports.idxNotePhantomMapAboveCSoprano = exports.idxNoteMapCClefSoprano = exports.idxNotePhantomMapBelowCAlto = exports.idxNotePhantomMapAboveCAlto = exports.idxNoteMapCClefAlto = exports.idxNotePhantomMapBelowFOctDown = exports.idxNotePhantomMapBelowFOctUp = exports.idxNotePhantomMapBelowF = exports.idxNotePhantomMapAboveFOctDown = exports.idxNotePhantomMapAboveFOctUp = exports.idxNotePhantomMapAboveF = exports.idxNotePhantomMapBelowGOctDown = exports.idxNotePhantomMapBelowGOctUp = exports.idxNotePhantomMapBelowG = exports.idxNotePhantomMapAboveGOctDown = exports.idxNotePhantomMapAboveGOctUp = exports.idxNotePhantomMapAboveG = exports.idxNoteMapFClefOctDown = exports.idxNoteMapFClefOctUp = exports.idxNoteMapFClef = exports.idxNoteMapGClefOctDown = exports.idxNoteMapGClefOctUp = exports.idxNoteMapGClef = void 0;
4
+ exports.enharmonicToCross = exports.enharmonicToB = exports.midiToNote = exports.keyToUnicode = void 0;
5
+ /**
6
+ * Pitch to Clef Mapping
7
+ */
4
8
  exports.idxNoteMapGClef = new Map();
5
9
  exports.idxNoteMapGClef.set(0, "f5");
6
10
  exports.idxNoteMapGClef.set(1, "e5");
@@ -11,6 +15,10 @@ exports.idxNoteMapGClef.set(5, "a4");
11
15
  exports.idxNoteMapGClef.set(6, "g4");
12
16
  exports.idxNoteMapGClef.set(7, "f4");
13
17
  exports.idxNoteMapGClef.set(8, "e4");
18
+ exports.idxNoteMapGClefOctUp = new Map();
19
+ exports.idxNoteMapGClef.forEach((v, k) => exports.idxNoteMapGClefOctUp.set(k, v[0] + (parseInt(v[1]) + 1).toString()));
20
+ exports.idxNoteMapGClefOctDown = new Map();
21
+ exports.idxNoteMapGClef.forEach((v, k) => exports.idxNoteMapGClefOctDown.set(k, v[0] + (parseInt(v[1]) - 1).toString()));
14
22
  exports.idxNoteMapFClef = new Map();
15
23
  exports.idxNoteMapFClef.set(0, "a3");
16
24
  exports.idxNoteMapFClef.set(1, "g3");
@@ -21,16 +29,10 @@ exports.idxNoteMapFClef.set(5, "c3");
21
29
  exports.idxNoteMapFClef.set(6, "b2");
22
30
  exports.idxNoteMapFClef.set(7, "a2");
23
31
  exports.idxNoteMapFClef.set(8, "g2");
24
- exports.idxNoteMapCClef = new Map();
25
- exports.idxNoteMapCClef.set(0, "g4");
26
- exports.idxNoteMapCClef.set(1, "f4");
27
- exports.idxNoteMapCClef.set(2, "e4");
28
- exports.idxNoteMapCClef.set(3, "d4");
29
- exports.idxNoteMapCClef.set(4, "c4");
30
- exports.idxNoteMapCClef.set(5, "b3");
31
- exports.idxNoteMapCClef.set(6, "a3");
32
- exports.idxNoteMapCClef.set(7, "g3");
33
- exports.idxNoteMapCClef.set(8, "f3");
32
+ exports.idxNoteMapFClefOctUp = new Map();
33
+ exports.idxNoteMapFClef.forEach((v, k) => exports.idxNoteMapFClefOctUp.set(k, v[0] + (parseInt(v[1]) + 1).toString()));
34
+ exports.idxNoteMapFClefOctDown = new Map();
35
+ exports.idxNoteMapFClef.forEach((v, k) => exports.idxNoteMapFClefOctDown.set(k, v[0] + (parseInt(v[1]) - 1).toString()));
34
36
  exports.idxNotePhantomMapAboveG = new Map();
35
37
  exports.idxNotePhantomMapAboveG.set(0, "g5");
36
38
  exports.idxNotePhantomMapAboveG.set(1, "a5");
@@ -50,6 +52,10 @@ exports.idxNotePhantomMapAboveG.set(14, "g7");
50
52
  exports.idxNotePhantomMapAboveG.set(15, "a7");
51
53
  exports.idxNotePhantomMapAboveG.set(16, "b7");
52
54
  exports.idxNotePhantomMapAboveG.set(17, "c8");
55
+ exports.idxNotePhantomMapAboveGOctUp = new Map();
56
+ exports.idxNotePhantomMapAboveG.forEach((v, k) => exports.idxNotePhantomMapAboveGOctUp.set(k, v[0] + (parseInt(v[1]) + 1).toString()));
57
+ exports.idxNotePhantomMapAboveGOctDown = new Map();
58
+ exports.idxNotePhantomMapAboveG.forEach((v, k) => exports.idxNotePhantomMapAboveGOctDown.set(k, v[0] + (parseInt(v[1]) - 1).toString()));
53
59
  exports.idxNotePhantomMapBelowG = new Map();
54
60
  exports.idxNotePhantomMapBelowG.set(0, "d4");
55
61
  exports.idxNotePhantomMapBelowG.set(1, "c4");
@@ -76,6 +82,10 @@ exports.idxNotePhantomMapBelowG.set(21, "d1");
76
82
  exports.idxNotePhantomMapBelowG.set(22, "c2");
77
83
  exports.idxNotePhantomMapBelowG.set(23, "b0");
78
84
  exports.idxNotePhantomMapBelowG.set(24, "a0");
85
+ exports.idxNotePhantomMapBelowGOctUp = new Map();
86
+ exports.idxNotePhantomMapBelowG.forEach((v, k) => exports.idxNotePhantomMapBelowGOctUp.set(k, v[0] + (parseInt(v[1]) + 1).toString()));
87
+ exports.idxNotePhantomMapBelowGOctDown = new Map();
88
+ exports.idxNotePhantomMapBelowG.forEach((v, k) => exports.idxNotePhantomMapBelowGOctUp.set(k, v[0] + (parseInt(v[1]) - 1).toString()));
79
89
  exports.idxNotePhantomMapAboveF = new Map();
80
90
  exports.idxNotePhantomMapAboveF.set(0, "b3");
81
91
  exports.idxNotePhantomMapAboveF.set(1, "c4");
@@ -95,6 +105,10 @@ exports.idxNotePhantomMapAboveF.set(14, "b5");
95
105
  exports.idxNotePhantomMapAboveF.set(15, "c6");
96
106
  exports.idxNotePhantomMapAboveF.set(16, "d6");
97
107
  exports.idxNotePhantomMapAboveF.set(17, "e6");
108
+ exports.idxNotePhantomMapAboveFOctUp = new Map();
109
+ exports.idxNotePhantomMapAboveF.forEach((v, k) => exports.idxNotePhantomMapAboveFOctUp.set(k, v[0] + (parseInt(v[1]) + 1).toString()));
110
+ exports.idxNotePhantomMapAboveFOctDown = new Map();
111
+ exports.idxNotePhantomMapAboveF.forEach((v, k) => exports.idxNotePhantomMapAboveFOctDown.set(k, v[0] + (parseInt(v[1]) - 1).toString()));
98
112
  exports.idxNotePhantomMapBelowF = new Map();
99
113
  exports.idxNotePhantomMapBelowF.set(0, "f2");
100
114
  exports.idxNotePhantomMapBelowF.set(1, "e2");
@@ -114,50 +128,271 @@ exports.idxNotePhantomMapBelowF.set(14, "f0");
114
128
  exports.idxNotePhantomMapBelowF.set(15, "e0");
115
129
  exports.idxNotePhantomMapBelowF.set(16, "d0");
116
130
  exports.idxNotePhantomMapBelowF.set(17, "c0");
117
- exports.idxNotePhantomMapAboveC = new Map();
118
- exports.idxNotePhantomMapAboveC.set(0, "a4");
119
- exports.idxNotePhantomMapAboveC.set(1, "b4");
120
- exports.idxNotePhantomMapAboveC.set(2, "c5");
121
- exports.idxNotePhantomMapAboveC.set(3, "d5");
122
- exports.idxNotePhantomMapAboveC.set(4, "e5");
123
- exports.idxNotePhantomMapAboveC.set(5, "f5");
124
- exports.idxNotePhantomMapAboveC.set(6, "g5");
125
- exports.idxNotePhantomMapAboveC.set(7, "a5");
126
- exports.idxNotePhantomMapAboveC.set(8, "b5");
127
- exports.idxNotePhantomMapAboveC.set(9, "c6");
128
- exports.idxNotePhantomMapAboveC.set(10, "d6");
129
- exports.idxNotePhantomMapAboveC.set(11, "e6");
130
- exports.idxNotePhantomMapAboveC.set(12, "f6");
131
- exports.idxNotePhantomMapAboveC.set(13, "g6");
132
- exports.idxNotePhantomMapAboveC.set(14, "a6");
133
- exports.idxNotePhantomMapAboveC.set(15, "b6");
134
- exports.idxNotePhantomMapAboveC.set(16, "c7");
135
- exports.idxNotePhantomMapAboveC.set(17, "d7");
136
- exports.idxNotePhantomMapBelowC = new Map();
137
- exports.idxNotePhantomMapBelowC.set(0, "e3");
138
- exports.idxNotePhantomMapBelowC.set(1, "d3");
139
- exports.idxNotePhantomMapBelowC.set(2, "c3");
140
- exports.idxNotePhantomMapBelowC.set(3, "b2");
141
- exports.idxNotePhantomMapBelowC.set(4, "a2");
142
- exports.idxNotePhantomMapBelowC.set(5, "g2");
143
- exports.idxNotePhantomMapBelowC.set(6, "f2");
144
- exports.idxNotePhantomMapBelowC.set(7, "e2");
145
- exports.idxNotePhantomMapBelowC.set(8, "d2");
146
- exports.idxNotePhantomMapBelowC.set(9, "c2");
147
- exports.idxNotePhantomMapBelowC.set(10, "b1");
148
- exports.idxNotePhantomMapBelowC.set(11, "a1");
149
- exports.idxNotePhantomMapBelowC.set(12, "g1");
150
- exports.idxNotePhantomMapBelowC.set(13, "f1");
151
- exports.idxNotePhantomMapBelowC.set(14, "e1");
152
- exports.idxNotePhantomMapBelowC.set(15, "d1");
153
- exports.idxNotePhantomMapBelowC.set(16, "c1");
154
- exports.idxNotePhantomMapBelowC.set(17, "b0");
155
- exports.idxNotePhantomMapBelowC.set(18, "a0");
156
- exports.idxNotePhantomMapBelowC.set(19, "g0");
157
- exports.idxNotePhantomMapBelowC.set(20, "f0");
158
- exports.idxNotePhantomMapBelowC.set(21, "e0");
159
- exports.idxNotePhantomMapBelowC.set(22, "d0");
160
- exports.idxNotePhantomMapBelowC.set(23, "c0");
131
+ exports.idxNotePhantomMapBelowFOctUp = new Map();
132
+ exports.idxNotePhantomMapBelowF.forEach((v, k) => exports.idxNotePhantomMapBelowFOctUp.set(k, v[0] + (parseInt(v[1]) + 1).toString()));
133
+ exports.idxNotePhantomMapBelowFOctDown = new Map();
134
+ exports.idxNotePhantomMapBelowF.forEach((v, k) => exports.idxNotePhantomMapBelowFOctDown.set(k, v[0] + (parseInt(v[1]) - 1).toString()));
135
+ exports.idxNoteMapCClefAlto = new Map();
136
+ exports.idxNoteMapCClefAlto.set(0, "g4");
137
+ exports.idxNoteMapCClefAlto.set(1, "f4");
138
+ exports.idxNoteMapCClefAlto.set(2, "e4");
139
+ exports.idxNoteMapCClefAlto.set(3, "d4");
140
+ exports.idxNoteMapCClefAlto.set(4, "c4");
141
+ exports.idxNoteMapCClefAlto.set(5, "b3");
142
+ exports.idxNoteMapCClefAlto.set(6, "a3");
143
+ exports.idxNoteMapCClefAlto.set(7, "g3");
144
+ exports.idxNoteMapCClefAlto.set(8, "f3");
145
+ exports.idxNotePhantomMapAboveCAlto = new Map();
146
+ exports.idxNotePhantomMapAboveCAlto.set(0, "a4");
147
+ exports.idxNotePhantomMapAboveCAlto.set(1, "b4");
148
+ exports.idxNotePhantomMapAboveCAlto.set(2, "c5");
149
+ exports.idxNotePhantomMapAboveCAlto.set(3, "d5");
150
+ exports.idxNotePhantomMapAboveCAlto.set(4, "e5");
151
+ exports.idxNotePhantomMapAboveCAlto.set(5, "f5");
152
+ exports.idxNotePhantomMapAboveCAlto.set(6, "g5");
153
+ exports.idxNotePhantomMapAboveCAlto.set(7, "a5");
154
+ exports.idxNotePhantomMapAboveCAlto.set(8, "b5");
155
+ exports.idxNotePhantomMapAboveCAlto.set(9, "c6");
156
+ exports.idxNotePhantomMapAboveCAlto.set(10, "d6");
157
+ exports.idxNotePhantomMapAboveCAlto.set(11, "e6");
158
+ exports.idxNotePhantomMapAboveCAlto.set(12, "f6");
159
+ exports.idxNotePhantomMapAboveCAlto.set(13, "g6");
160
+ exports.idxNotePhantomMapAboveCAlto.set(14, "a6");
161
+ exports.idxNotePhantomMapAboveCAlto.set(15, "b6");
162
+ exports.idxNotePhantomMapAboveCAlto.set(16, "c7");
163
+ exports.idxNotePhantomMapAboveCAlto.set(17, "d7");
164
+ exports.idxNotePhantomMapBelowCAlto = new Map();
165
+ exports.idxNotePhantomMapBelowCAlto.set(0, "e3");
166
+ exports.idxNotePhantomMapBelowCAlto.set(1, "d3");
167
+ exports.idxNotePhantomMapBelowCAlto.set(2, "c3");
168
+ exports.idxNotePhantomMapBelowCAlto.set(3, "b2");
169
+ exports.idxNotePhantomMapBelowCAlto.set(4, "a2");
170
+ exports.idxNotePhantomMapBelowCAlto.set(5, "g2");
171
+ exports.idxNotePhantomMapBelowCAlto.set(6, "f2");
172
+ exports.idxNotePhantomMapBelowCAlto.set(7, "e2");
173
+ exports.idxNotePhantomMapBelowCAlto.set(8, "d2");
174
+ exports.idxNotePhantomMapBelowCAlto.set(9, "c2");
175
+ exports.idxNotePhantomMapBelowCAlto.set(10, "b1");
176
+ exports.idxNotePhantomMapBelowCAlto.set(11, "a1");
177
+ exports.idxNotePhantomMapBelowCAlto.set(12, "g1");
178
+ exports.idxNotePhantomMapBelowCAlto.set(13, "f1");
179
+ exports.idxNotePhantomMapBelowCAlto.set(14, "e1");
180
+ exports.idxNotePhantomMapBelowCAlto.set(15, "d1");
181
+ exports.idxNotePhantomMapBelowCAlto.set(16, "c1");
182
+ exports.idxNotePhantomMapBelowCAlto.set(17, "b0");
183
+ exports.idxNotePhantomMapBelowCAlto.set(18, "a0");
184
+ exports.idxNotePhantomMapBelowCAlto.set(19, "g0");
185
+ exports.idxNotePhantomMapBelowCAlto.set(20, "f0");
186
+ exports.idxNotePhantomMapBelowCAlto.set(21, "e0");
187
+ exports.idxNotePhantomMapBelowCAlto.set(22, "d0");
188
+ exports.idxNotePhantomMapBelowCAlto.set(23, "c0");
189
+ exports.idxNoteMapCClefSoprano = new Map();
190
+ exports.idxNoteMapCClefSoprano.set(0, "d5");
191
+ exports.idxNoteMapCClefSoprano.set(1, "c5");
192
+ exports.idxNoteMapCClefSoprano.set(2, "b4");
193
+ exports.idxNoteMapCClefSoprano.set(3, "a4");
194
+ exports.idxNoteMapCClefSoprano.set(4, "g4");
195
+ exports.idxNoteMapCClefSoprano.set(5, "f4");
196
+ exports.idxNoteMapCClefSoprano.set(6, "e4");
197
+ exports.idxNoteMapCClefSoprano.set(7, "d4");
198
+ exports.idxNoteMapCClefSoprano.set(8, "c4");
199
+ exports.idxNotePhantomMapAboveCSoprano = new Map();
200
+ exports.idxNotePhantomMapAboveCSoprano.set(0, "e5");
201
+ exports.idxNotePhantomMapAboveCSoprano.set(1, "f5");
202
+ exports.idxNotePhantomMapAboveCSoprano.set(2, "g5");
203
+ exports.idxNotePhantomMapAboveCSoprano.set(3, "a5");
204
+ exports.idxNotePhantomMapAboveCSoprano.set(4, "b5");
205
+ exports.idxNotePhantomMapAboveCSoprano.set(5, "c6");
206
+ exports.idxNotePhantomMapAboveCSoprano.set(6, "d6");
207
+ exports.idxNotePhantomMapAboveCSoprano.set(7, "e6");
208
+ exports.idxNotePhantomMapAboveCSoprano.set(8, "f6");
209
+ exports.idxNotePhantomMapAboveCSoprano.set(9, "g6");
210
+ exports.idxNotePhantomMapAboveCSoprano.set(10, "a6");
211
+ exports.idxNotePhantomMapAboveCSoprano.set(11, "b6");
212
+ exports.idxNotePhantomMapAboveCSoprano.set(12, "c7");
213
+ exports.idxNotePhantomMapAboveCSoprano.set(13, "d7");
214
+ exports.idxNotePhantomMapAboveCSoprano.set(14, "e7");
215
+ exports.idxNotePhantomMapAboveCSoprano.set(15, "f7");
216
+ exports.idxNotePhantomMapAboveCSoprano.set(16, "g7");
217
+ exports.idxNotePhantomMapBelowCSoprano = new Map();
218
+ exports.idxNotePhantomMapBelowCSoprano.set(0, "b3");
219
+ exports.idxNotePhantomMapBelowCSoprano.set(1, "a3");
220
+ exports.idxNotePhantomMapBelowCSoprano.set(2, "g3");
221
+ exports.idxNotePhantomMapBelowCSoprano.set(3, "f3");
222
+ exports.idxNotePhantomMapBelowCSoprano.set(4, "e3");
223
+ exports.idxNotePhantomMapBelowCSoprano.set(5, "d3");
224
+ exports.idxNotePhantomMapBelowCSoprano.set(6, "c3");
225
+ exports.idxNotePhantomMapBelowCSoprano.set(7, "b2");
226
+ exports.idxNotePhantomMapBelowCSoprano.set(8, "a2");
227
+ exports.idxNotePhantomMapBelowCSoprano.set(9, "g2");
228
+ exports.idxNotePhantomMapBelowCSoprano.set(10, "f2");
229
+ exports.idxNotePhantomMapBelowCSoprano.set(11, "e2");
230
+ exports.idxNotePhantomMapBelowCSoprano.set(12, "d2");
231
+ exports.idxNotePhantomMapBelowCSoprano.set(13, "c2");
232
+ exports.idxNotePhantomMapBelowCSoprano.set(14, "b1");
233
+ exports.idxNotePhantomMapBelowCSoprano.set(15, "a1");
234
+ exports.idxNotePhantomMapBelowCSoprano.set(16, "g1");
235
+ exports.idxNotePhantomMapBelowCSoprano.set(17, "f1");
236
+ exports.idxNotePhantomMapBelowCSoprano.set(18, "e1");
237
+ exports.idxNotePhantomMapBelowCSoprano.set(19, "d1");
238
+ exports.idxNotePhantomMapBelowCSoprano.set(20, "c1");
239
+ exports.idxNotePhantomMapBelowCSoprano.set(21, "b0");
240
+ exports.idxNotePhantomMapBelowCSoprano.set(22, "a0");
241
+ exports.idxNotePhantomMapBelowCSoprano.set(23, "g0");
242
+ exports.idxNoteMapCClefMezzo = new Map();
243
+ exports.idxNoteMapCClefMezzo.set(0, "b4");
244
+ exports.idxNoteMapCClefMezzo.set(1, "a4");
245
+ exports.idxNoteMapCClefMezzo.set(2, "g4");
246
+ exports.idxNoteMapCClefMezzo.set(3, "f4");
247
+ exports.idxNoteMapCClefMezzo.set(4, "e4");
248
+ exports.idxNoteMapCClefMezzo.set(5, "d4");
249
+ exports.idxNoteMapCClefMezzo.set(6, "c4");
250
+ exports.idxNoteMapCClefMezzo.set(7, "b3");
251
+ exports.idxNoteMapCClefMezzo.set(8, "a3");
252
+ exports.idxNotePhantomMapAboveCMezzo = new Map();
253
+ exports.idxNotePhantomMapAboveCMezzo.set(0, "c5");
254
+ exports.idxNotePhantomMapAboveCMezzo.set(1, "d5");
255
+ exports.idxNotePhantomMapAboveCMezzo.set(2, "e5");
256
+ exports.idxNotePhantomMapAboveCMezzo.set(3, "f5");
257
+ exports.idxNotePhantomMapAboveCMezzo.set(4, "g5");
258
+ exports.idxNotePhantomMapAboveCMezzo.set(5, "a5");
259
+ exports.idxNotePhantomMapAboveCMezzo.set(6, "b5");
260
+ exports.idxNotePhantomMapAboveCMezzo.set(7, "c6");
261
+ exports.idxNotePhantomMapAboveCMezzo.set(8, "d6");
262
+ exports.idxNotePhantomMapAboveCMezzo.set(9, "e6");
263
+ exports.idxNotePhantomMapAboveCMezzo.set(10, "f6");
264
+ exports.idxNotePhantomMapAboveCMezzo.set(11, "g6");
265
+ exports.idxNotePhantomMapAboveCMezzo.set(12, "a6");
266
+ exports.idxNotePhantomMapAboveCMezzo.set(13, "b6");
267
+ exports.idxNotePhantomMapAboveCMezzo.set(14, "c7");
268
+ exports.idxNotePhantomMapAboveCMezzo.set(15, "d7");
269
+ exports.idxNotePhantomMapAboveCMezzo.set(16, "e7");
270
+ exports.idxNotePhantomMapBelowCMezzo = new Map();
271
+ exports.idxNotePhantomMapBelowCMezzo.set(0, "g3");
272
+ exports.idxNotePhantomMapBelowCMezzo.set(1, "f3");
273
+ exports.idxNotePhantomMapBelowCMezzo.set(2, "e3");
274
+ exports.idxNotePhantomMapBelowCMezzo.set(3, "d3");
275
+ exports.idxNotePhantomMapBelowCMezzo.set(4, "c3");
276
+ exports.idxNotePhantomMapBelowCMezzo.set(5, "b2");
277
+ exports.idxNotePhantomMapBelowCMezzo.set(6, "a2");
278
+ exports.idxNotePhantomMapBelowCMezzo.set(7, "g2");
279
+ exports.idxNotePhantomMapBelowCMezzo.set(8, "f2");
280
+ exports.idxNotePhantomMapBelowCMezzo.set(9, "e2");
281
+ exports.idxNotePhantomMapBelowCMezzo.set(10, "d2");
282
+ exports.idxNotePhantomMapBelowCMezzo.set(11, "c2");
283
+ exports.idxNotePhantomMapBelowCMezzo.set(12, "b1");
284
+ exports.idxNotePhantomMapBelowCMezzo.set(13, "a1");
285
+ exports.idxNotePhantomMapBelowCMezzo.set(14, "g1");
286
+ exports.idxNotePhantomMapBelowCMezzo.set(15, "f1");
287
+ exports.idxNotePhantomMapBelowCMezzo.set(16, "e1");
288
+ exports.idxNotePhantomMapBelowCMezzo.set(17, "d1");
289
+ exports.idxNotePhantomMapBelowCMezzo.set(18, "c1");
290
+ exports.idxNotePhantomMapBelowCMezzo.set(19, "b0");
291
+ exports.idxNotePhantomMapBelowCMezzo.set(20, "a0");
292
+ exports.idxNotePhantomMapBelowCMezzo.set(21, "g0");
293
+ exports.idxNotePhantomMapBelowCMezzo.set(22, "f0");
294
+ exports.idxNotePhantomMapBelowCMezzo.set(23, "e0");
295
+ exports.idxNoteMapCClefTenor = new Map();
296
+ exports.idxNoteMapCClefTenor.set(0, "e4");
297
+ exports.idxNoteMapCClefTenor.set(1, "d4");
298
+ exports.idxNoteMapCClefTenor.set(2, "c4");
299
+ exports.idxNoteMapCClefTenor.set(3, "b3");
300
+ exports.idxNoteMapCClefTenor.set(4, "a3");
301
+ exports.idxNoteMapCClefTenor.set(5, "g3");
302
+ exports.idxNoteMapCClefTenor.set(6, "f3");
303
+ exports.idxNoteMapCClefTenor.set(7, "e3");
304
+ exports.idxNoteMapCClefTenor.set(8, "d3");
305
+ exports.idxNotePhantomMapAboveCTenor = new Map();
306
+ exports.idxNotePhantomMapAboveCTenor.set(0, "f4");
307
+ exports.idxNotePhantomMapAboveCTenor.set(1, "g4");
308
+ exports.idxNotePhantomMapAboveCTenor.set(2, "a4");
309
+ exports.idxNotePhantomMapAboveCTenor.set(3, "b4");
310
+ exports.idxNotePhantomMapAboveCTenor.set(4, "c5");
311
+ exports.idxNotePhantomMapAboveCTenor.set(5, "d5");
312
+ exports.idxNotePhantomMapAboveCTenor.set(6, "e5");
313
+ exports.idxNotePhantomMapAboveCTenor.set(7, "f5");
314
+ exports.idxNotePhantomMapAboveCTenor.set(8, "g5");
315
+ exports.idxNotePhantomMapAboveCTenor.set(9, "a5");
316
+ exports.idxNotePhantomMapAboveCTenor.set(10, "b5");
317
+ exports.idxNotePhantomMapAboveCTenor.set(11, "c6");
318
+ exports.idxNotePhantomMapAboveCTenor.set(12, "d6");
319
+ exports.idxNotePhantomMapAboveCTenor.set(13, "e6");
320
+ exports.idxNotePhantomMapAboveCTenor.set(14, "f6");
321
+ exports.idxNotePhantomMapAboveCTenor.set(15, "g6");
322
+ exports.idxNotePhantomMapAboveCTenor.set(16, "a6");
323
+ exports.idxNotePhantomMapBelowCTenor = new Map();
324
+ exports.idxNotePhantomMapBelowCTenor.set(0, "c3");
325
+ exports.idxNotePhantomMapBelowCTenor.set(1, "b2");
326
+ exports.idxNotePhantomMapBelowCTenor.set(2, "a2");
327
+ exports.idxNotePhantomMapBelowCTenor.set(3, "g2");
328
+ exports.idxNotePhantomMapBelowCTenor.set(4, "f2");
329
+ exports.idxNotePhantomMapBelowCTenor.set(5, "e2");
330
+ exports.idxNotePhantomMapBelowCTenor.set(6, "d2");
331
+ exports.idxNotePhantomMapBelowCTenor.set(7, "c2");
332
+ exports.idxNotePhantomMapBelowCTenor.set(8, "b1");
333
+ exports.idxNotePhantomMapBelowCTenor.set(9, "a1");
334
+ exports.idxNotePhantomMapBelowCTenor.set(10, "g1");
335
+ exports.idxNotePhantomMapBelowCTenor.set(11, "f1");
336
+ exports.idxNotePhantomMapBelowCTenor.set(12, "e1");
337
+ exports.idxNotePhantomMapBelowCTenor.set(13, "d1");
338
+ exports.idxNotePhantomMapBelowCTenor.set(14, "c1");
339
+ exports.idxNotePhantomMapBelowCTenor.set(15, "b0");
340
+ exports.idxNotePhantomMapBelowCTenor.set(16, "a0");
341
+ exports.idxNotePhantomMapBelowCTenor.set(17, "g0");
342
+ exports.idxNotePhantomMapBelowCTenor.set(18, "f0");
343
+ exports.idxNotePhantomMapBelowCTenor.set(19, "e0");
344
+ exports.idxNotePhantomMapBelowCTenor.set(20, "d0");
345
+ exports.idxNotePhantomMapBelowCTenor.set(21, "c0");
346
+ exports.idxNoteMapCClefBariton = new Map();
347
+ exports.idxNoteMapCClefBariton.set(0, "c4");
348
+ exports.idxNoteMapCClefBariton.set(1, "b3");
349
+ exports.idxNoteMapCClefBariton.set(2, "a3");
350
+ exports.idxNoteMapCClefBariton.set(3, "g3");
351
+ exports.idxNoteMapCClefBariton.set(4, "f3");
352
+ exports.idxNoteMapCClefBariton.set(5, "e3");
353
+ exports.idxNoteMapCClefBariton.set(6, "d3");
354
+ exports.idxNoteMapCClefBariton.set(7, "c3");
355
+ exports.idxNoteMapCClefBariton.set(7, "b2");
356
+ exports.idxNotePhantomMapAboveCBariton = new Map();
357
+ exports.idxNotePhantomMapAboveCBariton.set(0, "d4");
358
+ exports.idxNotePhantomMapAboveCBariton.set(1, "e4");
359
+ exports.idxNotePhantomMapAboveCBariton.set(2, "f4");
360
+ exports.idxNotePhantomMapAboveCBariton.set(3, "g4");
361
+ exports.idxNotePhantomMapAboveCBariton.set(4, "a4");
362
+ exports.idxNotePhantomMapAboveCBariton.set(5, "b4");
363
+ exports.idxNotePhantomMapAboveCBariton.set(6, "c5");
364
+ exports.idxNotePhantomMapAboveCBariton.set(7, "d5");
365
+ exports.idxNotePhantomMapAboveCBariton.set(8, "e5");
366
+ exports.idxNotePhantomMapAboveCBariton.set(9, "f5");
367
+ exports.idxNotePhantomMapAboveCBariton.set(10, "g5");
368
+ exports.idxNotePhantomMapAboveCBariton.set(11, "a5");
369
+ exports.idxNotePhantomMapAboveCBariton.set(12, "b5");
370
+ exports.idxNotePhantomMapAboveCBariton.set(13, "c6");
371
+ exports.idxNotePhantomMapAboveCBariton.set(14, "d6");
372
+ exports.idxNotePhantomMapAboveCBariton.set(15, "e6");
373
+ exports.idxNotePhantomMapAboveCBariton.set(16, "f6");
374
+ exports.idxNotePhantomMapBelowCBariton = new Map();
375
+ exports.idxNotePhantomMapBelowCBariton.set(0, "a2");
376
+ exports.idxNotePhantomMapBelowCBariton.set(1, "g2");
377
+ exports.idxNotePhantomMapBelowCBariton.set(2, "f2");
378
+ exports.idxNotePhantomMapBelowCBariton.set(3, "e2");
379
+ exports.idxNotePhantomMapBelowCBariton.set(4, "d2");
380
+ exports.idxNotePhantomMapBelowCBariton.set(5, "c2");
381
+ exports.idxNotePhantomMapBelowCBariton.set(6, "b1");
382
+ exports.idxNotePhantomMapBelowCBariton.set(7, "a1");
383
+ exports.idxNotePhantomMapBelowCBariton.set(8, "g1");
384
+ exports.idxNotePhantomMapBelowCBariton.set(9, "f1");
385
+ exports.idxNotePhantomMapBelowCBariton.set(10, "e1");
386
+ exports.idxNotePhantomMapBelowCBariton.set(11, "d1");
387
+ exports.idxNotePhantomMapBelowCBariton.set(12, "c1");
388
+ exports.idxNotePhantomMapBelowCBariton.set(13, "b0");
389
+ exports.idxNotePhantomMapBelowCBariton.set(14, "a0");
390
+ exports.idxNotePhantomMapBelowCBariton.set(15, "g0");
391
+ exports.idxNotePhantomMapBelowCBariton.set(16, "f0");
392
+ exports.idxNotePhantomMapBelowCBariton.set(17, "e0");
393
+ exports.idxNotePhantomMapBelowCBariton.set(18, "d0");
394
+ exports.idxNotePhantomMapBelowCBariton.set(19, "c0");
395
+ ////////
161
396
  exports.keyCodeNoteMap = new Map;
162
397
  exports.keyCodeNoteMap.set("KeyC", "c");
163
398
  exports.keyCodeNoteMap.set("KeyD", "d");
@@ -259,6 +494,7 @@ exports.keyIdToSig.set("KeyDbMaj", "5f");
259
494
  exports.keyIdToSig.set("KeyGbMaj", "6f");
260
495
  exports.keyIdToSig.set("KeyCMaj", "0");
261
496
  exports.numToNoteButtonId = new Map;
497
+ exports.numToNoteButtonId.set("0.5", "breveNote");
262
498
  exports.numToNoteButtonId.set("1", "fullNote");
263
499
  exports.numToNoteButtonId.set("2", "halfNote");
264
500
  exports.numToNoteButtonId.set("4", "quarterNote");
@@ -266,6 +502,7 @@ exports.numToNoteButtonId.set("8", "eigthNote");
266
502
  exports.numToNoteButtonId.set("16", "sixteenthNote");
267
503
  exports.numToNoteButtonId.set("32", "thirtysecondNote");
268
504
  exports.NoteButtonIdToNum = new Map;
505
+ exports.NoteButtonIdToNum.set("breveNote", 0.5);
269
506
  exports.NoteButtonIdToNum.set("fullNote", 1);
270
507
  exports.NoteButtonIdToNum.set("halfNote", 2);
271
508
  exports.NoteButtonIdToNum.set("quarterNote", 4);
@@ -299,8 +536,13 @@ exports.octToNum.set("LineOct4", "7");
299
536
  exports.octToNum.set("LineOct5", "8");
300
537
  exports.clefToLine = new Map;
301
538
  exports.clefToLine.set("G", "2");
302
- exports.clefToLine.set("C", "3");
539
+ exports.clefToLine.set("C", "3"); // assume Alto as default C Clef
303
540
  exports.clefToLine.set("F", "4");
541
+ exports.clefToLine.set("Soprano", "1");
542
+ exports.clefToLine.set("Mezzo", "2");
543
+ exports.clefToLine.set("Alto", "3");
544
+ exports.clefToLine.set("Tenor", "4");
545
+ exports.clefToLine.set("Bariton", "5");
304
546
  exports.unicodeToTimesig = new Map;
305
547
  exports.unicodeToTimesig.set("E080", "0");
306
548
  exports.unicodeToTimesig.set("E081", "1");
@@ -330,3 +572,27 @@ for (let i = 0; i <= 9; i++) {
330
572
  j++;
331
573
  });
332
574
  }
575
+ exports.enharmonicToB = new Map;
576
+ exports.enharmonicToB.set("c", "dff");
577
+ exports.enharmonicToB.set("cs", "df");
578
+ exports.enharmonicToB.set("css", "d");
579
+ exports.enharmonicToB.set("d", "eff");
580
+ exports.enharmonicToB.set("ds", "ef");
581
+ exports.enharmonicToB.set("dss", "e");
582
+ exports.enharmonicToB.set("e", "ff");
583
+ exports.enharmonicToB.set("es", "f");
584
+ exports.enharmonicToB.set("ess", "fs");
585
+ exports.enharmonicToB.set("f", "gff");
586
+ exports.enharmonicToB.set("fs", "gf");
587
+ exports.enharmonicToB.set("fss", "g");
588
+ exports.enharmonicToB.set("g", "aff");
589
+ exports.enharmonicToB.set("gs", "af");
590
+ exports.enharmonicToB.set("gss", "a");
591
+ exports.enharmonicToB.set("a", "bff");
592
+ exports.enharmonicToB.set("as", "bf");
593
+ exports.enharmonicToB.set("ass", "b");
594
+ exports.enharmonicToB.set("b", "cf");
595
+ exports.enharmonicToB.set("bs", "c");
596
+ exports.enharmonicToB.set("bss", "cs");
597
+ exports.enharmonicToCross = new Map;
598
+ exports.enharmonicToB.forEach((v, k) => exports.enharmonicToCross.set(v, k));