@tspro/web-music-score 3.2.0 → 4.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 (38) hide show
  1. package/CHANGELOG.md +26 -10
  2. package/README.md +189 -331
  3. package/dist/audio/index.d.ts +1 -1
  4. package/dist/audio/index.js +1 -1
  5. package/dist/audio/index.mjs +2 -2
  6. package/dist/audio-cg/index.js +1 -1
  7. package/dist/audio-cg/index.mjs +2 -2
  8. package/dist/{chunk-LCTM7BID.mjs → chunk-D643HZHM.mjs} +2 -2
  9. package/dist/core/index.js +2 -2
  10. package/dist/core/index.mjs +3 -3
  11. package/dist/{guitar-C2Cp71NZ.d.ts → guitar-cNmE-EvH.d.ts} +1 -1
  12. package/dist/iife/index.global.js +11 -11
  13. package/dist/{interface-BlNl69uT.d.ts → interface-7k8qGG44.d.ts} +89 -81
  14. package/dist/{interface-Bn5HFt_U.d.mts → interface-XoKiryoV.d.mts} +88 -80
  15. package/dist/{note-BFa43I86.d.ts → note-CcVdUFqS.d.ts} +1 -1
  16. package/dist/pieces/index.d.mts +2 -2
  17. package/dist/pieces/index.d.ts +3 -3
  18. package/dist/pieces/index.js +4 -7
  19. package/dist/pieces/index.mjs +8 -11
  20. package/dist/react-ui/index.d.mts +3 -3
  21. package/dist/react-ui/index.d.ts +5 -5
  22. package/dist/react-ui/index.js +1 -1
  23. package/dist/react-ui/index.mjs +2 -2
  24. package/dist/{scale-DRR-t4Kr.d.mts → scale-C2pCNxdE.d.mts} +4 -3
  25. package/dist/{scale-ebJm37q1.d.ts → scale-CvPbJvfN.d.ts} +5 -4
  26. package/dist/score/index.d.mts +98 -31
  27. package/dist/score/index.d.ts +99 -32
  28. package/dist/score/index.js +748 -567
  29. package/dist/score/index.mjs +755 -574
  30. package/dist/tempo-BAYoZ_Li.d.mts +187 -0
  31. package/dist/tempo-r2sb6Ku2.d.ts +187 -0
  32. package/dist/theory/index.d.mts +3 -3
  33. package/dist/theory/index.d.ts +6 -6
  34. package/dist/theory/index.js +221 -78
  35. package/dist/theory/index.mjs +218 -76
  36. package/package.json +2 -2
  37. package/dist/tempo-B4h5Ktob.d.mts +0 -104
  38. package/dist/tempo-DgqDEsn0.d.ts +0 -104
@@ -1,5 +1,5 @@
1
- import { N as Note, A as Accidental } from './note-BFa43I86.js';
2
- import { R as RhythmProps, N as NoteLength, c as Tempo, K as KeySignature, a as TimeSignature, T as TimeSignatureString } from './tempo-DgqDEsn0.js';
1
+ import { N as Note, A as Accidental } from './note-CcVdUFqS.js';
2
+ import { R as RhythmProps, N as NoteLength, h as NoteLengthStr, j as TupletRatio, c as Tempo, K as KeySignature, a as TimeSignature, T as TimeSignatureString } from './tempo-r2sb6Ku2.js';
3
3
  import { Vec2 } from '@tspro/ts-utils-lib';
4
4
 
5
5
  /**
@@ -199,17 +199,17 @@ declare class DivRect {
199
199
 
200
200
  declare enum StaffPreset {
201
201
  /** Treble staff has treble (G-) clef. */
202
- Treble = 1,
202
+ Treble = "treble",
203
203
  /** Bass staff has bass (F-) clef. */
204
- Bass = 2,
204
+ Bass = "bass",
205
205
  /** Grand staff has both treble and bass clefs. */
206
- Grand = 3,
206
+ Grand = "grand",
207
207
  /** GuitarTreble has treble clef but is one octave lower. */
208
- GuitarTreble = 4,
208
+ GuitarTreble = "guitarTreble",
209
209
  /** GuitarTab has tab for guitar. */
210
- GuitarTab = 8,
210
+ GuitarTab = "guitarTab",
211
211
  /** GuitarCombined has treble clef and tab for guitar. */
212
- GuitarCombined = 12
212
+ GuitarCombined = "guitarCombined"
213
213
  }
