musicxml-io 0.1.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/LICENSE +21 -0
- package/README.md +167 -0
- package/dist/accessors/index.d.mts +82 -0
- package/dist/accessors/index.d.ts +82 -0
- package/dist/accessors/index.js +239 -0
- package/dist/accessors/index.js.map +1 -0
- package/dist/accessors/index.mjs +198 -0
- package/dist/accessors/index.mjs.map +1 -0
- package/dist/index.d.mts +285 -0
- package/dist/index.d.ts +285 -0
- package/dist/index.js +6033 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +5932 -0
- package/dist/index.mjs.map +1 -0
- package/dist/operations/index.d.mts +92 -0
- package/dist/operations/index.d.ts +92 -0
- package/dist/operations/index.js +352 -0
- package/dist/operations/index.js.map +1 -0
- package/dist/operations/index.mjs +315 -0
- package/dist/operations/index.mjs.map +1 -0
- package/dist/query/index.d.mts +103 -0
- package/dist/query/index.d.ts +103 -0
- package/dist/query/index.js +272 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/index.mjs +232 -0
- package/dist/query/index.mjs.map +1 -0
- package/dist/types-DC_TnJu_.d.mts +797 -0
- package/dist/types-DC_TnJu_.d.ts +797 -0
- package/package.json +80 -0
|
@@ -0,0 +1,797 @@
|
|
|
1
|
+
interface Score {
|
|
2
|
+
metadata: ScoreMetadata;
|
|
3
|
+
partList: PartListEntry[];
|
|
4
|
+
parts: Part[];
|
|
5
|
+
defaults?: Defaults;
|
|
6
|
+
credits?: Credit[];
|
|
7
|
+
}
|
|
8
|
+
interface ScoreMetadata {
|
|
9
|
+
workTitle?: string;
|
|
10
|
+
workNumber?: string;
|
|
11
|
+
movementTitle?: string;
|
|
12
|
+
movementNumber?: string;
|
|
13
|
+
creators?: Creator[];
|
|
14
|
+
rights?: string[];
|
|
15
|
+
encoding?: Encoding;
|
|
16
|
+
source?: string;
|
|
17
|
+
miscellaneous?: MiscellaneousField[];
|
|
18
|
+
}
|
|
19
|
+
interface Creator {
|
|
20
|
+
type?: string;
|
|
21
|
+
value: string;
|
|
22
|
+
}
|
|
23
|
+
interface Encoding {
|
|
24
|
+
software?: string[];
|
|
25
|
+
encodingDate?: string;
|
|
26
|
+
encoder?: string[];
|
|
27
|
+
encodingDescription?: string;
|
|
28
|
+
supports?: Support[];
|
|
29
|
+
}
|
|
30
|
+
interface Support {
|
|
31
|
+
element: string;
|
|
32
|
+
type: 'yes' | 'no';
|
|
33
|
+
attribute?: string;
|
|
34
|
+
value?: string;
|
|
35
|
+
}
|
|
36
|
+
interface MiscellaneousField {
|
|
37
|
+
name: string;
|
|
38
|
+
value: string;
|
|
39
|
+
}
|
|
40
|
+
interface Defaults {
|
|
41
|
+
scaling?: {
|
|
42
|
+
millimeters: number;
|
|
43
|
+
tenths: number;
|
|
44
|
+
};
|
|
45
|
+
pageLayout?: PageLayout;
|
|
46
|
+
systemLayout?: SystemLayout;
|
|
47
|
+
staffLayout?: {
|
|
48
|
+
number?: number;
|
|
49
|
+
staffDistance?: number;
|
|
50
|
+
}[];
|
|
51
|
+
appearance?: Record<string, unknown>;
|
|
52
|
+
musicFont?: FontInfo;
|
|
53
|
+
wordFont?: FontInfo;
|
|
54
|
+
lyricFont?: LyricFontInfo[];
|
|
55
|
+
lyricLanguage?: LyricLanguageInfo[];
|
|
56
|
+
}
|
|
57
|
+
interface LyricFontInfo extends FontInfo {
|
|
58
|
+
number?: number;
|
|
59
|
+
name?: string;
|
|
60
|
+
}
|
|
61
|
+
interface LyricLanguageInfo {
|
|
62
|
+
number?: number;
|
|
63
|
+
name?: string;
|
|
64
|
+
xmlLang: string;
|
|
65
|
+
}
|
|
66
|
+
interface PageLayout {
|
|
67
|
+
pageHeight?: number;
|
|
68
|
+
pageWidth?: number;
|
|
69
|
+
pageMargins?: PageMargins[];
|
|
70
|
+
}
|
|
71
|
+
interface PageMargins {
|
|
72
|
+
type?: 'odd' | 'even' | 'both';
|
|
73
|
+
leftMargin?: number;
|
|
74
|
+
rightMargin?: number;
|
|
75
|
+
topMargin?: number;
|
|
76
|
+
bottomMargin?: number;
|
|
77
|
+
}
|
|
78
|
+
interface SystemLayout {
|
|
79
|
+
systemMargins?: {
|
|
80
|
+
leftMargin?: number;
|
|
81
|
+
rightMargin?: number;
|
|
82
|
+
};
|
|
83
|
+
systemDistance?: number;
|
|
84
|
+
topSystemDistance?: number;
|
|
85
|
+
}
|
|
86
|
+
interface FontInfo {
|
|
87
|
+
fontFamily?: string;
|
|
88
|
+
fontSize?: string;
|
|
89
|
+
fontStyle?: string;
|
|
90
|
+
fontWeight?: string;
|
|
91
|
+
}
|
|
92
|
+
interface Credit {
|
|
93
|
+
page?: number;
|
|
94
|
+
creditType?: string[];
|
|
95
|
+
creditWords?: CreditWords[];
|
|
96
|
+
creditImage?: {
|
|
97
|
+
source: string;
|
|
98
|
+
type: string;
|
|
99
|
+
height?: number;
|
|
100
|
+
width?: number;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
interface CreditWords {
|
|
104
|
+
text: string;
|
|
105
|
+
defaultX?: number;
|
|
106
|
+
defaultY?: number;
|
|
107
|
+
fontSize?: string;
|
|
108
|
+
fontWeight?: string;
|
|
109
|
+
fontStyle?: string;
|
|
110
|
+
justify?: string;
|
|
111
|
+
halign?: string;
|
|
112
|
+
valign?: string;
|
|
113
|
+
letterSpacing?: string;
|
|
114
|
+
xmlLang?: string;
|
|
115
|
+
xmlSpace?: string;
|
|
116
|
+
}
|
|
117
|
+
type PartListEntry = PartInfo | PartGroup;
|
|
118
|
+
interface PartInfo {
|
|
119
|
+
type: 'score-part';
|
|
120
|
+
id: string;
|
|
121
|
+
name?: string;
|
|
122
|
+
namePrintObject?: boolean;
|
|
123
|
+
partNameDisplay?: DisplayText[];
|
|
124
|
+
abbreviation?: string;
|
|
125
|
+
abbreviationPrintObject?: boolean;
|
|
126
|
+
partAbbreviationDisplay?: DisplayText[];
|
|
127
|
+
scoreInstruments?: ScoreInstrument[];
|
|
128
|
+
midiDevices?: MidiDevice[];
|
|
129
|
+
midiInstruments?: MidiInstrument[];
|
|
130
|
+
groups?: string[];
|
|
131
|
+
}
|
|
132
|
+
interface DisplayText {
|
|
133
|
+
text: string;
|
|
134
|
+
fontFamily?: string;
|
|
135
|
+
fontSize?: string;
|
|
136
|
+
fontStyle?: string;
|
|
137
|
+
fontWeight?: string;
|
|
138
|
+
xmlSpace?: string;
|
|
139
|
+
}
|
|
140
|
+
interface ScoreInstrument {
|
|
141
|
+
id: string;
|
|
142
|
+
name: string;
|
|
143
|
+
abbreviation?: string;
|
|
144
|
+
sound?: string;
|
|
145
|
+
solo?: boolean;
|
|
146
|
+
ensemble?: number;
|
|
147
|
+
}
|
|
148
|
+
interface MidiDevice {
|
|
149
|
+
id?: string;
|
|
150
|
+
port?: number;
|
|
151
|
+
}
|
|
152
|
+
interface MidiInstrument {
|
|
153
|
+
id: string;
|
|
154
|
+
channel?: number;
|
|
155
|
+
name?: string;
|
|
156
|
+
bank?: number;
|
|
157
|
+
program?: number;
|
|
158
|
+
unpitched?: number;
|
|
159
|
+
volume?: number;
|
|
160
|
+
pan?: number;
|
|
161
|
+
elevation?: number;
|
|
162
|
+
}
|
|
163
|
+
interface PartGroup {
|
|
164
|
+
type: 'part-group';
|
|
165
|
+
groupType: 'start' | 'stop';
|
|
166
|
+
number?: number;
|
|
167
|
+
groupName?: string;
|
|
168
|
+
groupNameDisplay?: DisplayText[];
|
|
169
|
+
groupAbbreviation?: string;
|
|
170
|
+
groupAbbreviationDisplay?: DisplayText[];
|
|
171
|
+
groupSymbol?: 'none' | 'brace' | 'line' | 'bracket' | 'square';
|
|
172
|
+
groupSymbolDefaultX?: number;
|
|
173
|
+
groupBarline?: 'yes' | 'no' | 'Mensurstrich';
|
|
174
|
+
}
|
|
175
|
+
interface Part {
|
|
176
|
+
id: string;
|
|
177
|
+
measures: Measure[];
|
|
178
|
+
}
|
|
179
|
+
interface Measure {
|
|
180
|
+
number: string;
|
|
181
|
+
width?: number;
|
|
182
|
+
implicit?: boolean;
|
|
183
|
+
attributes?: MeasureAttributes;
|
|
184
|
+
entries: MeasureEntry[];
|
|
185
|
+
barlines?: Barline[];
|
|
186
|
+
print?: Print;
|
|
187
|
+
}
|
|
188
|
+
interface Print {
|
|
189
|
+
newSystem?: boolean;
|
|
190
|
+
newPage?: boolean;
|
|
191
|
+
blankPage?: number;
|
|
192
|
+
pageNumber?: string;
|
|
193
|
+
systemLayout?: SystemLayout;
|
|
194
|
+
pageLayout?: PageLayout;
|
|
195
|
+
staffLayouts?: {
|
|
196
|
+
number?: number;
|
|
197
|
+
staffDistance?: number;
|
|
198
|
+
}[];
|
|
199
|
+
measureLayout?: {
|
|
200
|
+
measureDistance?: number;
|
|
201
|
+
};
|
|
202
|
+
measureNumbering?: MeasureNumbering;
|
|
203
|
+
partNameDisplay?: DisplayText[];
|
|
204
|
+
partAbbreviationDisplay?: DisplayText[];
|
|
205
|
+
}
|
|
206
|
+
interface MeasureNumbering {
|
|
207
|
+
value: string;
|
|
208
|
+
system?: 'only-top' | 'only-bottom' | 'all-system-parts' | 'none';
|
|
209
|
+
}
|
|
210
|
+
interface MeasureAttributes {
|
|
211
|
+
divisions?: number;
|
|
212
|
+
time?: TimeSignature;
|
|
213
|
+
times?: TimeSignature[];
|
|
214
|
+
key?: KeySignature;
|
|
215
|
+
keys?: KeySignature[];
|
|
216
|
+
clef?: Clef[];
|
|
217
|
+
staves?: number;
|
|
218
|
+
transpose?: Transpose;
|
|
219
|
+
transposes?: Transpose[];
|
|
220
|
+
staffDetails?: StaffDetails[];
|
|
221
|
+
measureStyle?: MeasureStyle[];
|
|
222
|
+
}
|
|
223
|
+
interface StaffDetails {
|
|
224
|
+
number?: number;
|
|
225
|
+
staffType?: 'ossia' | 'cue' | 'editorial' | 'regular' | 'alternate';
|
|
226
|
+
staffLines?: number;
|
|
227
|
+
staffTuning?: StaffTuning[];
|
|
228
|
+
capo?: number;
|
|
229
|
+
staffSize?: number;
|
|
230
|
+
staffSizeScaling?: number;
|
|
231
|
+
showFrets?: 'numbers' | 'letters';
|
|
232
|
+
printObject?: boolean;
|
|
233
|
+
}
|
|
234
|
+
interface StaffTuning {
|
|
235
|
+
line: number;
|
|
236
|
+
tuningStep: string;
|
|
237
|
+
tuningOctave: number;
|
|
238
|
+
tuningAlter?: number;
|
|
239
|
+
}
|
|
240
|
+
interface MeasureStyle {
|
|
241
|
+
number?: number;
|
|
242
|
+
multipleRest?: number;
|
|
243
|
+
measureRepeat?: {
|
|
244
|
+
type: 'start' | 'stop';
|
|
245
|
+
slashes?: number;
|
|
246
|
+
};
|
|
247
|
+
beatRepeat?: {
|
|
248
|
+
type: 'start' | 'stop';
|
|
249
|
+
slashes?: number;
|
|
250
|
+
};
|
|
251
|
+
slash?: {
|
|
252
|
+
type: 'start' | 'stop';
|
|
253
|
+
useDots?: boolean;
|
|
254
|
+
useStems?: boolean;
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
interface TimeSignature {
|
|
258
|
+
beats: string;
|
|
259
|
+
beatType: number;
|
|
260
|
+
beatsList?: number[];
|
|
261
|
+
beatTypeList?: number[];
|
|
262
|
+
symbol?: 'common' | 'cut' | 'single-number' | 'note' | 'dotted-note' | 'normal';
|
|
263
|
+
printObject?: boolean;
|
|
264
|
+
senzaMisura?: boolean;
|
|
265
|
+
}
|
|
266
|
+
interface KeySignature {
|
|
267
|
+
fifths: number;
|
|
268
|
+
mode?: 'major' | 'minor' | 'dorian' | 'phrygian' | 'lydian' | 'mixolydian' | 'aeolian' | 'ionian' | 'locrian';
|
|
269
|
+
cancel?: number;
|
|
270
|
+
cancelLocation?: 'left' | 'right' | 'before-barline';
|
|
271
|
+
number?: number;
|
|
272
|
+
printObject?: boolean;
|
|
273
|
+
keySteps?: string[];
|
|
274
|
+
keyAlters?: number[];
|
|
275
|
+
keyOctaves?: KeyOctave[];
|
|
276
|
+
}
|
|
277
|
+
interface KeyOctave {
|
|
278
|
+
number: number;
|
|
279
|
+
octave: number;
|
|
280
|
+
cancel?: boolean;
|
|
281
|
+
}
|
|
282
|
+
interface Clef {
|
|
283
|
+
sign: 'G' | 'F' | 'C' | 'percussion' | 'TAB';
|
|
284
|
+
line: number;
|
|
285
|
+
staff?: number;
|
|
286
|
+
clefOctaveChange?: number;
|
|
287
|
+
}
|
|
288
|
+
interface Transpose {
|
|
289
|
+
diatonic: number;
|
|
290
|
+
chromatic: number;
|
|
291
|
+
octaveChange?: number;
|
|
292
|
+
}
|
|
293
|
+
interface Barline {
|
|
294
|
+
location: 'left' | 'right' | 'middle';
|
|
295
|
+
barStyle?: 'regular' | 'dotted' | 'dashed' | 'heavy' | 'light-light' | 'light-heavy' | 'heavy-light' | 'heavy-heavy' | 'none';
|
|
296
|
+
repeat?: {
|
|
297
|
+
direction: 'forward' | 'backward';
|
|
298
|
+
times?: number;
|
|
299
|
+
};
|
|
300
|
+
ending?: {
|
|
301
|
+
number: string;
|
|
302
|
+
type: 'start' | 'stop' | 'discontinue';
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
type MeasureEntry = NoteEntry | BackupEntry | ForwardEntry | DirectionEntry | HarmonyEntry | FiguredBassEntry | SoundEntry | AttributesEntry;
|
|
306
|
+
interface AttributesEntry {
|
|
307
|
+
type: 'attributes';
|
|
308
|
+
attributes: MeasureAttributes;
|
|
309
|
+
}
|
|
310
|
+
interface NoteEntry {
|
|
311
|
+
type: 'note';
|
|
312
|
+
pitch?: Pitch;
|
|
313
|
+
rest?: RestInfo;
|
|
314
|
+
unpitched?: {
|
|
315
|
+
displayStep?: string;
|
|
316
|
+
displayOctave?: number;
|
|
317
|
+
};
|
|
318
|
+
duration: number;
|
|
319
|
+
voice: number;
|
|
320
|
+
staff?: number;
|
|
321
|
+
chord?: boolean;
|
|
322
|
+
cue?: boolean;
|
|
323
|
+
instrument?: string;
|
|
324
|
+
dynamics?: number;
|
|
325
|
+
printObject?: boolean;
|
|
326
|
+
printSpacing?: boolean;
|
|
327
|
+
defaultX?: number;
|
|
328
|
+
defaultY?: number;
|
|
329
|
+
relativeX?: number;
|
|
330
|
+
relativeY?: number;
|
|
331
|
+
noteType?: NoteType;
|
|
332
|
+
noteTypeSize?: string;
|
|
333
|
+
dots?: number;
|
|
334
|
+
accidental?: AccidentalInfo;
|
|
335
|
+
stem?: StemInfo;
|
|
336
|
+
notehead?: NoteheadInfo;
|
|
337
|
+
noteheadText?: string;
|
|
338
|
+
tie?: TieInfo;
|
|
339
|
+
ties?: TieInfo[];
|
|
340
|
+
beam?: BeamInfo[];
|
|
341
|
+
notations?: Notation[];
|
|
342
|
+
lyrics?: Lyric[];
|
|
343
|
+
grace?: {
|
|
344
|
+
slash?: boolean;
|
|
345
|
+
stealTimePrevious?: number;
|
|
346
|
+
stealTimeFollowing?: number;
|
|
347
|
+
};
|
|
348
|
+
timeModification?: {
|
|
349
|
+
actualNotes: number;
|
|
350
|
+
normalNotes: number;
|
|
351
|
+
normalType?: NoteType;
|
|
352
|
+
normalDots?: number;
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
interface BackupEntry {
|
|
356
|
+
type: 'backup';
|
|
357
|
+
duration: number;
|
|
358
|
+
}
|
|
359
|
+
interface ForwardEntry {
|
|
360
|
+
type: 'forward';
|
|
361
|
+
duration: number;
|
|
362
|
+
voice?: number;
|
|
363
|
+
staff?: number;
|
|
364
|
+
}
|
|
365
|
+
interface DirectionSound {
|
|
366
|
+
tempo?: number;
|
|
367
|
+
dynamics?: number;
|
|
368
|
+
midiInstrument?: {
|
|
369
|
+
id: string;
|
|
370
|
+
midiProgram?: number;
|
|
371
|
+
midiChannel?: number;
|
|
372
|
+
volume?: number;
|
|
373
|
+
pan?: number;
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
interface DirectionEntry {
|
|
377
|
+
type: 'direction';
|
|
378
|
+
directionTypes: DirectionType[];
|
|
379
|
+
placement?: 'above' | 'below';
|
|
380
|
+
directive?: boolean;
|
|
381
|
+
staff?: number;
|
|
382
|
+
voice?: number;
|
|
383
|
+
offset?: number;
|
|
384
|
+
offsetSound?: boolean;
|
|
385
|
+
sound?: DirectionSound;
|
|
386
|
+
system?: 'only-top' | 'also-top' | 'none';
|
|
387
|
+
}
|
|
388
|
+
interface Swing {
|
|
389
|
+
straight?: boolean;
|
|
390
|
+
first?: number;
|
|
391
|
+
second?: number;
|
|
392
|
+
swingType?: string;
|
|
393
|
+
}
|
|
394
|
+
interface SoundEntry {
|
|
395
|
+
type: 'sound';
|
|
396
|
+
tempo?: number;
|
|
397
|
+
dynamics?: number;
|
|
398
|
+
dacapo?: boolean;
|
|
399
|
+
segno?: string;
|
|
400
|
+
dalsegno?: string;
|
|
401
|
+
coda?: string;
|
|
402
|
+
tocoda?: string;
|
|
403
|
+
fine?: boolean;
|
|
404
|
+
forwardRepeat?: boolean;
|
|
405
|
+
swing?: Swing;
|
|
406
|
+
}
|
|
407
|
+
interface HarmonyEntry {
|
|
408
|
+
type: 'harmony';
|
|
409
|
+
root: {
|
|
410
|
+
rootStep: string;
|
|
411
|
+
rootAlter?: number;
|
|
412
|
+
};
|
|
413
|
+
kind: string;
|
|
414
|
+
kindText?: string;
|
|
415
|
+
bass?: {
|
|
416
|
+
bassStep: string;
|
|
417
|
+
bassAlter?: number;
|
|
418
|
+
};
|
|
419
|
+
degrees?: HarmonyDegree[];
|
|
420
|
+
frame?: HarmonyFrame;
|
|
421
|
+
staff?: number;
|
|
422
|
+
placement?: 'above' | 'below';
|
|
423
|
+
offset?: number;
|
|
424
|
+
printFrame?: boolean;
|
|
425
|
+
defaultY?: number;
|
|
426
|
+
fontSize?: string;
|
|
427
|
+
halign?: string;
|
|
428
|
+
}
|
|
429
|
+
interface HarmonyDegree {
|
|
430
|
+
degreeValue: number;
|
|
431
|
+
degreeAlter?: number;
|
|
432
|
+
degreeType: 'add' | 'alter' | 'subtract';
|
|
433
|
+
}
|
|
434
|
+
interface HarmonyFrame {
|
|
435
|
+
frameStrings?: number;
|
|
436
|
+
frameFrets?: number;
|
|
437
|
+
firstFret?: number;
|
|
438
|
+
firstFretText?: string;
|
|
439
|
+
firstFretLocation?: 'left' | 'right';
|
|
440
|
+
frameNotes?: FrameNote[];
|
|
441
|
+
}
|
|
442
|
+
interface FrameNote {
|
|
443
|
+
string: number;
|
|
444
|
+
fret: number;
|
|
445
|
+
fingering?: string;
|
|
446
|
+
barre?: 'start' | 'stop';
|
|
447
|
+
}
|
|
448
|
+
interface FiguredBassEntry {
|
|
449
|
+
type: 'figured-bass';
|
|
450
|
+
figures: Figure[];
|
|
451
|
+
duration?: number;
|
|
452
|
+
parentheses?: boolean;
|
|
453
|
+
}
|
|
454
|
+
interface Figure {
|
|
455
|
+
figureNumber?: string;
|
|
456
|
+
prefix?: string;
|
|
457
|
+
suffix?: string;
|
|
458
|
+
extend?: boolean | {
|
|
459
|
+
type?: 'start' | 'stop' | 'continue';
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
interface Pitch {
|
|
463
|
+
step: 'C' | 'D' | 'E' | 'F' | 'G' | 'A' | 'B';
|
|
464
|
+
octave: number;
|
|
465
|
+
alter?: number;
|
|
466
|
+
}
|
|
467
|
+
interface RestInfo {
|
|
468
|
+
measure?: boolean;
|
|
469
|
+
displayStep?: string;
|
|
470
|
+
displayOctave?: number;
|
|
471
|
+
}
|
|
472
|
+
type NoteType = 'maxima' | 'long' | 'breve' | 'whole' | 'half' | 'quarter' | 'eighth' | '16th' | '32nd' | '64th' | '128th' | '256th' | '512th' | '1024th';
|
|
473
|
+
type Accidental = 'sharp' | 'natural' | 'flat' | 'double-sharp' | 'double-flat' | 'sharp-sharp' | 'flat-flat' | 'natural-sharp' | 'natural-flat' | 'quarter-flat' | 'quarter-sharp' | 'three-quarters-flat' | 'three-quarters-sharp' | 'sharp-down' | 'sharp-up' | 'natural-down' | 'natural-up' | 'flat-down' | 'flat-up' | 'double-sharp-down' | 'double-sharp-up' | 'flat-flat-down' | 'flat-flat-up' | 'arrow-down' | 'arrow-up' | 'triple-sharp' | 'triple-flat' | 'slash-quarter-sharp' | 'slash-sharp' | 'slash-flat' | 'double-slash-flat' | 'sharp-1' | 'sharp-2' | 'sharp-3' | 'sharp-5' | 'flat-1' | 'flat-2' | 'flat-3' | 'flat-4' | 'sori' | 'koron' | 'other';
|
|
474
|
+
interface AccidentalInfo {
|
|
475
|
+
value: Accidental;
|
|
476
|
+
cautionary?: boolean;
|
|
477
|
+
editorial?: boolean;
|
|
478
|
+
parentheses?: boolean;
|
|
479
|
+
bracket?: boolean;
|
|
480
|
+
relativeX?: number;
|
|
481
|
+
relativeY?: number;
|
|
482
|
+
color?: string;
|
|
483
|
+
size?: string;
|
|
484
|
+
fontSize?: string;
|
|
485
|
+
}
|
|
486
|
+
interface NoteheadInfo {
|
|
487
|
+
value: NoteheadValue;
|
|
488
|
+
filled?: boolean;
|
|
489
|
+
parentheses?: boolean;
|
|
490
|
+
}
|
|
491
|
+
interface StemInfo {
|
|
492
|
+
value: 'up' | 'down' | 'none' | 'double';
|
|
493
|
+
defaultX?: number;
|
|
494
|
+
defaultY?: number;
|
|
495
|
+
}
|
|
496
|
+
type NoteheadValue = 'slash' | 'triangle' | 'diamond' | 'square' | 'cross' | 'x' | 'circle-x' | 'inverted triangle' | 'arrow down' | 'arrow up' | 'circled' | 'slashed' | 'back slashed' | 'normal' | 'cluster' | 'circle dot' | 'left triangle' | 'rectangle' | 'none' | 'do' | 're' | 'mi' | 'fa' | 'fa up' | 'so' | 'la' | 'ti' | 'other';
|
|
497
|
+
interface TieInfo {
|
|
498
|
+
type: 'start' | 'stop' | 'continue';
|
|
499
|
+
}
|
|
500
|
+
interface BeamInfo {
|
|
501
|
+
number: number;
|
|
502
|
+
type: 'begin' | 'continue' | 'end' | 'forward hook' | 'backward hook';
|
|
503
|
+
}
|
|
504
|
+
type Notation = ArticulationNotation | OrnamentNotation | TechnicalNotation | SlurNotation | TiedNotation | TupletNotation | DynamicsNotation | FermataNotation | ArpeggiateNotation | GlissandoNotation | SlideNotation | OtherNotation;
|
|
505
|
+
interface BaseNotation {
|
|
506
|
+
placement?: 'above' | 'below';
|
|
507
|
+
notationsIndex?: number;
|
|
508
|
+
articulationsIndex?: number;
|
|
509
|
+
}
|
|
510
|
+
interface ArticulationNotation extends BaseNotation {
|
|
511
|
+
type: 'articulation';
|
|
512
|
+
articulation: ArticulationType;
|
|
513
|
+
strongAccentType?: 'up' | 'down';
|
|
514
|
+
defaultX?: number;
|
|
515
|
+
defaultY?: number;
|
|
516
|
+
}
|
|
517
|
+
type ArticulationType = 'accent' | 'strong-accent' | 'staccato' | 'staccatissimo' | 'tenuto' | 'detached-legato' | 'marcato' | 'spiccato' | 'scoop' | 'plop' | 'doit' | 'falloff' | 'breath-mark' | 'caesura' | 'stress' | 'unstress' | 'soft-accent';
|
|
518
|
+
interface AccidentalMarkInfo {
|
|
519
|
+
value: Accidental;
|
|
520
|
+
placement?: 'above' | 'below';
|
|
521
|
+
}
|
|
522
|
+
interface OrnamentNotation extends BaseNotation {
|
|
523
|
+
type: 'ornament';
|
|
524
|
+
ornament: OrnamentType;
|
|
525
|
+
accidentalMark?: Accidental;
|
|
526
|
+
accidentalMarks?: AccidentalMarkInfo[];
|
|
527
|
+
wavyLineType?: 'start' | 'stop' | 'continue';
|
|
528
|
+
number?: number;
|
|
529
|
+
tremoloMarks?: number;
|
|
530
|
+
tremoloType?: 'start' | 'stop' | 'single' | 'unmeasured';
|
|
531
|
+
defaultX?: number;
|
|
532
|
+
defaultY?: number;
|
|
533
|
+
}
|
|
534
|
+
type OrnamentType = 'trill-mark' | 'mordent' | 'inverted-mordent' | 'turn' | 'inverted-turn' | 'delayed-turn' | 'delayed-inverted-turn' | 'vertical-turn' | 'shake' | 'wavy-line' | 'schleifer' | 'tremolo' | 'haydn';
|
|
535
|
+
interface TechnicalNotation extends BaseNotation {
|
|
536
|
+
type: 'technical';
|
|
537
|
+
technical: TechnicalType;
|
|
538
|
+
string?: number;
|
|
539
|
+
fret?: number;
|
|
540
|
+
fingering?: string;
|
|
541
|
+
fingeringSubstitution?: boolean;
|
|
542
|
+
fingeringAlternate?: boolean;
|
|
543
|
+
text?: string;
|
|
544
|
+
bendAlter?: number;
|
|
545
|
+
preBend?: boolean;
|
|
546
|
+
release?: boolean;
|
|
547
|
+
withBar?: number;
|
|
548
|
+
harmonicNatural?: boolean;
|
|
549
|
+
harmonicArtificial?: boolean;
|
|
550
|
+
basePitch?: boolean;
|
|
551
|
+
touchingPitch?: boolean;
|
|
552
|
+
soundingPitch?: boolean;
|
|
553
|
+
startStop?: 'start' | 'stop';
|
|
554
|
+
substitution?: boolean;
|
|
555
|
+
defaultX?: number;
|
|
556
|
+
defaultY?: number;
|
|
557
|
+
}
|
|
558
|
+
type TechnicalType = 'up-bow' | 'down-bow' | 'harmonic' | 'open-string' | 'thumb-position' | 'fingering' | 'pluck' | 'double-tongue' | 'triple-tongue' | 'stopped' | 'snap-pizzicato' | 'fret' | 'string' | 'hammer-on' | 'pull-off' | 'bend' | 'tap' | 'heel' | 'toe' | 'fingernails' | 'hole' | 'arrow' | 'handbell' | 'brass-bend' | 'flip' | 'smear' | 'open' | 'half-muted' | 'harmon-mute' | 'golpe' | 'other-technical';
|
|
559
|
+
interface SlurNotation extends BaseNotation {
|
|
560
|
+
type: 'slur';
|
|
561
|
+
slurType: 'start' | 'stop' | 'continue';
|
|
562
|
+
number?: number;
|
|
563
|
+
lineType?: 'solid' | 'dashed' | 'dotted' | 'wavy';
|
|
564
|
+
defaultX?: number;
|
|
565
|
+
defaultY?: number;
|
|
566
|
+
bezierX?: number;
|
|
567
|
+
bezierY?: number;
|
|
568
|
+
bezierX2?: number;
|
|
569
|
+
bezierY2?: number;
|
|
570
|
+
}
|
|
571
|
+
interface TiedNotation extends BaseNotation {
|
|
572
|
+
type: 'tied';
|
|
573
|
+
tiedType: 'start' | 'stop' | 'continue' | 'let-ring';
|
|
574
|
+
number?: number;
|
|
575
|
+
orientation?: 'over' | 'under';
|
|
576
|
+
}
|
|
577
|
+
interface TupletNotation extends BaseNotation {
|
|
578
|
+
type: 'tuplet';
|
|
579
|
+
tupletType: 'start' | 'stop';
|
|
580
|
+
number?: number;
|
|
581
|
+
bracket?: boolean;
|
|
582
|
+
showNumber?: 'actual' | 'both' | 'none';
|
|
583
|
+
showType?: 'actual' | 'both' | 'none';
|
|
584
|
+
lineShape?: 'straight' | 'curved';
|
|
585
|
+
tupletActual?: {
|
|
586
|
+
tupletNumber?: number;
|
|
587
|
+
tupletType?: NoteType;
|
|
588
|
+
tupletDots?: number;
|
|
589
|
+
};
|
|
590
|
+
tupletNormal?: {
|
|
591
|
+
tupletNumber?: number;
|
|
592
|
+
tupletType?: NoteType;
|
|
593
|
+
tupletDots?: number;
|
|
594
|
+
};
|
|
595
|
+
}
|
|
596
|
+
interface DynamicsNotation extends BaseNotation {
|
|
597
|
+
type: 'dynamics';
|
|
598
|
+
dynamics: DynamicsValue[];
|
|
599
|
+
otherDynamics?: string;
|
|
600
|
+
}
|
|
601
|
+
interface FermataNotation extends BaseNotation {
|
|
602
|
+
type: 'fermata';
|
|
603
|
+
shape?: 'normal' | 'angled' | 'square' | 'double-angled' | 'double-square' | 'double-dot' | 'half-curve' | 'curlew';
|
|
604
|
+
fermataType?: 'upright' | 'inverted';
|
|
605
|
+
defaultX?: number;
|
|
606
|
+
defaultY?: number;
|
|
607
|
+
}
|
|
608
|
+
interface ArpeggiateNotation extends BaseNotation {
|
|
609
|
+
type: 'arpeggiate';
|
|
610
|
+
direction?: 'up' | 'down';
|
|
611
|
+
number?: number;
|
|
612
|
+
}
|
|
613
|
+
interface GlissandoNotation extends BaseNotation {
|
|
614
|
+
type: 'glissando';
|
|
615
|
+
glissandoType: 'start' | 'stop';
|
|
616
|
+
number?: number;
|
|
617
|
+
lineType?: 'solid' | 'dashed' | 'dotted' | 'wavy';
|
|
618
|
+
text?: string;
|
|
619
|
+
}
|
|
620
|
+
interface SlideNotation extends BaseNotation {
|
|
621
|
+
type: 'slide';
|
|
622
|
+
slideType: 'start' | 'stop';
|
|
623
|
+
number?: number;
|
|
624
|
+
lineType?: 'solid' | 'dashed' | 'dotted' | 'wavy';
|
|
625
|
+
}
|
|
626
|
+
interface OtherNotation extends BaseNotation {
|
|
627
|
+
type: 'other-notation';
|
|
628
|
+
name: string;
|
|
629
|
+
text?: string;
|
|
630
|
+
}
|
|
631
|
+
type DirectionType = {
|
|
632
|
+
kind: 'dynamics';
|
|
633
|
+
value: DynamicsValue;
|
|
634
|
+
defaultX?: number;
|
|
635
|
+
defaultY?: number;
|
|
636
|
+
relativeX?: number;
|
|
637
|
+
halign?: string;
|
|
638
|
+
} | {
|
|
639
|
+
kind: 'wedge';
|
|
640
|
+
type: 'crescendo' | 'diminuendo' | 'stop';
|
|
641
|
+
spread?: number;
|
|
642
|
+
defaultY?: number;
|
|
643
|
+
relativeX?: number;
|
|
644
|
+
} | {
|
|
645
|
+
kind: 'metronome';
|
|
646
|
+
beatUnit: NoteType;
|
|
647
|
+
perMinute?: number | string;
|
|
648
|
+
beatUnitDot?: boolean;
|
|
649
|
+
beatUnit2?: NoteType;
|
|
650
|
+
beatUnitDot2?: boolean;
|
|
651
|
+
parentheses?: boolean;
|
|
652
|
+
defaultY?: number;
|
|
653
|
+
fontFamily?: string;
|
|
654
|
+
fontSize?: string;
|
|
655
|
+
} | {
|
|
656
|
+
kind: 'words';
|
|
657
|
+
text: string;
|
|
658
|
+
defaultX?: number;
|
|
659
|
+
defaultY?: number;
|
|
660
|
+
relativeX?: number;
|
|
661
|
+
fontFamily?: string;
|
|
662
|
+
fontSize?: string;
|
|
663
|
+
fontStyle?: string;
|
|
664
|
+
fontWeight?: string;
|
|
665
|
+
xmlLang?: string;
|
|
666
|
+
justify?: string;
|
|
667
|
+
color?: string;
|
|
668
|
+
xmlSpace?: string;
|
|
669
|
+
halign?: string;
|
|
670
|
+
} | {
|
|
671
|
+
kind: 'rehearsal';
|
|
672
|
+
text: string;
|
|
673
|
+
enclosure?: string;
|
|
674
|
+
defaultX?: number;
|
|
675
|
+
defaultY?: number;
|
|
676
|
+
fontSize?: string;
|
|
677
|
+
fontWeight?: string;
|
|
678
|
+
} | {
|
|
679
|
+
kind: 'segno';
|
|
680
|
+
} | {
|
|
681
|
+
kind: 'coda';
|
|
682
|
+
} | {
|
|
683
|
+
kind: 'pedal';
|
|
684
|
+
type: 'start' | 'stop' | 'change' | 'continue';
|
|
685
|
+
line?: boolean;
|
|
686
|
+
defaultY?: number;
|
|
687
|
+
relativeX?: number;
|
|
688
|
+
halign?: string;
|
|
689
|
+
} | {
|
|
690
|
+
kind: 'octave-shift';
|
|
691
|
+
type: 'up' | 'down' | 'stop';
|
|
692
|
+
size?: number;
|
|
693
|
+
} | {
|
|
694
|
+
kind: 'bracket';
|
|
695
|
+
type: 'start' | 'stop' | 'continue';
|
|
696
|
+
number?: number;
|
|
697
|
+
lineEnd?: 'up' | 'down' | 'both' | 'arrow' | 'none';
|
|
698
|
+
lineType?: 'solid' | 'dashed' | 'dotted' | 'wavy';
|
|
699
|
+
} | {
|
|
700
|
+
kind: 'dashes';
|
|
701
|
+
type: 'start' | 'stop' | 'continue';
|
|
702
|
+
number?: number;
|
|
703
|
+
dashLength?: number;
|
|
704
|
+
defaultY?: number;
|
|
705
|
+
spaceLength?: number;
|
|
706
|
+
} | {
|
|
707
|
+
kind: 'accordion-registration';
|
|
708
|
+
high?: boolean;
|
|
709
|
+
middle?: number;
|
|
710
|
+
low?: boolean;
|
|
711
|
+
} | {
|
|
712
|
+
kind: 'swing';
|
|
713
|
+
straight?: boolean;
|
|
714
|
+
first?: number;
|
|
715
|
+
second?: number;
|
|
716
|
+
swingType?: NoteType;
|
|
717
|
+
} | {
|
|
718
|
+
kind: 'eyeglasses';
|
|
719
|
+
} | {
|
|
720
|
+
kind: 'damp';
|
|
721
|
+
} | {
|
|
722
|
+
kind: 'damp-all';
|
|
723
|
+
} | {
|
|
724
|
+
kind: 'scordatura';
|
|
725
|
+
accords?: Accord[];
|
|
726
|
+
} | {
|
|
727
|
+
kind: 'harp-pedals';
|
|
728
|
+
pedalTunings?: PedalTuning[];
|
|
729
|
+
} | {
|
|
730
|
+
kind: 'image';
|
|
731
|
+
source?: string;
|
|
732
|
+
type?: string;
|
|
733
|
+
} | {
|
|
734
|
+
kind: 'other-direction';
|
|
735
|
+
text: string;
|
|
736
|
+
defaultX?: number;
|
|
737
|
+
defaultY?: number;
|
|
738
|
+
halign?: string;
|
|
739
|
+
printObject?: boolean;
|
|
740
|
+
};
|
|
741
|
+
interface Accord {
|
|
742
|
+
string: number;
|
|
743
|
+
tuningStep: string;
|
|
744
|
+
tuningAlter?: number;
|
|
745
|
+
tuningOctave: number;
|
|
746
|
+
}
|
|
747
|
+
interface PedalTuning {
|
|
748
|
+
pedalStep: string;
|
|
749
|
+
pedalAlter: number;
|
|
750
|
+
}
|
|
751
|
+
type DynamicsValue = 'pppppp' | 'ppppp' | 'pppp' | 'ppp' | 'pp' | 'p' | 'mp' | 'mf' | 'f' | 'ff' | 'fff' | 'ffff' | 'fffff' | 'ffffff' | 'sf' | 'sfz' | 'sffz' | 'sfp' | 'sfpp' | 'fp' | 'rf' | 'rfz' | 'fz' | 'n' | 'pf';
|
|
752
|
+
interface LyricTextElement {
|
|
753
|
+
text: string;
|
|
754
|
+
syllabic?: 'single' | 'begin' | 'middle' | 'end';
|
|
755
|
+
}
|
|
756
|
+
interface Lyric {
|
|
757
|
+
number?: number;
|
|
758
|
+
name?: string;
|
|
759
|
+
syllabic?: 'single' | 'begin' | 'middle' | 'end';
|
|
760
|
+
text: string;
|
|
761
|
+
textElements?: LyricTextElement[];
|
|
762
|
+
elision?: boolean;
|
|
763
|
+
extend?: boolean | {
|
|
764
|
+
type?: 'start' | 'stop' | 'continue';
|
|
765
|
+
};
|
|
766
|
+
endLine?: boolean;
|
|
767
|
+
endParagraph?: boolean;
|
|
768
|
+
defaultY?: number;
|
|
769
|
+
relativeX?: number;
|
|
770
|
+
justify?: string;
|
|
771
|
+
placement?: 'above' | 'below';
|
|
772
|
+
}
|
|
773
|
+
interface VoiceGroup {
|
|
774
|
+
staff: number;
|
|
775
|
+
voice: number;
|
|
776
|
+
notes: NoteEntry[];
|
|
777
|
+
}
|
|
778
|
+
interface StaffGroup {
|
|
779
|
+
staff: number;
|
|
780
|
+
notes: NoteEntry[];
|
|
781
|
+
}
|
|
782
|
+
interface NoteWithPosition extends NoteEntry {
|
|
783
|
+
absolutePosition: number;
|
|
784
|
+
}
|
|
785
|
+
interface Chord {
|
|
786
|
+
position: number;
|
|
787
|
+
duration: number;
|
|
788
|
+
notes: NoteEntry[];
|
|
789
|
+
}
|
|
790
|
+
interface NoteIteratorItem {
|
|
791
|
+
part: Part;
|
|
792
|
+
measure: Measure;
|
|
793
|
+
note: NoteEntry;
|
|
794
|
+
position: number;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
export type { Accidental as A, BackupEntry as B, Clef as C, DirectionEntry as D, ForwardEntry as F, KeySignature as K, Lyric as L, Measure as M, NoteEntry as N, Part as P, Score as S, TimeSignature as T, VoiceGroup as V, Pitch as a, ScoreMetadata as b, PartInfo as c, PartGroup as d, PartListEntry as e, MeasureAttributes as f, MeasureEntry as g, NoteType as h, AccidentalInfo as i, TieInfo as j, BeamInfo as k, Notation as l, DirectionType as m, DynamicsValue as n, Transpose as o, Barline as p, StaffGroup as q, NoteWithPosition as r, Chord as s, NoteIteratorItem as t, Print as u, Defaults as v, Credit as w };
|