pepperscore 0.2.0 → 0.4.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.
- package/CHANGELOG.md +74 -0
- package/LICENSE +26 -12
- package/README.md +127 -9
- package/dist/THIRD_PARTY_NOTICES.txt +1222 -0
- package/dist/assets/{import.worker-D0XfuAHu.js → import.worker-Rop-z7az.js} +2 -2
- package/dist/assets/verovio.worker-DQm-ikdG.js +7 -0
- package/dist/audio.d.ts +24 -0
- package/dist/audio.js +198 -0
- package/dist/audio.js.map +1 -0
- package/dist/components/InstrumentChooser.d.ts +17 -0
- package/dist/components/OctaveTool.d.ts +21 -0
- package/dist/components/PepperScore.d.ts +96 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3738 -3382
- package/dist/index.js.map +1 -1
- package/dist/instruments.d.ts +2 -0
- package/dist/instruments.js +2 -0
- package/dist/lib/chrome.d.ts +10 -2
- package/dist/lib/file-state.d.ts +45 -5
- package/dist/lib/header-controls.d.ts +7 -3
- package/dist/lib/hit-test.d.ts +18 -0
- package/dist/lib/instrument-model.d.ts +80 -0
- package/dist/lib/instrument-switch-state.d.ts +169 -0
- package/dist/lib/instrument-view.d.ts +92 -0
- package/dist/lib/instruments.d.ts +82 -0
- package/dist/lib/metronome.d.ts +33 -0
- package/dist/lib/notation/document.d.ts +11 -1
- package/dist/lib/notation/mei-spelling.d.ts +9 -1
- package/dist/lib/notation/mei-tab.d.ts +58 -0
- package/dist/lib/notation/mei-view.d.ts +8 -0
- package/dist/lib/playback/timeline.d.ts +4 -1
- package/dist/lib/prefs.d.ts +67 -0
- package/dist/lib/range-fit-core.d.ts +26 -0
- package/dist/lib/render.d.ts +36 -1
- package/dist/lib/score.d.ts +23 -1
- package/dist/lib/sound-players.d.ts +9 -1
- package/dist/lib/tab/fret-assign.d.ts +53 -0
- package/dist/lib/tab/tab-parts.d.ts +64 -0
- package/dist/lib/transpose.d.ts +3 -2
- package/dist/lib/verovio-protocol.d.ts +15 -0
- package/dist/lib/verovio-runtime.d.ts +9 -1
- package/dist/range-fit-core-B1rMWdI4.js +468 -0
- package/dist/range-fit-core-B1rMWdI4.js.map +1 -0
- package/dist/runtime-files.d.ts +15 -0
- package/dist/{sf2-player-CRlOJDhD.js → sf2-player-oWC6yrUH.js} +28 -6
- package/dist/sf2-player-oWC6yrUH.js.map +1 -0
- package/dist/sound-players-DdLBBZaR.js +1172 -0
- package/dist/sound-players-DdLBBZaR.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/verovio/LICENSE +858 -0
- package/dist/verovio/verovio-module.mjs +0 -0
- package/dist/verovio/verovio.mjs +397 -0
- package/package.json +14 -2
- package/dist/assets/verovio.worker-DkHQmOsT.js +0 -19034
- package/dist/sf2-player-CRlOJDhD.js.map +0 -1
|
Binary file
|
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Verovio 6.3.0 - https://www.verovio.org/ - Copyright (c) Laurent Pugin and the Verovio contributors.
|
|
3
|
+
* Licensed under the GNU Lesser General Public License v3.0 or later (LGPL-3.0-or-later); see LICENSE in this directory.
|
|
4
|
+
* Unmodified upstream file dist/verovio.mjs from the npm package verovio@6.3.0; only this comment was added.
|
|
5
|
+
* Source: https://github.com/rism-digital/verovio/tree/version-6.3.0
|
|
6
|
+
* This file can be replaced by an interface-compatible build: see the `verovioBaseUrl` prop of pepperscore.
|
|
7
|
+
*/
|
|
8
|
+
const createEmscriptenProxy = (VerovioModule) => {
|
|
9
|
+
return new Proxy({}, {
|
|
10
|
+
get: (target, method) => {
|
|
11
|
+
return (...args) => {
|
|
12
|
+
return getToolkitFunction(VerovioModule, method)(...args);
|
|
13
|
+
};
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
function getToolkitFunction(VerovioModule, method) {
|
|
19
|
+
const mapping = {};
|
|
20
|
+
|
|
21
|
+
// Constructor and destructor
|
|
22
|
+
// Toolkit *constructor()
|
|
23
|
+
mapping.constructor = VerovioModule.cwrap("vrvToolkit_constructor", "number", []);
|
|
24
|
+
|
|
25
|
+
// void destructor(Toolkit *ic)
|
|
26
|
+
mapping.destructor = VerovioModule.cwrap("vrvToolkit_destructor", null, ["number"]);
|
|
27
|
+
|
|
28
|
+
// bool edit(Toolkit *ic, const char *editorAction)
|
|
29
|
+
mapping.edit = VerovioModule.cwrap("vrvToolkit_edit", "number", ["number", "string"]);
|
|
30
|
+
|
|
31
|
+
// char *editResponse(Toolkit *ic)
|
|
32
|
+
mapping.editResponse = VerovioModule.cwrap("vrvToolkit_editResponse", "string", ["number"]);
|
|
33
|
+
|
|
34
|
+
// char *editStatus(Toolkit *ic)
|
|
35
|
+
mapping.editStatus = VerovioModule.cwrap("vrvToolkit_editStatus", "string", ["number"]);
|
|
36
|
+
|
|
37
|
+
// char *getAvailableOptions(Toolkit *ic)
|
|
38
|
+
mapping.getAvailableOptions = VerovioModule.cwrap("vrvToolkit_getAvailableOptions", "string", ["number"]);
|
|
39
|
+
|
|
40
|
+
// char *getDefaultOptions(Toolkit *ic)
|
|
41
|
+
mapping.getDefaultOptions = VerovioModule.cwrap("vrvToolkit_getDefaultOptions", "string", ["number"]);
|
|
42
|
+
|
|
43
|
+
// char *getDescriptiveFeatures(Toolkit *ic, const char *options)
|
|
44
|
+
mapping.getDescriptiveFeatures = VerovioModule.cwrap("vrvToolkit_getDescriptiveFeatures", "string", ["number", "string"]);
|
|
45
|
+
|
|
46
|
+
// char *getElementAttr(Toolkit *ic, const char *xmlId)
|
|
47
|
+
mapping.getElementAttr = VerovioModule.cwrap("vrvToolkit_getElementAttr", "string", ["number", "string"]);
|
|
48
|
+
|
|
49
|
+
// char *getElementsAtTime(Toolkit *ic, int time)
|
|
50
|
+
mapping.getElementsAtTime = VerovioModule.cwrap("vrvToolkit_getElementsAtTime", "string", ["number", "number"]);
|
|
51
|
+
|
|
52
|
+
// char *vrvToolkit_getExpansionIdsForElement(Toolkit *tk, const char *xmlId);
|
|
53
|
+
mapping.getExpansionIdsForElement = VerovioModule.cwrap("vrvToolkit_getExpansionIdsForElement", "string", ["number", "string"]);
|
|
54
|
+
|
|
55
|
+
// char *getHumdrum(Toolkit *ic)
|
|
56
|
+
mapping.getHumdrum = VerovioModule.cwrap("vrvToolkit_getHumdrum", "string", ["number"]);
|
|
57
|
+
|
|
58
|
+
// char *convertMEIToHumdrum(Toolkit *ic, const char *meiData)
|
|
59
|
+
mapping.convertMEIToHumdrum = VerovioModule.cwrap("vrvToolkit_convertMEIToHumdrum", "string", ["number", "string"]);
|
|
60
|
+
|
|
61
|
+
// char *convertHumdrumToHumdrum(Toolkit *ic, const char *humdrumData)
|
|
62
|
+
mapping.convertHumdrumToHumdrum = VerovioModule.cwrap("vrvToolkit_convertHumdrumToHumdrum", "string", ["number", "string"]);
|
|
63
|
+
|
|
64
|
+
// char *convertHumdrumToMIDI(Toolkit *ic, const char *humdrumData)
|
|
65
|
+
mapping.convertHumdrumToMIDI = VerovioModule.cwrap("vrvToolkit_convertHumdrumToMIDI", "string", ["number", "string"]);
|
|
66
|
+
|
|
67
|
+
// char *getLog(Toolkit *ic)
|
|
68
|
+
mapping.getLog = VerovioModule.cwrap("vrvToolkit_getLog", "string", ["number"]);
|
|
69
|
+
|
|
70
|
+
// char *getMEI(Toolkit *ic, const char *options)
|
|
71
|
+
mapping.getMEI = VerovioModule.cwrap("vrvToolkit_getMEI", "string", ["number", "string"]);
|
|
72
|
+
|
|
73
|
+
// char *vrvToolkit_getNotatedIdForElement(Toolkit *tk, const char *xmlId);
|
|
74
|
+
mapping.getNotatedIdForElement = VerovioModule.cwrap("vrvToolkit_getNotatedIdForElement", "string", ["number", "string"]);
|
|
75
|
+
|
|
76
|
+
// char *getOptions(Toolkit *ic)
|
|
77
|
+
mapping.getOptions = VerovioModule.cwrap("vrvToolkit_getOptions", "string", ["number"]);
|
|
78
|
+
|
|
79
|
+
// int getPageCount(Toolkit *ic)
|
|
80
|
+
mapping.getPageCount = VerovioModule.cwrap("vrvToolkit_getPageCount", "number", ["number"]);
|
|
81
|
+
|
|
82
|
+
// int getPageWithElement(Toolkit *ic, const char *xmlId)
|
|
83
|
+
mapping.getPageWithElement = VerovioModule.cwrap("vrvToolkit_getPageWithElement", "number", ["number", "string"]);
|
|
84
|
+
|
|
85
|
+
// double getTimeForElement(Toolkit *ic, const char *xmlId)
|
|
86
|
+
mapping.getTimeForElement = VerovioModule.cwrap("vrvToolkit_getTimeForElement", "number", ["number", "string"]);
|
|
87
|
+
|
|
88
|
+
// char *getTimesForElement(Toolkit *ic, const char *xmlId)
|
|
89
|
+
mapping.getTimesForElement = VerovioModule.cwrap("vrvToolkit_getTimesForElement", "string", ["number", "string"]);
|
|
90
|
+
|
|
91
|
+
// char *getMIDIValuesForElement(Toolkit *ic, const char *xmlId)
|
|
92
|
+
mapping.getMIDIValuesForElement = VerovioModule.cwrap("vrvToolkit_getMIDIValuesForElement", "string", ["number", "string"]);
|
|
93
|
+
|
|
94
|
+
// char *getVersion(Toolkit *ic)
|
|
95
|
+
mapping.getVersion = VerovioModule.cwrap("vrvToolkit_getVersion", "string", ["number"]);
|
|
96
|
+
|
|
97
|
+
// bool loadData(Toolkit *ic, const char *data)
|
|
98
|
+
mapping.loadData = VerovioModule.cwrap("vrvToolkit_loadData", "number", ["number", "string"]);
|
|
99
|
+
|
|
100
|
+
// bool loadZipDataBase64(Toolkit *ic, const char *data)
|
|
101
|
+
mapping.loadZipDataBase64 = VerovioModule.cwrap("vrvToolkit_loadZipDataBase64", "number", ["number", "string"]);
|
|
102
|
+
|
|
103
|
+
// bool loadZipDataBuffer(Toolkit *ic, const unsigned char *data, int length)
|
|
104
|
+
mapping.loadZipDataBuffer = VerovioModule.cwrap("vrvToolkit_loadZipDataBuffer", "number", ["number", "number", "number"]);
|
|
105
|
+
|
|
106
|
+
// void redoLayout(Toolkit *ic)
|
|
107
|
+
mapping.redoLayout = VerovioModule.cwrap("vrvToolkit_redoLayout", null, ["number", "string"]);
|
|
108
|
+
|
|
109
|
+
// void redoPagePitchPosLayout(Toolkit *ic)
|
|
110
|
+
mapping.redoPagePitchPosLayout = VerovioModule.cwrap("vrvToolkit_redoPagePitchPosLayout", null, ["number"]);
|
|
111
|
+
|
|
112
|
+
// char *renderData(Toolkit *ic, const char *data, const char *options)
|
|
113
|
+
mapping.renderData = VerovioModule.cwrap("vrvToolkit_renderData", "string", ["number", "string", "string"]);
|
|
114
|
+
|
|
115
|
+
// char *renderToExpansionMap(Toolkit *ic)
|
|
116
|
+
mapping.renderToExpansionMap = VerovioModule.cwrap("vrvToolkit_renderToExpansionMap", "string", ["number"]);
|
|
117
|
+
|
|
118
|
+
// char *renderToMIDI(Toolkit *ic)
|
|
119
|
+
mapping.renderToMIDI = VerovioModule.cwrap("vrvToolkit_renderToMIDI", "string", ["number"]);
|
|
120
|
+
|
|
121
|
+
// char *renderToPAE(Toolkit *ic)
|
|
122
|
+
mapping.renderToPAE = VerovioModule.cwrap("vrvToolkit_renderToPAE", "string", ["number"]);
|
|
123
|
+
|
|
124
|
+
// char *renderToSvg(Toolkit *ic, int pageNo, int xmlDeclaration)
|
|
125
|
+
mapping.renderToSVG = VerovioModule.cwrap("vrvToolkit_renderToSVG", "string", ["number", "number", "number"]);
|
|
126
|
+
|
|
127
|
+
// char *renderToTimemap(Toolkit *ic)
|
|
128
|
+
mapping.renderToTimemap = VerovioModule.cwrap("vrvToolkit_renderToTimemap", "string", ["number", "string"]);
|
|
129
|
+
|
|
130
|
+
// void resetOptions(Toolkit *ic)
|
|
131
|
+
mapping.resetOptions = VerovioModule.cwrap("vrvToolkit_resetOptions", null, ["number"]);
|
|
132
|
+
|
|
133
|
+
// void resetXmlIdSeed(Toolkit *ic, int seed)
|
|
134
|
+
mapping.resetXmlIdSeed = VerovioModule.cwrap("vrvToolkit_resetXmlIdSeed", null, ["number", "number"]);
|
|
135
|
+
|
|
136
|
+
// bool select(Toolkit *ic, const char *options)
|
|
137
|
+
mapping.select = VerovioModule.cwrap("vrvToolkit_select", "number", ["number", "string"]);
|
|
138
|
+
|
|
139
|
+
// void setOptions(Toolkit *ic, const char *options)
|
|
140
|
+
mapping.setOptions = VerovioModule.cwrap("vrvToolkit_setOptions", null, ["number", "string"]);
|
|
141
|
+
|
|
142
|
+
// char *validatePAE(Toolkit *ic, const char *options)
|
|
143
|
+
mapping.validatePAE = VerovioModule.cwrap("vrvToolkit_validatePAE", "string", ["number", "string"]);
|
|
144
|
+
|
|
145
|
+
return mapping[method];
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
class VerovioToolkit {
|
|
149
|
+
|
|
150
|
+
constructor(VerovioModule) {
|
|
151
|
+
this.VerovioModule = VerovioModule;
|
|
152
|
+
if (!this.VerovioModule) {
|
|
153
|
+
throw new Error("VerovioToolkit needs VerovioModule passed as argument to the constructor.");
|
|
154
|
+
}
|
|
155
|
+
this.proxy = createEmscriptenProxy(this.VerovioModule);
|
|
156
|
+
this.ptr = this.proxy.constructor();
|
|
157
|
+
VerovioToolkit.instances.push(this);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
destroy() {
|
|
161
|
+
VerovioToolkit.instances.splice(VerovioToolkit.instances.findIndex(i => i.ptr === this.ptr), 1);
|
|
162
|
+
this.proxy.destructor(this.ptr);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
edit(editorAction) {
|
|
166
|
+
return this.proxy.edit(this.ptr, JSON.stringify(editorAction));
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
editInfo() {
|
|
170
|
+
console.warn( "This function is deprecated. Use editStatus instead." );
|
|
171
|
+
return JSON.parse(this.proxy.editStatus(this.ptr));
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
editResponse() {
|
|
175
|
+
return JSON.parse(this.proxy.editResponse(this.ptr));
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
editStatus() {
|
|
179
|
+
return JSON.parse(this.proxy.editStatus(this.ptr));
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
getAvailableOptions() {
|
|
183
|
+
return JSON.parse(this.proxy.getAvailableOptions(this.ptr));
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
getDefaultOptions() {
|
|
187
|
+
return JSON.parse(this.proxy.getDefaultOptions(this.ptr));
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
getDescriptiveFeatures(options) {
|
|
191
|
+
return JSON.parse(this.proxy.getDescriptiveFeatures(this.ptr, JSON.stringify(options)));
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
getElementAttr(xmlId) {
|
|
195
|
+
return JSON.parse(this.proxy.getElementAttr(this.ptr, xmlId));
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
getElementsAtTime(millisec) {
|
|
199
|
+
return JSON.parse(this.proxy.getElementsAtTime(this.ptr, millisec));
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
getExpansionIdsForElement(xmlId) {
|
|
203
|
+
return JSON.parse(this.proxy.getExpansionIdsForElement(this.ptr, xmlId));
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
getHumdrum() {
|
|
207
|
+
return this.proxy.getHumdrum(this.ptr);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
convertHumdrumToHumdrum(data) {
|
|
211
|
+
return this.proxy.convertHumdrumToHumdrum(this.ptr, data);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
convertHumdrumToMIDI(data) {
|
|
215
|
+
return this.proxy.convertHumdrumToMIDI(this.ptr, data);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
convertMEIToHumdrum(data) {
|
|
219
|
+
return this.proxy.convertMEIToHumdrum(this.ptr, data);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
getLog() {
|
|
223
|
+
return this.proxy.getLog(this.ptr);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
getMEI(options = {}) {
|
|
227
|
+
return this.proxy.getMEI(this.ptr, JSON.stringify(options));
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
getMIDIValuesForElement(xmlId) {
|
|
231
|
+
return JSON.parse(this.proxy.getMIDIValuesForElement(this.ptr, xmlId));
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
getNotatedIdForElement(xmlId) {
|
|
235
|
+
return this.proxy.getNotatedIdForElement(this.ptr, xmlId);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
getOptions(defaultValues) {
|
|
239
|
+
if (defaultValues === true) {
|
|
240
|
+
console.warn( "This function (with 'true' parameter) is deprecated. Use getDefaultOptions() instead." );
|
|
241
|
+
return JSON.parse(this.proxy.getDefaultOptions(this.ptr));
|
|
242
|
+
}
|
|
243
|
+
else if (defaultValues === false) {
|
|
244
|
+
console.warn( "This function (with 'false' parameter) is deprecated. Use getOptions() instead." );
|
|
245
|
+
return JSON.parse(this.proxy.getOptions(this.ptr));
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
return JSON.parse(this.proxy.getOptions(this.ptr));
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
getPageCount() {
|
|
253
|
+
return this.proxy.getPageCount(this.ptr);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
getPageWithElement(xmlId) {
|
|
257
|
+
return this.proxy.getPageWithElement(this.ptr, xmlId);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
getTimeForElement(xmlId) {
|
|
261
|
+
return this.proxy.getTimeForElement(this.ptr, xmlId);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
getTimesForElement(xmlId) {
|
|
265
|
+
return JSON.parse(this.proxy.getTimesForElement(this.ptr, xmlId));
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
getVersion() {
|
|
269
|
+
return this.proxy.getVersion(this.ptr);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
loadData(data) {
|
|
273
|
+
return this.proxy.loadData(this.ptr, data);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
loadZipDataBase64(data) {
|
|
277
|
+
return this.proxy.loadZipDataBase64(this.ptr, data);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
loadZipDataBuffer(data) {
|
|
281
|
+
if (!(data instanceof ArrayBuffer)) {
|
|
282
|
+
console.error("Parameter for loadZipDataBuffer has to be of type ArrayBuffer");
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
var dataArray = new Uint8Array(data);
|
|
286
|
+
var dataSize = dataArray.length * dataArray.BYTES_PER_ELEMENT;
|
|
287
|
+
var dataPtr = this.VerovioModule._malloc(dataSize);
|
|
288
|
+
this.VerovioModule.HEAPU8.set(dataArray, dataPtr);
|
|
289
|
+
var res = this.proxy.loadZipDataBuffer(this.ptr, dataPtr, dataSize);
|
|
290
|
+
this.VerovioModule._free(dataPtr);
|
|
291
|
+
return res;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
redoLayout(options = {}) {
|
|
295
|
+
this.proxy.redoLayout(this.ptr, JSON.stringify(options));
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
redoPagePitchPosLayout() {
|
|
299
|
+
this.proxy.redoPagePitchPosLayout(this.ptr);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
renderData(data, options) {
|
|
303
|
+
return this.proxy.renderData(this.ptr, data, JSON.stringify(options));
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
renderToExpansionMap() {
|
|
307
|
+
return JSON.parse(this.proxy.renderToExpansionMap(this.ptr));
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
renderToMIDI() {
|
|
311
|
+
return this.proxy.renderToMIDI(this.ptr);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
renderToPAE() {
|
|
315
|
+
return this.proxy.renderToPAE(this.ptr);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
renderToSVG(pageNo = 1, xmlDeclaration = false) {
|
|
319
|
+
return this.proxy.renderToSVG(this.ptr, pageNo, xmlDeclaration);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
renderToTimemap(options = {}) {
|
|
323
|
+
return JSON.parse(this.proxy.renderToTimemap(this.ptr, JSON.stringify(options)));
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
resetOptions() {
|
|
327
|
+
this.proxy.resetOptions(this.ptr);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
resetXmlIdSeed(seed) {
|
|
331
|
+
return this.proxy.resetXmlIdSeed(this.ptr, seed);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
select(selection) {
|
|
335
|
+
return this.proxy.select(this.ptr, JSON.stringify(selection));
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
setOptions(options) {
|
|
339
|
+
options = this.preprocessOptions(options);
|
|
340
|
+
return this.proxy.setOptions(this.ptr, JSON.stringify(options));
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
validatePAE(data) {
|
|
344
|
+
if (data instanceof Object) {
|
|
345
|
+
data = JSON.stringify(data);
|
|
346
|
+
}
|
|
347
|
+
return JSON.parse(this.proxy.validatePAE(this.ptr, data));
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
preprocessOptions(options) {
|
|
351
|
+
// Nothing to do if we do not have 'fontAddCustom' set
|
|
352
|
+
if (!options.hasOwnProperty('fontAddCustom')) {
|
|
353
|
+
return options;
|
|
354
|
+
}
|
|
355
|
+
const files = options['fontAddCustom'];
|
|
356
|
+
let filesInBase64 = [];
|
|
357
|
+
// Get all the files and convert them to a base64 string if necessary
|
|
358
|
+
for ( const file of files ) {
|
|
359
|
+
// The file is already passed as base64 string - nothing to do
|
|
360
|
+
if (!/^https?:\/\//.test( file )) {
|
|
361
|
+
filesInBase64.push( file );
|
|
362
|
+
continue;
|
|
363
|
+
}
|
|
364
|
+
const request = new XMLHttpRequest();
|
|
365
|
+
request.open("GET", file, false); // `false` makes the request synchronous
|
|
366
|
+
request.send(null);
|
|
367
|
+
|
|
368
|
+
if (request.status === 200) {
|
|
369
|
+
filesInBase64.push(request.responseText);
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
console.error(`${file} could not be retrieved`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
options["fontAddCustom"] = filesInBase64;
|
|
376
|
+
return options;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// A pointer to the object - only one instance can be created for now
|
|
381
|
+
VerovioToolkit.instances = [];
|
|
382
|
+
|
|
383
|
+
const LOG_OFF = 0;
|
|
384
|
+
const LOG_ERROR = 1;
|
|
385
|
+
const LOG_WARNING = 2;
|
|
386
|
+
const LOG_INFO = 3;
|
|
387
|
+
const LOG_DEBUG = 4;
|
|
388
|
+
|
|
389
|
+
function enableLog(level, VerovioModule) {
|
|
390
|
+
return VerovioModule.cwrap("enableLog", null, ["number"])(level);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
function enableLogToBuffer(value, VerovioModule) {
|
|
394
|
+
return VerovioModule.cwrap("enableLogToBuffer", null, ["number"])(value);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
export { LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_OFF, LOG_WARNING, VerovioToolkit, enableLog, enableLogToBuffer };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pepperscore",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "An embeddable, browser-only music score reader for React: MusicXML, MXL, MIDI, MEI and ABC, engraved by Verovio, with playback.",
|
|
5
5
|
"license": "MIT AND LGPL-3.0-or-later",
|
|
6
6
|
"type": "module",
|
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
"import": "./dist/index.js",
|
|
11
11
|
"default": "./dist/index.js"
|
|
12
12
|
},
|
|
13
|
+
"./audio": {
|
|
14
|
+
"types": "./dist/audio.d.ts",
|
|
15
|
+
"import": "./dist/audio.js",
|
|
16
|
+
"default": "./dist/audio.js"
|
|
17
|
+
},
|
|
18
|
+
"./instruments": {
|
|
19
|
+
"types": "./dist/instruments.d.ts",
|
|
20
|
+
"import": "./dist/instruments.js",
|
|
21
|
+
"default": "./dist/instruments.js"
|
|
22
|
+
},
|
|
13
23
|
"./style.css": "./dist/style.css",
|
|
14
24
|
"./package.json": "./package.json"
|
|
15
25
|
},
|
|
@@ -28,6 +38,7 @@
|
|
|
28
38
|
"scripts": {
|
|
29
39
|
"build": "vite build && tsc -p tsconfig.build.json && node scripts/finalize-css.mjs && node scripts/finalize-dist.mjs",
|
|
30
40
|
"check": "tsc --noEmit -p .",
|
|
41
|
+
"test": "vitest run",
|
|
31
42
|
"prepack": "npm run build"
|
|
32
43
|
},
|
|
33
44
|
"peerDependencies": {
|
|
@@ -50,6 +61,7 @@
|
|
|
50
61
|
"react-dom": "^19.2.0",
|
|
51
62
|
"typescript": "^5.9.3",
|
|
52
63
|
"verovio": "6.3.0",
|
|
53
|
-
"vite": "^8.3.1"
|
|
64
|
+
"vite": "^8.3.1",
|
|
65
|
+
"vitest": "^3.0.0"
|
|
54
66
|
}
|
|
55
67
|
}
|