214
214
  declare enum Clef {
215
215
  G = "G",
@@ -217,7 +217,7 @@ declare enum Clef {
217
217
  }
218
218
  type StaffConfig = {
219
219
  type: "staff";
220
- clef: Clef;
220
+ clef: Clef | `${Clef}`;
221
221
  name?: string;
222
222
  isOctaveDown?: boolean;
223
223
  minNote?: string;
@@ -237,102 +237,108 @@ declare function getVoiceIds(): ReadonlyArray<VoiceId>;
237
237
  type StringNumber = 1 | 2 | 3 | 4 | 5 | 6;
238
238
  declare function getStringNumbers(): ReadonlyArray<StringNumber>;
239
239
  declare enum Stem {
240
- Auto = 0,
241
- Up = 1,
242
- Down = 2
240
+ Auto = "auto",
241
+ Up = "up",
242
+ Down = "down"
243
243
  }
244
244
  declare enum Arpeggio {
245
- Up = 0,
246
- Down = 1
245
+ Up = "up",
246
+ Down = "down"
247
247
  }
248
248
  declare enum TieType {
249
- Stub = -1,
250
- ToMeasureEnd = -2
249
+ Stub = "stub",
250
+ ToMeasureEnd = "toMeasureEnd"
251
251
  }
252
252
  declare enum NoteAnchor {
253
- Auto = 0,
254
- Above = 1,
255
- Center = 2,
256
- Below = 3,
257
- StemTip = 4
253
+ Auto = "auto",
254
+ Above = "above",
255
+ Center = "center",
256
+ Below = "below",
257
+ StemTip = "stemTip"
258
258
  }
259
259
  declare enum Connective {
260
- Tie = 0,
261
- Slur = 1,
262
- Slide = 2
260
+ Tie = "tie",
261
+ Slur = "slur",
262
+ Slide = "slide"
263
263
  }
264
- type ConnectiveSpan = number | TieType;
265
264
  declare enum VerticalPosition {
266
- Above = 0,
267
- Below = 1,
268
- Both = 2,
269
- Auto = 3
265
+ Auto = "auto",
266
+ Above = "above",
267
+ Below = "below",
268
+ Both = "both"
270
269
  }
271
270
  type StaffTabOrGroup = number | string;
272
271
  type StaffTabOrGroups = StaffTabOrGroup | StaffTabOrGroup[];
273
272
  type NoteOptions = {
274
- dotted?: boolean;
275
- stem?: Stem;
273
+ stem?: Stem | `${Stem}`;
276
274
  color?: string;
277
- arpeggio?: Arpeggio | boolean;
275
+ arpeggio?: boolean | Arpeggio | `${Arpeggio}`;
278
276
  staccato?: boolean;
279
277
  diamond?: boolean;
280
- triplet?: boolean;
281
278
  string?: StringNumber | StringNumber[];
279
+ /** @deprecated - Use triplet NoteLength values instead, e.g. NoteLength.QuarterTriplet or "4t", etc. */
280
+ triplet?: boolean;
281
+ /** @deprecated - Use dotted NoteLength values instead, e.g. NoteLength.Quarter2Dots or "4..", etc. */
282
+ dotted?: boolean | number;
282
283
  };
283
284
  type RestOptions = {
284
- dotted?: boolean;
285
285
  staffPos?: Note | string | number;
286
286
  color?: string;
287
287
  hide?: boolean;
288
+ /** @deprecated - Use triplet NoteLength values instead, e.g. NoteLength.QuarterTriplet or "4t", etc. */
288
289
  triplet?: boolean;
290
+ /** @deprecated - Use dotted NoteLength values instead, e.g. NoteLength.Quarter2Dots or "4..", etc. */
291
+ dotted?: boolean | number;
292
+ };
293
+ type TupletOptions = {
294
+ showRatio?: boolean;
289
295
  };
290
- declare enum PlayState {
291
- Playing = 0,
292
- Paused = 1,
293
- Stopped = 2
294
- }
295
- type PlayStateChangeListener = (playState: PlayState) => void;
296
296
  declare enum Fermata {
297
- AtNote = 0,
298
- AtMeasureEnd = 1
297
+ AtNote = "atNote",
298
+ AtMeasureEnd = "atMeasureEnd"
299
299
  }
300
300
  declare enum Navigation {
301
301
  /** Repeat back to beginning and play to the "Fine" marking. */
302
- DC_al_Fine = 0,
302
+ DC_al_Fine = "D.C. al Fine",
303
303
  /** Repeat back to beginning and play to the "to Coda 𝄌", then jump to the "𝄌 Coda". */
304
- DC_al_Coda = 1,
304
+ DC_al_Coda = "D.C. al Coda",
305
305
  /** Repeat back to Segno sign (𝄋) and play to the "Fine" marking. */
306
- DS_al_Fine = 2,
306
+ DS_al_Fine = "D.S. al Fine",
307
307
  /** Repeat back to Segno sign (𝄋) and play to the "to Coda 𝄌", then jump to the "𝄌 Coda". */
308
- DS_al_Coda = 3,
308
+ DS_al_Coda = "D.S. al Coda",
309
309
  /** "𝄌 Coda" section. */
310
- Coda = 4,
310
+ Coda = "Coda",
311
311
  /** From "toCoda 𝄌" jump to the "𝄌 Coda" section. */
312
- toCoda = 5,
312
+ toCoda = "toCoda",
313
313
  /** Jump here from D.S. al Fine or D.S. al Coda. */
314
- Segno = 6,
314
+ Segno = "Segno",
315
315
  /** Stop playing after D.C. al Fine or D.S. al Fine. */
316
- Fine = 7,
316
+ Fine = "Fine",
317
317
  /** Start of repeat section. */
318
- StartRepeat = 8,
318
+ StartRepeat = "startRepeat",
319
319
  /** End of repeat section. Jump to start of repeat section. */
320
- EndRepeat = 9,
320
+ EndRepeat = "endRepeat",
321
321
  /** Jump to ending with correct passage number. */
322
- Ending = 10
322
+ Ending = "ending"
323
323
  }
324
324
  declare enum Annotation {
325
325
  /** "ppp", "pp", "p", "mp", "m", "mf", "f", "ff", "fff", "cresc.", "decresc.", "dim." */
326
- Dynamics = 0,
326
+ Dynamics = "dynamics",
327
327
  /** "accel.", "rit.", "a tempo" */
328
- Tempo = 1
328
+ Tempo = "tempo"
329
329
  }
330
330
  declare enum Label {
331
331
  /** "C", "C#", "Db", "D", etc. */
332
- Note = 0,
332
+ Note = "note",
333
333
  /** "C", "Am", "G7", etc. */
334
- Chord = 1
334
+ Chord = "chord"
335
+ }
336
+ declare enum PlayState {
337
+ Playing = 0,
338
+ Paused = 1,
339
+ Stopped = 2
335
340
  }
341
+ type PlayStateChangeListener = (playState: PlayState) => void;
336
342
 
337
343
  declare class AccidentalState {
338
344
  readonly measure: ObjMeasure;
@@ -345,11 +351,11 @@ declare class AccidentalState {
345
351
 
346
352
  declare class ConnectiveProps {
347
353
  readonly connective: Connective;
348
- readonly span: ConnectiveSpan;
354
+ readonly span: number | TieType | `${TieType}`;
349
355
  noteAnchor: NoteAnchor;
350
356
  noteGroups: ObjNoteGroup[];
351
357
  arcDir: "up" | "down";
352
- constructor(connective: Connective, span: ConnectiveSpan, noteAnchor: NoteAnchor, startNoteGroup: ObjNoteGroup);
358
+ constructor(connective: Connective, span: number | TieType | `${TieType}`, noteAnchor: NoteAnchor, startNoteGroup: ObjNoteGroup);
353
359
  getStartNoteGroup(): ObjNoteGroup;
354
360
  startsWith(noteGroup: ObjNoteGroup): boolean;
355
361
  /**
@@ -563,6 +569,7 @@ declare class ObjNoteGroup extends MusicObject {
563
569
  readonly staccato: boolean;
564
570
  readonly diamond: boolean;
565
571
  readonly arpeggio: Arpeggio | undefined;
572
+ readonly oldStyleTriplet: boolean;
566
573
  readonly rhythmProps: RhythmProps;
567
574
  private startConnnectives;
568
575
  private runningConnectives;
@@ -572,13 +579,12 @@ declare class ObjNoteGroup extends MusicObject {
572
579
  private readonly staffObjects;
573
580
  private readonly tabObjects;
574
581
  readonly mi: MNoteGroup;
575
- constructor(col: ObjRhythmColumn, voiceId: number, notes: ReadonlyArray<Note>, noteLength: NoteLength, options?: NoteOptions);
582
+ constructor(col: ObjRhythmColumn, voiceId: number, notes: ReadonlyArray<Note>, noteLength: NoteLength | NoteLengthStr, options?: NoteOptions, tupletRatio?: TupletRatio);
576
583
  getMusicInterface(): MNoteGroup;
577
584
  get doc(): ObjDocument;
578
585
  get measure(): ObjMeasure;
579
586
  get row(): ObjScoreRow;
580
587
  get stemDir(): Stem.Up | Stem.Down;
581
- get triplet(): boolean;
582
588
  enableConnective(line: ObjNotationLine): boolean;
583
589
  startConnective(connectiveProps: ConnectiveProps): void;
584
590
  getStaticObjects(line: ObjNotationLine): ReadonlyArray<MusicObject>;
@@ -596,7 +602,7 @@ declare class ObjNoteGroup extends MusicObject {
596
602
  removeConnectiveProps(): void;
597
603
  getPlaySlur(): "first" | "slurred" | undefined;
598
604
  getBeamGroup(): ObjBeamGroup | undefined;
599
- setBeamGroup(beam: ObjBeamGroup): void;
605
+ setBeamGroup(beamGroup: ObjBeamGroup): void;
600
606
  resetBeamGroup(): void;
601
607
  getBeamCoords(): ({
602
608
  staff: ObjStaff;
@@ -618,15 +624,15 @@ declare class ObjNoteGroup extends MusicObject {
618
624
  offset(dx: number, dy: number): void;
619
625
  draw(renderer: Renderer): void;
620
626
  static setBeamCounts(groupNotes: (ObjNoteGroup | undefined)[]): void;
621
- static setTripletBeamCounts(triplet: ObjBeamGroup): void;
627
+ static setTupletBeamCounts(tuplet: ObjBeamGroup): void;
622
628
  getDotVerticalDisplacement(staff: ObjStaff, diatonicId: number, stemDir: Stem): 1 | 0 | -1;
623
629
  static hasSameNotes(ng1: ObjNoteGroup, ng2: ObjNoteGroup): boolean;
624
630
  }
625
631
 
626
632
  declare enum BeamGroupType {
627
633
  RegularBeam = 0,
628
- TripletBeam = 1,
629
- TripletGroup = 2
634
+ TupletBeam = 1,
635
+ TupletGroup = 2
630
636
  }
631
637
  declare class BeamPoint {
632
638
  staff: ObjStaff;
@@ -643,8 +649,8 @@ declare class BeamPoint {
643
649
  declare class ObjStaffBeamGroup extends MusicObject {
644
650
  readonly staff: ObjStaff;
645
651
  readonly beamGroup: ObjBeamGroup;
646
- tripletNumber?: ObjText;
647
- tripletNumberOffsetY: number;
652
+ tupletNumber?: ObjText;
653
+ tupletNumberOffsetY: number;
648
654
  points: BeamPoint[];
649
655
  readonly mi: MStaffBeamGroup;
650
656
  constructor(staff: ObjStaff, beamGroup: ObjBeamGroup);
@@ -655,18 +661,21 @@ declare class ObjStaffBeamGroup extends MusicObject {
655
661
  }
656
662
  declare class ObjBeamGroup extends MusicObject {
657
663
  private readonly symbols;
664
+ readonly tupletRatio: TupletRatio & TupletOptions | undefined;
658
665
  readonly mi: MBeamGroup;
659
666
  private readonly type;
660
667
  private readonly staffObjects;
661
668
  private constructor();
669
+ private get showTupletRatio();
662
670
  static createBeam(noteGroups: ObjNoteGroup[]): void;
663
- static createTriplet(symbols: RhythmSymbol[]): boolean;
671
+ static createOldStyleTriplet(symbols: RhythmSymbol[]): number;
672
+ static createTuplet(symbols: RhythmSymbol[], tupletRatio: TupletRatio & TupletOptions): void;
664
673
  getMusicInterface(): MBeamGroup;
665
674
  detach(): void;
666
675
  isEmpty(): boolean;
667
676
  pick(x: number, y: number): MusicObject[];
668
677
  getType(): BeamGroupType;
669
- isTriplet(): boolean;
678
+ isTuplet(): boolean;
670
679
  getSymbols(): ReadonlyArray<RhythmSymbol>;
671
680
  getFirstSymbol(): RhythmSymbol | undefined;
672
681
  getLastSymbol(): RhythmSymbol | undefined;
@@ -682,7 +691,7 @@ declare class ObjStaffRest extends MusicObject {
682
691
  readonly staff: ObjStaff;
683
692
  readonly rest: ObjRest;
684
693
  restRect: DivRect;
685
- dotRect?: DivRect;
694
+ dotRects: DivRect[];
686
695
  readonly mi: MStaffRest;
687
696
  constructor(staff: ObjStaff, rest: ObjRest);
688
697
  getMusicInterface(): MusicInterface;
@@ -697,23 +706,22 @@ declare class ObjRest extends MusicObject {
697
706
  readonly ownDiatonicId: number;
698
707
  readonly color: string;
699
708
  readonly hide: boolean;
709
+ readonly oldStyleTriplet: boolean;
700
710
  readonly rhythmProps: RhythmProps;
701
711
  private beamGroup?;
702
712
  readonly staffObjects: ObjStaffRest[];
703
713
  readonly mi: MRest;
704
- constructor(col: ObjRhythmColumn, voiceId: number, noteLength: NoteLength, options?: RestOptions);
714
+ constructor(col: ObjRhythmColumn, voiceId: number, noteLength: NoteLength | NoteLengthStr, options?: RestOptions, tupletRatio?: TupletRatio);
705
715
  getMusicInterface(): MRest;
706
716
  get doc(): ObjDocument;
707
717
  get measure(): ObjMeasure;
708
718
  get row(): ObjScoreRow;
709
719
  get noteLength(): NoteLength;
710
- get dotted(): boolean;
711
720
  get stemDir(): Stem.Up | Stem.Down;
712
- get triplet(): boolean;
713
721
  getStaticObjects(line: ObjNotationLine): ReadonlyArray<MusicObject>;
714
722
  pick(x: number, y: number): MusicObject[];
715
723
  getBeamGroup(): ObjBeamGroup | undefined;
716
- setBeamGroup(beam: ObjBeamGroup): void;
724
+ setBeamGroup(beamGroup: ObjBeamGroup): void;
717
725
  resetBeamGroup(): void;
718
726
  getBeamCoords(): ({
719
727
  staff: ObjStaff;
@@ -953,7 +961,7 @@ declare class ObjMeasure extends MusicObject {
953
961
  setTimeSignature(timeSignature: TimeSignature | TimeSignatureString): void;
954
962
  updateTimeSignature(): void;
955
963
  getTempo(): Tempo;
956
- setTempo(beatsPerMinute: number, beatLength?: NoteLength, dotted?: boolean): void;
964
+ setTempo(beatsPerMinute: number, beatLength?: NoteLength | NoteLengthStr, dotted?: boolean | number): void;
957
965
  updateTempo(): void;
958
966
  hasPostMeasureBreak(): boolean;
959
967
  getPostMeasureBreakWidth(): number;
@@ -968,7 +976,7 @@ declare class ObjMeasure extends MusicObject {
968
976
  addConnective(connective: Connective.Tie, tieSpan?: number | TieType, notAnchor?: NoteAnchor): void;
969
977
  addConnective(connective: Connective.Slur, slurSpan?: number, notAnchor?: NoteAnchor): void;
970
978
  addConnective(connective: Connective.Slide, notAnchor?: NoteAnchor): void;
971
- addExtension(extensionLength: number, extensionVisible: boolean): void;
979
+ addExtension(extensionLength: number | NoteLengthStr | (NoteLengthStr | number)[], extensionVisible: boolean): void;
972
980
  private enableExtension;
973
981
  private disableExtension;
974
982
  getEnding(): ObjEnding | undefined;
@@ -979,8 +987,8 @@ declare class ObjMeasure extends MusicObject {
979
987
  hasEndSection(): boolean;
980
988
  endRow(): void;
981
989
  private addRhythmSymbol;
982
- addNoteGroup(voiceId: number, notes: (Note | string)[], noteLength: NoteLength, options?: NoteOptions): void;
983
- addRest(voiceId: number, restLength: NoteLength, options?: RestOptions): void;
990
+ addNoteGroup(voiceId: number, notes: (Note | string)[], noteLength: NoteLength | NoteLengthStr, options?: NoteOptions, tupletRatio?: TupletRatio): ObjNoteGroup;
991
+ addRest(voiceId: number, restLength: NoteLength | NoteLengthStr, options?: RestOptions, tupletRatio?: TupletRatio): ObjRest;
984
992
  /**
985
993
  *
986
994
  * @param positionTicks - get ObjRhythmColumn with positionTicks. Insert new if necessary.
@@ -988,7 +996,7 @@ declare class ObjMeasure extends MusicObject {
988
996
  */
989
997
  private getRhythmColumn;
990
998
  getMeasureTicks(): number;
991
- getConsumedTicks(voiceId?: number): number;
999
+ getConsumedTicks(voiceId?: VoiceId): number;
992
1000
  getColumnsContentRect(): DivRect;
993
1001
  getLeftSolidAreaWidth(): number;
994
1002
  getMinColumnsAreaWidth(): number;
@@ -1010,7 +1018,7 @@ declare class ObjMeasure extends MusicObject {
1010
1018
  getBarLineLeft(): ObjBarLineLeft;
1011
1019
  getBarLineRight(): ObjBarLineRight;
1012
1020
  getVoiceSymbols(voiceId: number): ReadonlyArray<RhythmSymbol>;
1013
- completeRests(voiceId?: number): void;
1021
+ completeRests(voiceId?: VoiceId | VoiceId[]): void;
1014
1022
  requestLayout(): void;
1015
1023
  layout(renderer: Renderer): void;
1016
1024
  layoutWidth(renderer: Renderer, width: number): void;
@@ -1796,4 +1804,4 @@ declare class MPlaybackButtons {
1796
1804
  private static addOnClickListener;
1797
1805
  }
1798
1806
 
1799
- export { type VoiceId as $, Annotation as A, MRest as B, Connective as C, DivRect as D, MStaffRest as E, Fermata as F, MRhythmColumn as G, MScoreRow as H, MStaff as I, MTab as J, MSignature as K, Label as L, MDocument as M, type NoteOptions as N, MSpecialText as O, MText as P, MExtensionLine as Q, type RestOptions as R, StaffPreset as S, TieType as T, MPlayer as U, VerticalPosition as V, MRenderer as W, MPlaybackButtons as X, Clef as Y, type StaffConfig as Z, type TabConfig as _, type ScoreConfiguration as a, getVoiceIds as a0, type StringNumber as a1, getStringNumbers as a2, Stem as a3, Arpeggio as a4, type ConnectiveSpan as a5, type StaffTabOrGroup as a6, PlayState as a7, type PlayStateChangeListener as a8, type StaffTabOrGroups as b, Navigation as c, NoteAnchor as d, type ScoreEventType as e, ScoreEvent as f, ScoreStaffPosEvent as g, ScoreObjectEvent as h, type ScoreEventListener as i, MusicInterface as j, MAccidental as k, MConnective as l, MArpeggio as m, MBeamGroup as n, MStaffBeamGroup as o, MEnding as p, MFermata as q, MHeader as r, MImage as s, MMeasure as t, MBarLineRight as u, MBarLineLeft as v, MStaffTabBarLine as w, MNoteGroup as x, MStaffNoteGroup as y, MTabNoteGroup as z };
1807
+ export { type StaffConfig as $, Annotation as A, MStaffNoteGroup as B, Connective as C, DivRect as D, MTabNoteGroup as E, Fermata as F, MRest as G, MStaffRest as H, MRhythmColumn as I, MScoreRow as J, MStaff as K, Label as L, MDocument as M, type NoteOptions as N, MTab as O, MSignature as P, MSpecialText as Q, type RestOptions as R, StaffPreset as S, type TupletOptions as T, MText as U, type VoiceId as V, MExtensionLine as W, MPlayer as X, MRenderer as Y, MPlaybackButtons as Z, Clef as _, type ScoreConfiguration as a, type TabConfig as a0, getVoiceIds as a1, type StringNumber as a2, getStringNumbers as a3, Stem as a4, Arpeggio as a5, type StaffTabOrGroup as a6, PlayState as a7, type PlayStateChangeListener as a8, type StaffTabOrGroups as b, Navigation as c, TieType as d, NoteAnchor as e, VerticalPosition as f, type ScoreEventType as g, ScoreEvent as h, ScoreStaffPosEvent as i, ScoreObjectEvent as j, type ScoreEventListener as k, MusicInterface as l, MAccidental as m, MConnective as n, MArpeggio as o, MBeamGroup as p, MStaffBeamGroup as q, MEnding as r, MFermata as s, MHeader as t, MImage as u, MMeasure as v, MBarLineRight as w, MBarLineLeft as x, MStaffTabBarLine as y, MNoteGroup as z };