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,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adjustBBox = void 0;
4
+ const coordinates = require("./coordinates");
5
+ const allowedClasses = ["chord", "note", "notehead", "staff", "rest", "mRest", "clef", "meterSig", "keySig", "stem"];
6
+ /**
7
+ * Compute new bounding box coordinates for relevant elements. And attach new translate function to element
8
+ * @param element can be either element in #vrvSVG .definition-scale or #interactionOverlay #scoreRects
9
+ * @returns
10
+ */
11
+ function adjustBBox(element) {
12
+ var _a;
13
+ var elClass;
14
+ if (!allowedClasses.some(ac => {
15
+ if (element.classList.contains(ac)) {
16
+ elClass = ac;
17
+ return true;
18
+ }
19
+ })) {
20
+ return;
21
+ }
22
+ //target = element in #scoreRects
23
+ var target;
24
+ //source = element in #vrvSVG
25
+ var source;
26
+ if (element.getAttribute("refId") === null) {
27
+ target = (_a = document.querySelector("[refId=" + element.id + "]")) === null || _a === void 0 ? void 0 : _a.querySelector("rect");
28
+ source = element;
29
+ }
30
+ else {
31
+ target = element.querySelector("rect");
32
+ source = document.getElementById(element.getAttribute("refId"));
33
+ }
34
+ if (source === null || target === null) {
35
+ throw new Error("Referenced Element is null. BBox can't be computed for" + element.toString());
36
+ }
37
+ switch (elClass) {
38
+ case "clef":
39
+ case "keySig":
40
+ simpleTranslate(source, target);
41
+ break;
42
+ case "mRest":
43
+ simpleTranslate(source, target);
44
+ halfWidth(target);
45
+ break;
46
+ case "rest":
47
+ simpleTranslate(source, target);
48
+ adjustHightToLowestStaffLine(source, target);
49
+ halfWidth(target);
50
+ break;
51
+ case "meterSig":
52
+ simpleTranslate(source, target);
53
+ adjustHightToLowestStaffLine(source, target);
54
+ break;
55
+ case "staff":
56
+ adjustHightToLowestStaffLine(source, target);
57
+ adjustWidthToBarLine(source, target);
58
+ break;
59
+ case "note":
60
+ translateNotehead(source, target);
61
+ adjustToBetweenStemNoteheadBounds(source, target);
62
+ break;
63
+ case "chord":
64
+ simpleTranslate(source, target);
65
+ adjustToBetweenStemNoteheadBounds(source, target);
66
+ break;
67
+ case "stem":
68
+ nullifyBBox(target);
69
+ break;
70
+ }
71
+ }
72
+ exports.adjustBBox = adjustBBox;
73
+ function simpleTranslate(source, target) {
74
+ var useElement = source.querySelector("use") || source.querySelector("rect");
75
+ var translateY = -parseFloat(useElement.getAttribute("y"));
76
+ var translateX = -parseFloat(useElement.getAttribute("x"));
77
+ target.setAttribute("transform", "translate(" + translateX.toString() + "," + translateY.toString() + ")");
78
+ }
79
+ function adjustHightToLowestStaffLine(source, target) {
80
+ var closestStaff;
81
+ if (source.classList.contains("staff")) {
82
+ closestStaff = source;
83
+ }
84
+ else {
85
+ closestStaff = source.closest(".staff");
86
+ }
87
+ var lowestStaffLine = Array.from(closestStaff.querySelectorAll(":scope > path")).reverse()[0];
88
+ var coordsStaffline = coordinates.getDOMMatrixCoordinates(lowestStaffLine, source.closest("#vrvSVG"));
89
+ var coordsTarget = coordinates.getDOMMatrixCoordinates(target, target.closest("#interactionOverlay"));
90
+ var targetHeight = coordsStaffline.y - coordsTarget.y;
91
+ target.setAttribute("height", targetHeight.toString());
92
+ }
93
+ function adjustWidthToBarLine(source, target) {
94
+ var closestMeasure = source.closest(".measure");
95
+ var barline = closestMeasure.querySelector(".barLine");
96
+ var coordsBarline = coordinates.getDOMMatrixCoordinates(barline, source.closest("#vrvSVG"));
97
+ var coordsTarget = coordinates.getDOMMatrixCoordinates(target, target.closest("#interactionOverlay"));
98
+ var targetWidth = coordsBarline.x - coordsTarget.x;
99
+ target.setAttribute("width", targetWidth.toString());
100
+ }
101
+ function translateNotehead(source, target) {
102
+ var noteHeadSource = source.querySelector(".notehead");
103
+ var noteHeadTarget = target.closest("#interactionOverlay").querySelector("[refId=" + noteHeadSource.id + "]");
104
+ simpleTranslate(noteHeadSource, noteHeadTarget);
105
+ }
106
+ function adjustToBetweenStemNoteheadBounds(source, target) {
107
+ var _a, _b;
108
+ if (source.classList.contains("chord")) {
109
+ var noteHeadSource = Array.from(source.querySelectorAll(".notehead")).reverse()[0];
110
+ }
111
+ else {
112
+ noteHeadSource = source.querySelector(".notehead");
113
+ }
114
+ var noteHeadTarget = target.closest("#interactionOverlay").querySelector("[refId=" + noteHeadSource.id + "]");
115
+ var coordsNoteHead = coordinates.getDOMMatrixCoordinates(noteHeadTarget, target.closest("#interactionOverlay"));
116
+ var upperBoundSource = source.querySelector(".stem")
117
+ || ((_a = source.closest(".chord")) === null || _a === void 0 ? void 0 : _a.querySelector(".stem"))
118
+ || ((_b = source.closest(".chord")) === null || _b === void 0 ? void 0 : _b.querySelector(".notehead"))
119
+ || source.querySelector(".notehead");
120
+ var upperBoundTarget = target.closest("#interactionOverlay").querySelector("[refId=" + upperBoundSource.id + "]");
121
+ var coordsUpperBound = coordinates.getDOMMatrixCoordinates(upperBoundTarget, target.closest("#interactionOverlay"));
122
+ var targetWidth;
123
+ targetWidth = parseFloat(target.closest("#interactionOverlay").querySelector(".barLine rect").getAttribute("width")) * 2; // very crude heuristic
124
+ noteHeadTarget.querySelector("rect").setAttribute("width", targetWidth.toString());
125
+ target.setAttribute("width", targetWidth.toString());
126
+ target.setAttribute("x", coordsNoteHead.x.toString());
127
+ target.setAttribute("y", coordsUpperBound.y.toString());
128
+ var noteHeadHeight;
129
+ noteHeadHeight = parseFloat(target.closest("#interactionOverlay").querySelector(".barLine rect").getAttribute("width")) * 2; // very crude heuristic
130
+ noteHeadTarget.querySelector("rect").setAttribute("height", noteHeadHeight.toString());
131
+ coordsNoteHead = coordinates.getDOMMatrixCoordinates(noteHeadTarget, target.closest("#interactionOverlay"));
132
+ if (source.querySelector(".stem") !== null) {
133
+ adjustHightToLowestStaffLine(source, target);
134
+ }
135
+ }
136
+ function nullifyBBox(target) {
137
+ target.setAttribute("width", "1");
138
+ target.setAttribute("height", "1");
139
+ }
140
+ function halfWidth(target) {
141
+ var w = parseFloat(target.getAttribute("width")) / 2;
142
+ target.setAttribute("width", w.toString());
143
+ }
@@ -0,0 +1,332 @@
1
+ "use strict";
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;
4
+ exports.idxNoteMapGClef = new Map();
5
+ exports.idxNoteMapGClef.set(0, "f5");
6
+ exports.idxNoteMapGClef.set(1, "e5");
7
+ exports.idxNoteMapGClef.set(2, "d5");
8
+ exports.idxNoteMapGClef.set(3, "c5");
9
+ exports.idxNoteMapGClef.set(4, "b4");
10
+ exports.idxNoteMapGClef.set(5, "a4");
11
+ exports.idxNoteMapGClef.set(6, "g4");
12
+ exports.idxNoteMapGClef.set(7, "f4");
13
+ exports.idxNoteMapGClef.set(8, "e4");
14
+ exports.idxNoteMapFClef = new Map();
15
+ exports.idxNoteMapFClef.set(0, "a3");
16
+ exports.idxNoteMapFClef.set(1, "g3");
17
+ exports.idxNoteMapFClef.set(2, "f3");
18
+ exports.idxNoteMapFClef.set(3, "e3");
19
+ exports.idxNoteMapFClef.set(4, "d3");
20
+ exports.idxNoteMapFClef.set(5, "c3");
21
+ exports.idxNoteMapFClef.set(6, "b2");
22
+ exports.idxNoteMapFClef.set(7, "a2");
23
+ 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");
34
+ exports.idxNotePhantomMapAboveG = new Map();
35
+ exports.idxNotePhantomMapAboveG.set(0, "g5");
36
+ exports.idxNotePhantomMapAboveG.set(1, "a5");
37
+ exports.idxNotePhantomMapAboveG.set(2, "b5");
38
+ exports.idxNotePhantomMapAboveG.set(3, "c6");
39
+ exports.idxNotePhantomMapAboveG.set(4, "d6");
40
+ exports.idxNotePhantomMapAboveG.set(5, "e6");
41
+ exports.idxNotePhantomMapAboveG.set(6, "f6");
42
+ exports.idxNotePhantomMapAboveG.set(7, "g6");
43
+ exports.idxNotePhantomMapAboveG.set(8, "a6");
44
+ exports.idxNotePhantomMapAboveG.set(9, "b6");
45
+ exports.idxNotePhantomMapAboveG.set(10, "c7");
46
+ exports.idxNotePhantomMapAboveG.set(11, "d7");
47
+ exports.idxNotePhantomMapAboveG.set(12, "e7");
48
+ exports.idxNotePhantomMapAboveG.set(13, "f7");
49
+ exports.idxNotePhantomMapAboveG.set(14, "g7");
50
+ exports.idxNotePhantomMapAboveG.set(15, "a7");
51
+ exports.idxNotePhantomMapAboveG.set(16, "b7");
52
+ exports.idxNotePhantomMapAboveG.set(17, "c8");
53
+ exports.idxNotePhantomMapBelowG = new Map();
54
+ exports.idxNotePhantomMapBelowG.set(0, "d4");
55
+ exports.idxNotePhantomMapBelowG.set(1, "c4");
56
+ exports.idxNotePhantomMapBelowG.set(2, "b3");
57
+ exports.idxNotePhantomMapBelowG.set(3, "a3");
58
+ exports.idxNotePhantomMapBelowG.set(4, "g3");
59
+ exports.idxNotePhantomMapBelowG.set(5, "f3");
60
+ exports.idxNotePhantomMapBelowG.set(6, "e3");
61
+ exports.idxNotePhantomMapBelowG.set(7, "d3");
62
+ exports.idxNotePhantomMapBelowG.set(8, "c3");
63
+ exports.idxNotePhantomMapBelowG.set(9, "b2");
64
+ exports.idxNotePhantomMapBelowG.set(10, "a2");
65
+ exports.idxNotePhantomMapBelowG.set(11, "g2");
66
+ exports.idxNotePhantomMapBelowG.set(12, "f2");
67
+ exports.idxNotePhantomMapBelowG.set(13, "e2");
68
+ exports.idxNotePhantomMapBelowG.set(14, "d2");
69
+ exports.idxNotePhantomMapBelowG.set(15, "c2");
70
+ exports.idxNotePhantomMapBelowG.set(16, "b1");
71
+ exports.idxNotePhantomMapBelowG.set(17, "a1");
72
+ exports.idxNotePhantomMapBelowG.set(18, "g1");
73
+ exports.idxNotePhantomMapBelowG.set(19, "f1");
74
+ exports.idxNotePhantomMapBelowG.set(20, "e1");
75
+ exports.idxNotePhantomMapBelowG.set(21, "d1");
76
+ exports.idxNotePhantomMapBelowG.set(22, "c2");
77
+ exports.idxNotePhantomMapBelowG.set(23, "b0");
78
+ exports.idxNotePhantomMapBelowG.set(24, "a0");
79
+ exports.idxNotePhantomMapAboveF = new Map();
80
+ exports.idxNotePhantomMapAboveF.set(0, "b3");
81
+ exports.idxNotePhantomMapAboveF.set(1, "c4");
82
+ exports.idxNotePhantomMapAboveF.set(2, "d4");
83
+ exports.idxNotePhantomMapAboveF.set(3, "e4");
84
+ exports.idxNotePhantomMapAboveF.set(4, "f4");
85
+ exports.idxNotePhantomMapAboveF.set(5, "g4");
86
+ exports.idxNotePhantomMapAboveF.set(6, "a4");
87
+ exports.idxNotePhantomMapAboveF.set(7, "b4");
88
+ exports.idxNotePhantomMapAboveF.set(8, "c5");
89
+ exports.idxNotePhantomMapAboveF.set(9, "d5");
90
+ exports.idxNotePhantomMapAboveF.set(10, "e5");
91
+ exports.idxNotePhantomMapAboveF.set(11, "f5");
92
+ exports.idxNotePhantomMapAboveF.set(12, "g5");
93
+ exports.idxNotePhantomMapAboveF.set(13, "a5");
94
+ exports.idxNotePhantomMapAboveF.set(14, "b5");
95
+ exports.idxNotePhantomMapAboveF.set(15, "c6");
96
+ exports.idxNotePhantomMapAboveF.set(16, "d6");
97
+ exports.idxNotePhantomMapAboveF.set(17, "e6");
98
+ exports.idxNotePhantomMapBelowF = new Map();
99
+ exports.idxNotePhantomMapBelowF.set(0, "f2");
100
+ exports.idxNotePhantomMapBelowF.set(1, "e2");
101
+ exports.idxNotePhantomMapBelowF.set(2, "d2");
102
+ exports.idxNotePhantomMapBelowF.set(3, "c2");
103
+ exports.idxNotePhantomMapBelowF.set(4, "b1");
104
+ exports.idxNotePhantomMapBelowF.set(5, "a1");
105
+ exports.idxNotePhantomMapBelowF.set(6, "g1");
106
+ exports.idxNotePhantomMapBelowF.set(7, "f1");
107
+ exports.idxNotePhantomMapBelowF.set(8, "e1");
108
+ exports.idxNotePhantomMapBelowF.set(9, "d1");
109
+ exports.idxNotePhantomMapBelowF.set(10, "c1");
110
+ exports.idxNotePhantomMapBelowF.set(11, "b0");
111
+ exports.idxNotePhantomMapBelowF.set(12, "a0");
112
+ exports.idxNotePhantomMapBelowF.set(13, "g0");
113
+ exports.idxNotePhantomMapBelowF.set(14, "f0");
114
+ exports.idxNotePhantomMapBelowF.set(15, "e0");
115
+ exports.idxNotePhantomMapBelowF.set(16, "d0");
116
+ 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");
161
+ exports.keyCodeNoteMap = new Map;
162
+ exports.keyCodeNoteMap.set("KeyC", "c");
163
+ exports.keyCodeNoteMap.set("KeyD", "d");
164
+ exports.keyCodeNoteMap.set("KeyE", "e");
165
+ exports.keyCodeNoteMap.set("KeyF", "f");
166
+ exports.keyCodeNoteMap.set("KeyG", "g");
167
+ exports.keyCodeNoteMap.set("KeyA", "a");
168
+ exports.keyCodeNoteMap.set("KeyB", "b");
169
+ exports.keyCodeNoteMap.set("KeyH", "b"); //alternative when keydown h
170
+ exports.idToClef = new Map;
171
+ exports.idToClef.set("#E050", "G");
172
+ exports.idToClef.set("#E062", "F");
173
+ exports.idToClef.set("#E05C", "C");
174
+ exports.noteToCross = new Map;
175
+ exports.noteToCross.set("f", "f#");
176
+ exports.noteToCross.set("c", "c#");
177
+ exports.noteToCross.set("g", "g#");
178
+ exports.noteToCross.set("d", "d#");
179
+ exports.noteToCross.set("a", "a#");
180
+ exports.noteToCross.set("e", "e#");
181
+ exports.noteToCross.set("b", "b#");
182
+ exports.noteToB = new Map;
183
+ exports.noteToB.set("b", "bb");
184
+ exports.noteToB.set("e", "eb");
185
+ exports.noteToB.set("a", "ab");
186
+ exports.noteToB.set("d", "db");
187
+ exports.noteToB.set("g", "gb");
188
+ exports.noteToB.set("c", "cb");
189
+ exports.noteToB.set("f", "fb");
190
+ exports.nextStepDown = new Map;
191
+ exports.nextStepDown.set("b", "bf");
192
+ exports.nextStepDown.set("bf", "a");
193
+ exports.nextStepDown.set("as", "a");
194
+ exports.nextStepDown.set("a", "af");
195
+ exports.nextStepDown.set("gs", "g");
196
+ exports.nextStepDown.set("af", "g");
197
+ exports.nextStepDown.set("g", "gf");
198
+ exports.nextStepDown.set("fs", "f");
199
+ exports.nextStepDown.set("gf", "f");
200
+ exports.nextStepDown.set("es", "e");
201
+ exports.nextStepDown.set("f", "e");
202
+ exports.nextStepDown.set("ff", "ef");
203
+ exports.nextStepDown.set("e", "ef");
204
+ exports.nextStepDown.set("ds", "d");
205
+ exports.nextStepDown.set("ef", "d");
206
+ exports.nextStepDown.set("d", "df");
207
+ exports.nextStepDown.set("cs", "c");
208
+ exports.nextStepDown.set("df", "c");
209
+ exports.nextStepDown.set("bs", "b");
210
+ exports.nextStepDown.set("c", "b");
211
+ exports.nextStepDown.set("cf", "bf");
212
+ exports.nextStepUp = new Map;
213
+ exports.nextStepUp.set("c", "cs");
214
+ exports.nextStepUp.set("cs", "d");
215
+ exports.nextStepUp.set("df", "d");
216
+ exports.nextStepUp.set("d", "ds");
217
+ exports.nextStepUp.set("ds", "e");
218
+ exports.nextStepUp.set("ef", "e");
219
+ exports.nextStepUp.set("ff", "f");
220
+ exports.nextStepUp.set("e", "f");
221
+ exports.nextStepUp.set("f", "fs");
222
+ exports.nextStepUp.set("gf", "g");
223
+ exports.nextStepUp.set("fs", "g");
224
+ exports.nextStepUp.set("g", "gs");
225
+ exports.nextStepUp.set("af", "a");
226
+ exports.nextStepUp.set("gs", "a");
227
+ exports.nextStepUp.set("a", "as");
228
+ exports.nextStepUp.set("bf", "b");
229
+ exports.nextStepUp.set("as", "b");
230
+ exports.nextStepUp.set("cf", "c");
231
+ exports.nextStepUp.set("b", "c");
232
+ exports.nextStepUp.set("bs", "cs");
233
+ exports.keysigToNotes = new Map;
234
+ exports.keysigToNotes.set("0", []);
235
+ exports.keysigToNotes.set("1s", ["f"]);
236
+ exports.keysigToNotes.set("2s", ["f", "c"]);
237
+ exports.keysigToNotes.set("3s", ["f", "c", "g"]);
238
+ exports.keysigToNotes.set("4s", ["f", "c", "g", "d"]);
239
+ exports.keysigToNotes.set("5s", ["f", "c", "g", "d", "a"]);
240
+ exports.keysigToNotes.set("6s", ["f", "c", "g", "d", "a", "e"]);
241
+ exports.keysigToNotes.set("1f", ["b"]);
242
+ exports.keysigToNotes.set("2f", ["b", "e"]);
243
+ exports.keysigToNotes.set("3f", ["b", "e", "a"]);
244
+ exports.keysigToNotes.set("4f", ["b", "e", "a", "d"]);
245
+ exports.keysigToNotes.set("5f", ["b", "e", "a", "d", "g"]);
246
+ exports.keysigToNotes.set("6f", ["b", "e", "a", "d", "g", "c"]);
247
+ exports.keyIdToSig = new Map;
248
+ exports.keyIdToSig.set("KeyGMaj", "1s");
249
+ exports.keyIdToSig.set("KeyDMaj", "2s");
250
+ exports.keyIdToSig.set("KeyAMaj", "3s");
251
+ exports.keyIdToSig.set("KeyEMaj", "4s");
252
+ exports.keyIdToSig.set("KeyBMaj", "5s");
253
+ exports.keyIdToSig.set("KeyF#Maj", "6s");
254
+ exports.keyIdToSig.set("KeyFMaj", "1f");
255
+ exports.keyIdToSig.set("KeyBbMaj", "2f");
256
+ exports.keyIdToSig.set("KeyEbMaj", "3f");
257
+ exports.keyIdToSig.set("KeyAbMaj", "4f");
258
+ exports.keyIdToSig.set("KeyDbMaj", "5f");
259
+ exports.keyIdToSig.set("KeyGbMaj", "6f");
260
+ exports.keyIdToSig.set("KeyCMaj", "0");
261
+ exports.numToNoteButtonId = new Map;
262
+ exports.numToNoteButtonId.set("1", "fullNote");
263
+ exports.numToNoteButtonId.set("2", "halfNote");
264
+ exports.numToNoteButtonId.set("4", "quarterNote");
265
+ exports.numToNoteButtonId.set("8", "eigthNote");
266
+ exports.numToNoteButtonId.set("16", "sixteenthNote");
267
+ exports.numToNoteButtonId.set("32", "thirtysecondNote");
268
+ exports.NoteButtonIdToNum = new Map;
269
+ exports.NoteButtonIdToNum.set("fullNote", 1);
270
+ exports.NoteButtonIdToNum.set("halfNote", 2);
271
+ exports.NoteButtonIdToNum.set("quarterNote", 4);
272
+ exports.NoteButtonIdToNum.set("eigthNote", 8);
273
+ exports.NoteButtonIdToNum.set("sixteenthNote", 16);
274
+ exports.NoteButtonIdToNum.set("thirtysecondNote", 32);
275
+ exports.numToDotButtonId = new Map;
276
+ exports.numToDotButtonId.set("1", "oneDot");
277
+ exports.numToDotButtonId.set("2", "twoDot");
278
+ exports.attrToModButtonId = new Map;
279
+ exports.attrToModButtonId.set("s", "alterUp");
280
+ exports.attrToModButtonId.set("f", "alterDown");
281
+ exports.attrToModButtonId.set("n", "alterNeutral");
282
+ exports.attrToModButtonId.set("ff", "alterDDown");
283
+ exports.attrToModButtonId.set("ss", "alterDUp");
284
+ exports.attrToModButtonId.set("acc", "accentBtn");
285
+ exports.attrToModButtonId.set("stacc", "staccatoBtn");
286
+ exports.attrToModButtonId.set("marc", "marcatoBtn");
287
+ exports.attrToModButtonId.set("ten", "tenutoBtn");
288
+ exports.modButtonToAttr = new Map;
289
+ exports.attrToModButtonId.forEach((v, k) => exports.modButtonToAttr.set(v, k));
290
+ exports.octToNum = new Map;
291
+ exports.octToNum.set("subkontraOct", "0");
292
+ exports.octToNum.set("kontraOct", "1");
293
+ exports.octToNum.set("greatOct", "2");
294
+ exports.octToNum.set("smallOct", "3");
295
+ exports.octToNum.set("LineOct1", "4");
296
+ exports.octToNum.set("LineOct2", "5");
297
+ exports.octToNum.set("LineOct3", "6");
298
+ exports.octToNum.set("LineOct4", "7");
299
+ exports.octToNum.set("LineOct5", "8");
300
+ exports.clefToLine = new Map;
301
+ exports.clefToLine.set("G", "2");
302
+ exports.clefToLine.set("C", "3");
303
+ exports.clefToLine.set("F", "4");
304
+ exports.unicodeToTimesig = new Map;
305
+ exports.unicodeToTimesig.set("E080", "0");
306
+ exports.unicodeToTimesig.set("E081", "1");
307
+ exports.unicodeToTimesig.set("E082", "2");
308
+ exports.unicodeToTimesig.set("E083", "3");
309
+ exports.unicodeToTimesig.set("E084", "4");
310
+ exports.unicodeToTimesig.set("E085", "5");
311
+ exports.unicodeToTimesig.set("E086", "6");
312
+ exports.unicodeToTimesig.set("E087", "7");
313
+ exports.unicodeToTimesig.set("E088", "8");
314
+ exports.unicodeToTimesig.set("E089", "9");
315
+ exports.unicodeToKey = new Map;
316
+ exports.unicodeToKey.set("♭", "b");
317
+ exports.unicodeToKey.set("♮", "n");
318
+ exports.unicodeToKey.set("♯", "#");
319
+ exports.unicodeToKey.set("", "°");
320
+ exports.unicodeToKey.set("", "/°");
321
+ exports.unicodeToKey.set("", "\\^");
322
+ exports.keyToUnicode = new Map;
323
+ exports.unicodeToKey.forEach((v, k) => exports.keyToUnicode.set(v, k));
324
+ exports.midiToNote = new Map;
325
+ var j = 12;
326
+ for (let i = 0; i <= 9; i++) {
327
+ ["c", "cs", "d", "ds", "e", "f", "fs", "g", "gs", "a", "as", "b"].forEach(x => {
328
+ if (j >= 21 && j <= 127)
329
+ exports.midiToNote.set(j, x + i.toString());
330
+ j++;
331
+ });
332
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uuidv4 = void 0;
4
+ /**
5
+ * Formats raw UUID data into the proper string format.
6
+ * @param data - Raw UUID data.
7
+ * @returns Formatted UUID string.
8
+ */
9
+ function uint8ToUuid(data) {
10
+ if (data.length !== 16) {
11
+ return '';
12
+ }
13
+ function cb(previous, current) {
14
+ return previous + current.toString(16).padStart(2, '0');
15
+ }
16
+ // deleted '-' for parsing with QuerySelector
17
+ return "A" + data.slice(0, 4).reduce(cb, '') + 'a'
18
+ + data.slice(4, 6).reduce(cb, '') + 'b'
19
+ + data.slice(6, 8).reduce(cb, '') + 'c'
20
+ + data.slice(8, 10).reduce(cb, '') + 'd'
21
+ + data.slice(10).reduce(cb, '');
22
+ }
23
+ /**
24
+ * @returns A [version 4 UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random)).
25
+ */
26
+ function uuidv4() {
27
+ // Check for crypto API
28
+ if (window.crypto === undefined) {
29
+ return uint8ToUuid(new Uint8Array(16));
30
+ }
31
+ // Get 16 octets for UUID
32
+ const octets = new Uint8Array(16);
33
+ const modifiers = Uint8Array.from([
34
+ parseInt('01000000', 2),
35
+ parseInt('10000000', 2),
36
+ parseInt('00001111', 2),
37
+ parseInt('00111111', 2) // Mask to zero higher bits, variant
38
+ ]);
39
+ window.crypto.getRandomValues(octets);
40
+ // Set version bits and variant bits
41
+ octets[6] = (octets[6] & modifiers[2]) | modifiers[0];
42
+ octets[8] = (octets[8] & modifiers[3]) | modifiers[1];
43
+ return uint8ToUuid(octets);
44
+ }
45
+ exports.uuidv4 = uuidv4;