vibe-editor 0.0.0

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 (132) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -0
  3. package/package.json +56 -0
  4. package/src/fonts/bravura/FONTLOG.txt +243 -0
  5. package/src/fonts/bravura/OFL-FAQ.txt +369 -0
  6. package/src/fonts/bravura/OFL.txt +94 -0
  7. package/src/fonts/bravura/bravura-text.md +153 -0
  8. package/src/fonts/bravura/bravura_metadata.json +34718 -0
  9. package/src/fonts/bravura/eot/Bravura.eot +0 -0
  10. package/src/fonts/bravura/eot/BravuraText.eot +0 -0
  11. package/src/fonts/bravura/otf/Bravura.otf +0 -0
  12. package/src/fonts/bravura/otf/BravuraText.otf +0 -0
  13. package/src/fonts/bravura/svg/Bravura.svg +3517 -0
  14. package/src/fonts/bravura/svg/BravuraText.svg +18879 -0
  15. package/src/fonts/bravura/woff/Bravura.woff +0 -0
  16. package/src/fonts/bravura/woff/BravuraText.woff +0 -0
  17. package/src/fonts/colaborate/ColabBol-webfont.eot +0 -0
  18. package/src/fonts/colaborate/ColabBol-webfont.svg +976 -0
  19. package/src/fonts/colaborate/ColabBol-webfont.ttf +0 -0
  20. package/src/fonts/colaborate/ColabBol-webfont.woff +0 -0
  21. package/src/fonts/colaborate/ColabLig-webfont.eot +0 -0
  22. package/src/fonts/colaborate/ColabLig-webfont.svg +976 -0
  23. package/src/fonts/colaborate/ColabLig-webfont.ttf +0 -0
  24. package/src/fonts/colaborate/ColabLig-webfont.woff +0 -0
  25. package/src/fonts/colaborate/ColabMed-webfont.eot +0 -0
  26. package/src/fonts/colaborate/ColabMed-webfont.svg +976 -0
  27. package/src/fonts/colaborate/ColabMed-webfont.ttf +0 -0
  28. package/src/fonts/colaborate/ColabMed-webfont.woff +0 -0
  29. package/src/fonts/colaborate/ColabReg-webfont.eot +0 -0
  30. package/src/fonts/colaborate/ColabReg-webfont.svg +976 -0
  31. package/src/fonts/colaborate/ColabReg-webfont.ttf +0 -0
  32. package/src/fonts/colaborate/ColabReg-webfont.woff +0 -0
  33. package/src/fonts/colaborate/ColabThi-webfont.eot +0 -0
  34. package/src/fonts/colaborate/ColabThi-webfont.svg +970 -0
  35. package/src/fonts/colaborate/ColabThi-webfont.ttf +0 -0
  36. package/src/fonts/colaborate/ColabThi-webfont.woff +0 -0
  37. package/src/images/GUI/.DS_Store +0 -0
  38. package/src/images/GUI/backward-fast-solid.svg +1 -0
  39. package/src/images/GUI/bars-solid.svg +1 -0
  40. package/src/images/GUI/caret-left-solid.svg +1 -0
  41. package/src/images/GUI/caret-right-solid.svg +1 -0
  42. package/src/images/GUI/edit-solid.svg +1 -0
  43. package/src/images/GUI/pause-solid.svg +1 -0
  44. package/src/images/GUI/play-solid.svg +1 -0
  45. package/src/images/GUI/triplet.svg +21 -0
  46. package/src/images/GUI/zoomin.svg +1 -0
  47. package/src/images/GUI/zoomout.svg +1 -0
  48. package/src/images/bravura_notes/.DS_Store +0 -0
  49. package/src/images/bravura_notes/16th.svg +1 -0
  50. package/src/images/bravura_notes/32th.svg +1 -0
  51. package/src/images/bravura_notes/alterDDown.svg +1 -0
  52. package/src/images/bravura_notes/alterDUp.svg +1 -0
  53. package/src/images/bravura_notes/alterDown.svg +1 -0
  54. package/src/images/bravura_notes/alterNeutral.svg +1 -0
  55. package/src/images/bravura_notes/alterUp.svg +1 -0
  56. package/src/images/bravura_notes/beams.svg +1 -0
  57. package/src/images/bravura_notes/eigth.svg +1 -0
  58. package/src/images/bravura_notes/full.svg +1 -0
  59. package/src/images/bravura_notes/half.svg +1 -0
  60. package/src/images/bravura_notes/oneDot.svg +1 -0
  61. package/src/images/bravura_notes/pauseNote.svg +1 -0
  62. package/src/images/bravura_notes/quarter.svg +1 -0
  63. package/src/images/bravura_notes/tie.svg +1 -0
  64. package/src/images/bravura_notes/twoDot.svg +1 -0
  65. package/src/scripts/js/.DS_Store +0 -0
  66. package/src/scripts/js/Core.js +887 -0
  67. package/src/scripts/js/MusicPlayer.js +572 -0
  68. package/src/scripts/js/MusicProcessor.js +652 -0
  69. package/src/scripts/js/VerovioScoreEditor.js +183 -0
  70. package/src/scripts/js/assets/mei_template.js +161 -0
  71. package/src/scripts/js/constants.js +20 -0
  72. package/src/scripts/js/datastructures/MeasureMatrix.js +235 -0
  73. package/src/scripts/js/datastructures/ScoreGraph.js +432 -0
  74. package/src/scripts/js/datastructures/ScoreNode.js +78 -0
  75. package/src/scripts/js/entry.js +4 -0
  76. package/src/scripts/js/gui/Annotations.js +456 -0
  77. package/src/scripts/js/gui/Cursor.js +203 -0
  78. package/src/scripts/js/gui/CustomAnnotationDrawer.js +114 -0
  79. package/src/scripts/js/gui/CustomAnnotationShapeDrawer.js +114 -0
  80. package/src/scripts/js/gui/HarmonyLabel.js +104 -0
  81. package/src/scripts/js/gui/Label.js +2 -0
  82. package/src/scripts/js/gui/PhantomElement.js +132 -0
  83. package/src/scripts/js/gui/ScoreManipulator.js +156 -0
  84. package/src/scripts/js/gui/Tabbar.js +675 -0
  85. package/src/scripts/js/gui/TempoLabel.js +60 -0
  86. package/src/scripts/js/gui/Toolbar copy.js +614 -0
  87. package/src/scripts/js/gui/Toolbar.js +618 -0
  88. package/src/scripts/js/handlers/AnnotationChangeHandler.js +567 -0
  89. package/src/scripts/js/handlers/AnnotationDragHandler.js +113 -0
  90. package/src/scripts/js/handlers/AnnotationLineHandler.js +113 -0
  91. package/src/scripts/js/handlers/ArticulationHandler.js +20 -0
  92. package/src/scripts/js/handlers/ClickModeHandler.js +265 -0
  93. package/src/scripts/js/handlers/CustomAnnotationShapeDrawer.js +131 -0
  94. package/src/scripts/js/handlers/CustomToolbarHandler.js +297 -0
  95. package/src/scripts/js/handlers/DeleteHandler.js +102 -0
  96. package/src/scripts/js/handlers/GlobalKeyboardHandler.js +367 -0
  97. package/src/scripts/js/handlers/Handler.js +2 -0
  98. package/src/scripts/js/handlers/HarmonyHandler.js +282 -0
  99. package/src/scripts/js/handlers/InsertModeHandler copy.js +423 -0
  100. package/src/scripts/js/handlers/InsertModeHandler.js +380 -0
  101. package/src/scripts/js/handlers/InsertModeHandler_deprecated.js +424 -0
  102. package/src/scripts/js/handlers/KeyModeHandler copy.js +407 -0
  103. package/src/scripts/js/handlers/KeyModeHandler.js +456 -0
  104. package/src/scripts/js/handlers/KeyModeHandler_deprecated.js +411 -0
  105. package/src/scripts/js/handlers/LabelHandler.js +461 -0
  106. package/src/scripts/js/handlers/ModHandler.js +311 -0
  107. package/src/scripts/js/handlers/NoteDragHandler copy.js +148 -0
  108. package/src/scripts/js/handlers/NoteDragHandler.js +97 -0
  109. package/src/scripts/js/handlers/NoteDragHandler_deprecated.js +150 -0
  110. package/src/scripts/js/handlers/PhantomElementHandler.js +168 -0
  111. package/src/scripts/js/handlers/ScoreManipulatorHandler.js +135 -0
  112. package/src/scripts/js/handlers/SelectionHandler.js +218 -0
  113. package/src/scripts/js/handlers/SideBarHandler.js +499 -0
  114. package/src/scripts/js/handlers/TooltipHandler.js +132 -0
  115. package/src/scripts/js/handlers/WindowHandler.js +257 -0
  116. package/src/scripts/js/utils/DOMCreator.js +174 -0
  117. package/src/scripts/js/utils/MEIConverter.js +64 -0
  118. package/src/scripts/js/utils/MEIOperations.js +2112 -0
  119. package/src/scripts/js/utils/Mouse2MEI.js +735 -0
  120. package/src/scripts/js/utils/Mouse2SVG.js +737 -0
  121. package/src/scripts/js/utils/SVGEditor.js +352 -0
  122. package/src/scripts/js/utils/SVGFiller.js +245 -0
  123. package/src/scripts/js/utils/Types.js +2 -0
  124. package/src/scripts/js/utils/VerovioWrapper copy.js +156 -0
  125. package/src/scripts/js/utils/VerovioWrapper.js +165 -0
  126. package/src/scripts/js/utils/VerovioWrapperLocal.js +156 -0
  127. package/src/scripts/js/utils/convenienceQueries.js +37 -0
  128. package/src/scripts/js/utils/coordinates.js +54 -0
  129. package/src/scripts/js/utils/firefoxBBoxes.js +143 -0
  130. package/src/scripts/js/utils/mappings.js +332 -0
  131. package/src/scripts/js/utils/random.js +45 -0
  132. package/src/styles/VerovioScoreEditor.css +694 -0
@@ -0,0 +1,380 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = void 0;
4
+ const SelectionHandler_1 = require("./SelectionHandler");
5
+ const Annotations_1 = require("../gui/Annotations");
6
+ const LabelHandler_1 = require("./LabelHandler");
7
+ const KeyModeHandler_1 = require("./KeyModeHandler");
8
+ const ClickModeHandler_1 = require("./ClickModeHandler");
9
+ const PhantomElementHandler_1 = require("./PhantomElementHandler");
10
+ const MEIConverter_1 = require("../utils/MEIConverter");
11
+ const ScoreManipulatorHandler_1 = require("./ScoreManipulatorHandler");
12
+ const MEIOperations_1 = require("../utils/MEIOperations");
13
+ const cq = require("../utils/convenienceQueries");
14
+ /**
15
+ * Handle logic and interaction with Tabbar and Custom Toolbar.
16
+ * Activates and deactivates interface behavior according to selected tabbar or or custom group button.
17
+ * E.g. Selection is deactivated during harmonylabels are active, or Notations with keyboard and mouse are deactivated when annotations are active.
18
+ */
19
+ class InsertModeHandler {
20
+ constructor(containerId) {
21
+ //For Callbacks
22
+ this.activateHarmonyModeFunction = (function activateHarmonyModeFunction(clicked = false) {
23
+ this.activateHarmonyMode(clicked);
24
+ }).bind(this);
25
+ this.firstCall = true;
26
+ this.isGlobal = true;
27
+ this.annotations = new Annotations_1.default(containerId);
28
+ }
29
+ activateInsertMode(clicked = false) {
30
+ var _a, _b;
31
+ if (this.annotationMode || this.harmonyMode) {
32
+ this.insertDeactivate();
33
+ }
34
+ // if (clicked) {
35
+ // if (this.unselectMenuItem("clickInsert")) { return }
36
+ // }
37
+ this.container.classList.add("clickmode");
38
+ this.container.classList.add("textmode");
39
+ this.keyMode = true;
40
+ this.clickInsertMode = true;
41
+ this.annotationMode = false;
42
+ this.harmonyMode = false;
43
+ this.phantomNoteHandler = new PhantomElementHandler_1.default(this.containerId);
44
+ this.setPhantomNote();
45
+ this.clickModeHandler = this.clickModeHandler == undefined ? new ClickModeHandler_1.default() : this.clickModeHandler;
46
+ this.clickModeHandler
47
+ .setContainerId(this.containerId)
48
+ .setInsertCallback(this.insertCallback)
49
+ .setDeleteCallback(this.deleteCallback)
50
+ .setAnnotations(this.annotations)
51
+ .setm2s(this.m2s)
52
+ .setMusicProcessor(this.musicPlayer)
53
+ .setPhantomCursor(this.phantomNoteHandler)
54
+ .resetListeners();
55
+ this.keyModeHandler = this.keyModeHandler || new KeyModeHandler_1.default(this.containerId);
56
+ this.keyModeHandler
57
+ .setContainerId(this.containerId)
58
+ .setInsertCallback(this.insertCallback)
59
+ .setDeleteCallback(this.deleteCallback)
60
+ .setScoreGraph(this.scoreGraph)
61
+ .setm2s(this.m2s)
62
+ .setMusicProcessor(this.musicPlayer)
63
+ .resetListeners();
64
+ this.deleteHandler.setListeners();
65
+ (_a = this.annotations) === null || _a === void 0 ? void 0 : _a.setm2s(this.m2s);
66
+ (_b = this.annotations) === null || _b === void 0 ? void 0 : _b.updateCanvas();
67
+ //this.annotations?.resetTextListeners() // annotations should also be interactable when in notation mode
68
+ this.activateSelectionMode();
69
+ }
70
+ activateSelectionMode() {
71
+ //this.insertDeactivate()
72
+ this.selectionHandler = new SelectionHandler_1.default(this.containerId);
73
+ this.selectionHandler
74
+ .setm2s(this.m2s)
75
+ .setScoreGraph(this.scoreGraph)
76
+ .resetListeners();
77
+ return this;
78
+ }
79
+ activateAnnotationMode() {
80
+ var _a;
81
+ this.insertDeactivate();
82
+ var that = this;
83
+ this.keyMode = false;
84
+ this.clickInsertMode = false;
85
+ var selectedButton = (_a = this.container.querySelector("#annotGroupKM button.selected")) === null || _a === void 0 ? void 0 : _a.id;
86
+ switch (selectedButton) {
87
+ case "harmonyAnnotButton":
88
+ this.activateHarmonyMode();
89
+ this.harmonyMode = true;
90
+ this.annotationMode = false;
91
+ break;
92
+ case "staticTextButton":
93
+ case "linkedAnnotButton":
94
+ this.annotationMode = true;
95
+ this.harmonyMode = false;
96
+ if (this.annotations == undefined) {
97
+ this.annotations = new Annotations_1.default(this.containerId);
98
+ }
99
+ else {
100
+ this.annotations.updateCanvas();
101
+ }
102
+ this.annotations
103
+ .setContainerId(this.containerId)
104
+ .setm2s(this.m2s)
105
+ .setMusicProcessor(this.musicPlayer)
106
+ .setToFront()
107
+ .setMenuClickHandler();
108
+ break;
109
+ }
110
+ }
111
+ activateHarmonyMode() {
112
+ if (this.labelHandler == undefined) {
113
+ this.labelHandler = new LabelHandler_1.default(this.containerId);
114
+ }
115
+ //Activate/ Deactivate Global functions according to selected harmonymode
116
+ if (this.container.querySelector("#activateHarm.selected, #harmonyAnnotButton.selected") !== null) {
117
+ this.insertDeactivate();
118
+ this.container.classList.add("harmonyMode");
119
+ this.isGlobal = false;
120
+ }
121
+ else {
122
+ this.isGlobal = true;
123
+ }
124
+ this.labelHandler
125
+ .setContainerId(this.containerId)
126
+ .setGlobal(this.isGlobal)
127
+ .setListeners()
128
+ .setm2s(this.m2s)
129
+ .setMusicProcessor(this.musicPlayer)
130
+ .setCurrentMEI(this.m2s.getCurrentMei())
131
+ .setLoadDataCallback(this.loadDataCallback);
132
+ //this.keyMode = false;
133
+ //this.clickInsertMode = false;
134
+ //this.annotationMode = false;
135
+ this.harmonyMode = true;
136
+ return this;
137
+ }
138
+ insertDeactivate() {
139
+ this.container.classList.remove("textmode");
140
+ this.container.classList.remove("clickmode");
141
+ this.container.classList.remove("annotMode");
142
+ this.container.classList.remove("harmonyMode");
143
+ this.keyMode = false;
144
+ this.clickInsertMode = false;
145
+ this.harmonyMode = false;
146
+ this.annotationMode = false;
147
+ if (this.clickModeHandler != undefined) {
148
+ this.clickModeHandler.removeListeners();
149
+ this.phantomNoteHandler
150
+ .removeListeners()
151
+ .removeLines();
152
+ }
153
+ if (this.keyModeHandler != undefined) {
154
+ this.keyModeHandler.removeListeners();
155
+ }
156
+ // if(typeof this.selectionHandler !== "undefined"){
157
+ // this.selectionHandler.removeListeners()
158
+ // }
159
+ // this.selectionHandler = undefined
160
+ if (this.annotations != undefined) {
161
+ this.annotations.removeListeners();
162
+ this.annotations.setToBack();
163
+ this.annotationMode = false;
164
+ }
165
+ if (this.labelHandler != undefined) {
166
+ //this.labelHandler.removeListeners()
167
+ this.isGlobal = true;
168
+ this.labelHandler.reset();
169
+ }
170
+ if (this.deleteHandler != undefined) {
171
+ this.deleteHandler.removeListeners();
172
+ }
173
+ }
174
+ setSMHandler() {
175
+ if (this.smHandler == undefined) {
176
+ this.smHandler = new ScoreManipulatorHandler_1.default();
177
+ }
178
+ this.smHandler
179
+ .setContainerId(this.containerId)
180
+ .setMEI(this.m2s.getCurrentMei())
181
+ .setMusicProcessor(this.musicPlayer)
182
+ .setLoadDataCallback(this.loadDataCallback)
183
+ .drawElements();
184
+ // create some more measures at start for debugging purposes
185
+ // if (this.firstCall) {
186
+ // for (let i = 0; i < 13; i++) {
187
+ // this.interactionOverlay.querySelector("#measureAdder").dispatchEvent(new MouseEvent("click"))
188
+ // }
189
+ // this.firstCall = false
190
+ // }
191
+ return this;
192
+ }
193
+ setListeners() {
194
+ var that = this;
195
+ Array.from(this.container.querySelectorAll(".dropdown-item, .tabBtn")).forEach(n => {
196
+ n.addEventListener("click", function (e) {
197
+ e.preventDefault();
198
+ switch (this.id) {
199
+ case "notationTabBtn":
200
+ case "articulationTabBtn":
201
+ case "clickInsert":
202
+ that.activateInsertMode(true);
203
+ break;
204
+ case "keyMode":
205
+ that.activateInsertMode(true);
206
+ break;
207
+ case "annotationTabBtn":
208
+ case "activateAnnot":
209
+ that.activateAnnotationMode();
210
+ break;
211
+ default:
212
+ that.insertDeactivate();
213
+ break;
214
+ }
215
+ });
216
+ });
217
+ //events will come from Annotations Class.
218
+ this.container.addEventListener("annotationButtonClicked", function (e) {
219
+ var t = e.target;
220
+ t.parentElement.querySelectorAll("button").forEach(b => b.classList.remove("selected"));
221
+ t.classList.add("selected");
222
+ that.activateAnnotationMode();
223
+ }, true);
224
+ Array.from(this.container.querySelectorAll("#noteGroup > *")).forEach(b => {
225
+ b.addEventListener("click", function (e) {
226
+ let dur = 0;
227
+ switch (this.id) {
228
+ case "fullNote":
229
+ dur = 1;
230
+ break;
231
+ case "halfNote":
232
+ dur = 2;
233
+ break;
234
+ case "quarterNote":
235
+ dur = 4;
236
+ break;
237
+ case "eigthNote":
238
+ dur = 8;
239
+ break;
240
+ case "sixteenthNote":
241
+ dur = 16;
242
+ break;
243
+ case "thirtysecondNote":
244
+ dur = 32;
245
+ break;
246
+ }
247
+ that.m2s.setDurationNewNote(dur);
248
+ if (that.m2s.setMarkedNoteDurations(dur)) {
249
+ MEIOperations_1.cleanUp(that.m2s.getCurrentMei());
250
+ var mei = MEIConverter_1.restoreXmlIdTags(that.m2s.getCurrentMei());
251
+ that.loadDataCallback("", mei, false);
252
+ }
253
+ });
254
+ });
255
+ Array.from(this.container.querySelectorAll("#dotGroup > *")).forEach(b => {
256
+ b.addEventListener("click", function (e) {
257
+ let dots = 0;
258
+ if (this.classList.contains("selected")) {
259
+ switch (this.id) {
260
+ case "oneDot":
261
+ dots = 1;
262
+ break;
263
+ case "twoDot":
264
+ dots = 2;
265
+ }
266
+ }
267
+ that.m2s.setDotsNewNote(dots);
268
+ if (that.m2s.setMarkedNoteDots(dots)) {
269
+ MEIOperations_1.cleanUp(that.m2s.getCurrentMei());
270
+ var mei = MEIConverter_1.restoreXmlIdTags(that.m2s.getCurrentMei());
271
+ that.loadDataCallback("", mei, false);
272
+ }
273
+ });
274
+ });
275
+ this.navBarLoaded = true;
276
+ return this;
277
+ }
278
+ removeListeners() {
279
+ // No Changes in Navbar = no remove
280
+ }
281
+ resetModes() {
282
+ //reset
283
+ if (!this.navBarLoaded)
284
+ this.setListeners();
285
+ //if(this.keyMode) this.activateKeyMode();
286
+ if (this.clickInsertMode || this.keyMode)
287
+ this.activateInsertMode(); //this.activateClickMode();
288
+ if (this.annotationMode)
289
+ this.activateAnnotationMode();
290
+ if (this.harmonyMode)
291
+ this.activateHarmonyMode();
292
+ this.setSMHandler();
293
+ return this;
294
+ }
295
+ /////////////// GETTER/ SETTER /////////////////
296
+ setm2s(m2s) {
297
+ this.m2s = m2s;
298
+ //this.selectionHandler = new SelectionHandler()
299
+ //this.selectionHandler?.setm2s(this.m2s)
300
+ return this;
301
+ }
302
+ setMusicProcessor(musicPlayer) {
303
+ this.musicPlayer = musicPlayer;
304
+ return this;
305
+ }
306
+ setScoreGraph(scoreGraph) {
307
+ this.scoreGraph = scoreGraph;
308
+ return this;
309
+ }
310
+ setDeleteHandler(deleteHandler) {
311
+ this.deleteHandler = deleteHandler;
312
+ return this;
313
+ }
314
+ setLabelHandler(labelHandler) {
315
+ this.labelHandler = labelHandler;
316
+ return this;
317
+ }
318
+ setPhantomNote() {
319
+ if (this.phantomNoteHandler != undefined) {
320
+ this.phantomNoteHandler
321
+ .setPhantomNote()
322
+ .setListeners()
323
+ .setm2s(this.m2s);
324
+ }
325
+ return this;
326
+ }
327
+ setInsertCallback(insertCallback) {
328
+ this.insertCallback = insertCallback;
329
+ return this;
330
+ }
331
+ setDeleteCallback(deleteCallback) {
332
+ this.deleteCallback = deleteCallback;
333
+ return this;
334
+ }
335
+ setLoadDataCallback(loadDataCallback) {
336
+ this.loadDataCallback = loadDataCallback;
337
+ return this;
338
+ }
339
+ setUndoAnnotationStacks(arr) {
340
+ this.annotations.setUndoStacks(arr);
341
+ return this;
342
+ }
343
+ setContainerId(containerId) {
344
+ this.containerId = containerId;
345
+ this.interactionOverlay = cq.getInteractOverlay(containerId);
346
+ this.vrvSVG = cq.getVrvSVG(containerId);
347
+ this.container = document.getElementById(containerId);
348
+ return this;
349
+ }
350
+ resetCanvas() {
351
+ if (this.annotations != undefined) {
352
+ this.annotations.addCanvas();
353
+ }
354
+ return this;
355
+ }
356
+ getAnnotations() {
357
+ return this.annotations;
358
+ }
359
+ getSMHandler() {
360
+ return this.smHandler;
361
+ }
362
+ getPhantomNoteHandler() {
363
+ return this.phantomNoteHandler;
364
+ }
365
+ disableNoteInput() {
366
+ var _a, _b, _c;
367
+ (_a = this.keyModeHandler) === null || _a === void 0 ? void 0 : _a.removeListeners();
368
+ (_b = this.clickModeHandler) === null || _b === void 0 ? void 0 : _b.removeListeners();
369
+ (_c = this.selectionHandler) === null || _c === void 0 ? void 0 : _c.removeListeners();
370
+ }
371
+ enableNoteInput() {
372
+ var _a, _b, _c;
373
+ if (!(this.annotationMode || this.harmonyMode)) {
374
+ (_a = this.keyModeHandler) === null || _a === void 0 ? void 0 : _a.setListeners();
375
+ (_b = this.clickModeHandler) === null || _b === void 0 ? void 0 : _b.setListeners();
376
+ }
377
+ (_c = this.selectionHandler) === null || _c === void 0 ? void 0 : _c.setListeners();
378
+ }
379
+ }
380
+ exports.default = InsertModeHandler;