web-music-score 6.0.0-pre.4 → 6.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 (35) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/audio/index.d.ts +1 -1
  3. package/dist/audio/index.js +1 -1
  4. package/dist/audio/index.mjs +4 -4
  5. package/dist/audio-cg/index.js +1 -1
  6. package/dist/audio-cg/index.mjs +4 -4
  7. package/dist/audio-synth/index.js +1 -1
  8. package/dist/audio-synth/index.mjs +4 -4
  9. package/dist/{chunk-KFBULED3.mjs → chunk-422QLXBR.mjs} +3 -3
  10. package/dist/{chunk-DVKR62RS.mjs → chunk-7N2CWRTL.mjs} +3 -3
  11. package/dist/{chunk-6BEFVAAS.mjs → chunk-EYZOBMDN.mjs} +3 -3
  12. package/dist/{chunk-UAVXEHYM.mjs → chunk-JOXUFYNU.mjs} +4 -4
  13. package/dist/{chunk-GNCSH24V.mjs → chunk-YSFFUB4F.mjs} +2 -2
  14. package/dist/{chunk-GNFDJFUO.mjs → chunk-ZAPOJP2K.mjs} +2 -2
  15. package/dist/core/index.js +2 -2
  16. package/dist/core/index.mjs +5 -5
  17. package/dist/iife/audio-cg.js +1 -1
  18. package/dist/iife/index.js +12 -12
  19. package/dist/{music-objects-ChAdqdR8.d.ts → music-objects-CHp-dh_J.d.ts} +6 -4
  20. package/dist/{note-RVXvpfyV.d.ts → note-CJuq5aBy.d.ts} +1 -1
  21. package/dist/pieces/index.d.ts +3 -3
  22. package/dist/pieces/index.js +3 -3
  23. package/dist/pieces/index.mjs +4 -4
  24. package/dist/react-ui/index.d.ts +3 -3
  25. package/dist/react-ui/index.js +1 -1
  26. package/dist/react-ui/index.mjs +2 -2
  27. package/dist/{scale-B1M10_fu.d.ts → scale-DxGqFxlv.d.ts} +2 -2
  28. package/dist/score/index.d.ts +18 -11
  29. package/dist/score/index.js +81 -36
  30. package/dist/score/index.mjs +85 -40
  31. package/dist/{tempo-D-JF-8b_.d.ts → tempo-pCAa6qgo.d.ts} +1 -1
  32. package/dist/theory/index.d.ts +5 -5
  33. package/dist/theory/index.js +1 -1
  34. package/dist/theory/index.mjs +4 -4
  35. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { N as Note, A as Accidental } from './note-RVXvpfyV.js';
2
- import { R as RhythmProps, N as NoteLength, h as NoteLengthStr, k as TupletRatio, c as Tempo, K as KeySignature, a as TimeSignature } from './tempo-D-JF-8b_.js';
1
+ import { N as Note, A as Accidental } from './note-CJuq5aBy.js';
2
+ import { R as RhythmProps, N as NoteLength, h as NoteLengthStr, k as TupletRatio, c as Tempo, K as KeySignature, a as TimeSignature } from './tempo-pCAa6qgo.js';
3
3
  import { AnchoredRect, UniMap, Rect, Vec } from '@tspro/ts-utils-lib';
4
4
 
5
5
  /** Staff preset values for score configuration. */
@@ -940,7 +940,9 @@ declare class ObjExtensionLine extends MusicObject {
940
940
  constructor(measure: ObjMeasure, line: ObjNotationLine, extension: Extension, cols: ExtensionObjectAll[]);
941
941
  get row(): ObjScoreRow;
942
942
  getMusicInterface(): MExtensionLine;
943
+ private getLeftObj;
943
944
  private getLineLeft;
945
+ private getRightObj;
944
946
  private getLineRight;
945
947
  layoutFitToMeasure(ctx: RenderContext): void;
946
948
  pick(x: number, y: number): MusicObject[];
@@ -1072,7 +1074,7 @@ declare class ObjMeasure extends MusicObject {
1072
1074
  private addRhythmSymbol;
1073
1075
  addNoteGroup(voiceId: VoiceId, notes: (Note | string)[], noteLength: NoteLength | NoteLengthStr, options?: NoteOptions, tupletRatio?: TupletRatio): ObjNoteGroup;
1074
1076
  addRest(voiceId: VoiceId, restLength: NoteLength | NoteLengthStr, options?: RestOptions, tupletRatio?: TupletRatio): ObjRest;
1075
- addLyrics(staffTabOrGroups: StaffTabOrGroups | undefined, verse: VerseNumber, lyricsLength: NoteLength | NoteLengthStr, lyricsText: string, lyricsOptions: LyricsOptions): void;
1077
+ addLyrics(staffTabOrGroups: StaffTabOrGroups | undefined, verse: VerseNumber, lyricsText: string, lyricsLength: NoteLength | NoteLengthStr, lyricsOptions: LyricsOptions): void;
1076
1078
  /**
1077
1079
  *
1078
1080
  * @param positionTicks - get ObjRhythmColumn with positionTicks. Insert new if necessary.
@@ -1104,7 +1106,7 @@ declare class ObjMeasure extends MusicObject {
1104
1106
  getBarLineLeft(): ObjBarLineLeft;
1105
1107
  getBarLineRight(): ObjBarLineRight;
1106
1108
  getVoiceSymbols(voiceId: VoiceId): ReadonlyArray<RhythmSymbol>;
1107
- completeRests(voiceId?: VoiceId | VoiceId[]): void;
1109
+ fillWithRests(...voiceId: VoiceId[]): void;
1108
1110
  requestLayout(): void;
1109
1111
  layout(ctx: RenderContext): void;
1110
1112
  layoutWidth(ctx: RenderContext, width: number): void;
@@ -300,7 +300,7 @@ declare class Note {
300
300
  * @param b - Note b.
301
301
  * @returns - -1, 0 or 1.
302
302
  */
303
- static compareFunc(a: Note, b: Note): 1 | 0 | -1;
303
+ static compareFunc(a: Note, b: Note): 1 | -1 | 0;
304
304
  }
305
305
 
306
306
  export { type Accidental as A, DefaultPitchNotation as D, GuitarNoteLabel as G, Note as N, type ParsedNote as P, SymbolSet as S, type NoteLetter as a, PitchNotation as b, PitchNotationList as c, DefaultGuitarNoteLabel as d, GuitarNoteLabelList as e, validateGuitarNoteLabel as f, getPitchNotationName as g, validatePitchNotation as v };
@@ -1,6 +1,6 @@
1
- import { M as MDocument } from '../music-objects-ChAdqdR8.js';
2
- import '../note-RVXvpfyV.js';
3
- import '../tempo-D-JF-8b_.js';
1
+ import { M as MDocument } from '../music-objects-CHp-dh_J.js';
2
+ import '../note-CJuq5aBy.js';
3
+ import '../tempo-pCAa6qgo.js';
4
4
  import '@tspro/ts-utils-lib';
5
5
 
6
6
  /**
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v6.0.0-pre.4 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
1
+ /* WebMusicScore v6.0.0 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -41,7 +41,7 @@ function createCanonInD() {
41
41
  return new import_score2.DocumentBuilder().setHeader("Canon in D", "Pachelbel").setScoreConfiguration([
42
42
  { type: "staff", clef: "G", voiceId: 0, instrument: "Piano" },
43
43
  { type: "staff", clef: "F", voiceId: 1, instrument: "Piano" }
44
- ]).addMeasure().setKeySignature("D Major").setTimeSignature("4/4").setTempo(50, "2n").completeRests(0).addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure({ showNumber: true }).completeRests(0).addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").addMeasure().completeRests(0).addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).completeRests(0).addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addNote(0, ["F#5", "E5"], "2n").addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").endRow().addMeasure({ showNumber: true }).addNote(0, ["D5", "C#5"], "2n").addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").addMeasure().addNote(0, ["B4", "A4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).addNote(0, ["B4", "C#5"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addChord(0, ["F#5", "D5"], "2n").addChord(0, ["E5", "C#5"], "2n").addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure({ showNumber: true }).addChord(0, ["D5", "B4"], "2n").addChord(0, ["C#5", "A4"], "2n").addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").endRow().addMeasure({ showNumber: false }).addChord(0, ["B4", "G4"], "2n").addChord(0, ["A4", "F#4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).addChord(0, ["B4", "G4"], "2n").addChord(0, ["C#5", "A4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addNote(0, ["D4", "F#4", "A4", "G4"], "4n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["F#4", "D4", "F#4", "E4"], "4n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["D4", "B3", "D4", "A4"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["G4", "B4", "A4", "G4"], "4n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["F#4", "D4", "E4", "C#5"], "4n").addNote(1, ["D3", "A2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, ["D5", "F#5", "A5", "A4"], "4n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["B4", "G4", "A4", "F#4"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D4", "D5", "C#5"], "4n").addRest(0, "4n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D5", "C#5", "D5", "D4"], "8n").addNote(0, ["C#4", "A4", "E4", "F#4"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D4", "D5", "C#5", "B4"], "8n").addNote(0, ["C#5", "F#5", "A5", "B5"], "8n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["G5", "F#5", "E5", "G5"], "8n").addNote(0, ["F#5", "E5", "D5", "C#5"], "8n").addNote(1, ["G2", "D2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, ["B4", "A4", "G4", "F#4"], "8n").addNote(0, ["E4", "G4", "F#4", "E4"], "8n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D4", "E4", "F#4", "G4"], "8n").addNote(0, ["A4", "E4", "A4", "G4"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["F#4", "B4", "A4", "G4"], "8n").addNote(0, ["A4", "G4", "F#4", "E4"], "8n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["D4", "B3", "B4", "C#5"], "8n").addNote(0, ["D5", "C#5", "B4", "A4"], "8n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["G4", "F#4", "E4", "B4"], "8n").addNote(0, ["A4", "B4", "A4", "G4"], "8n").addNote(1, ["G2", "A2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "F#4", "4n").addNote(0, "F#5", "4n").addNote(0, "E5", "2n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addRest(0, "4n", { staffPos: "B4" }).addNote(0, "D5", "4n").addNote(0, "F#5", "2n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["B5", "A5"], "2n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["B5", "C#6"], "2n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D6", "D5"], "4n").addNote(0, "C#5", "2n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addRest(0, "4n", { staffPos: "B4" }).addNote(0, "B4", "4n").addNote(0, "D5", "2n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, "D5", "2n").addRest(0, "4n", { staffPos: "B4" }).addNote(0, "D5", "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D5", "F#5", "E5", "A5"], "4n").addNote(1, ["G2", "A2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "A5", "8n").addNote(0, ["F#5", "G5"], "16n").addNote(0, "A5", "8n").addNote(0, ["F#5", "G5"], "16n").addNote(0, ["A5", "A4", "B4", "C#5"], "16n").addNote(0, ["D5", "E5", "F#5", "G5"], "16n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "F#5", "8n").addNote(0, ["D5", "E5"], "16n").addNote(0, "F#5", "8n").addNote(0, ["F#4", "G4"], "16n").addNote(0, ["A4", "B4", "A4", "G4"], "16n").addNote(0, ["A4", "F#4", "G4", "A4"], "16n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, "G4", "8n").addNote(0, ["B4", "A4"], "16n").addNote(0, "G4", "8n").addNote(0, ["F#4", "E4"], "16n").addNote(0, ["F#4", "E4", "D4", "E4"], "16n").addNote(0, ["F#4", "G4", "A4", "B4"], "16n").addNote(1, ["G2", "D2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, "G4", "8n").addNote(0, ["B4", "A4"], "16n").addNote(0, "B4", "8n").addNote(0, ["C#5", "D5"], "16n").addNote(0, ["A4", "B4", "C#5", "D5"], "16n").addNote(0, ["E5", "F#5", "G5", "A5"], "16n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, "F#5", "8n").addNote(0, ["D5", "E5"], "16n").addNote(0, "F#5", "8n").addNote(0, ["E5", "D5"], "16n").addNote(0, ["E5", "C#5", "D5", "E5"], "16n").addNote(0, ["F#5", "E5", "D5", "C#5"], "16n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "D5", "8n").addNote(0, ["B4", "C#5"], "16n").addNote(0, "D5", "8n").addNote(0, ["D4", "E4"], "16n").addNote(0, ["F#4", "G4", "F#4", "E4"], "16n").addNote(0, ["F#4", "D5", "C#5", "D5"], "16n").addNote(1, ["B2", "F#2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "B4", "8n").addNote(0, ["D5", "C#5"], "16n").addNote(0, "B4", "8n").addNote(0, ["A4", "G4"], "16n").addNote(0, ["A4", "G4", "F#4", "G4"], "16n").addNote(0, ["A4", "B4", "C#5", "D5"], "16n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, "B4", "8n").addNote(0, ["D5", "C#5"], "16n").addNote(0, "D5", "8n").addNote(0, ["C#5", "B4"], "16n").addNote(0, ["C#5", "D5", "E5", "D5"], "16n").addNote(0, ["C#5", "D5", "B4", "C#5"], "16n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNavigation("startRepeat").addNote(0, "D5", "4.").addNote(0, "A5", "8n").addNote(0, ["A5", "B5", "A5", "G5"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "F#5", "4.").addNote(0, "F#5", "8n").addNote(0, ["F#5", "G5", "F#5", "E5"], "8n").addNote(1, ["B2", "F#2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "D5", "4.").addNote(0, "D5", "8n").addNote(0, ["D5", "A5"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D5", "C5", "B5", "C5"], "8n").addNote(0, "C#5", "2n").addNote(1, ["G2", "A2"], "2n").addNavigation("endRepeat").addMeasure().addNote(0, "D5", "1n").addNote(1, "D3", "1n").getDocument();
44
+ ]).addMeasure().setKeySignature("D Major").setTimeSignature("4/4").setTempo(50, "2n").fillWithRests(0).addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure({ showNumber: true }).fillWithRests(0).addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").addMeasure().fillWithRests(0).addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).fillWithRests(0).addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addNote(0, ["F#5", "E5"], "2n").addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").endRow().addMeasure({ showNumber: true }).addNote(0, ["D5", "C#5"], "2n").addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").addMeasure().addNote(0, ["B4", "A4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).addNote(0, ["B4", "C#5"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addChord(0, ["F#5", "D5"], "2n").addChord(0, ["E5", "C#5"], "2n").addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure({ showNumber: true }).addChord(0, ["D5", "B4"], "2n").addChord(0, ["C#5", "A4"], "2n").addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").endRow().addMeasure({ showNumber: false }).addChord(0, ["B4", "G4"], "2n").addChord(0, ["A4", "F#4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).addChord(0, ["B4", "G4"], "2n").addChord(0, ["C#5", "A4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addNote(0, ["D4", "F#4", "A4", "G4"], "4n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["F#4", "D4", "F#4", "E4"], "4n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["D4", "B3", "D4", "A4"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["G4", "B4", "A4", "G4"], "4n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["F#4", "D4", "E4", "C#5"], "4n").addNote(1, ["D3", "A2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, ["D5", "F#5", "A5", "A4"], "4n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["B4", "G4", "A4", "F#4"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D4", "D5", "C#5"], "4n").addRest(0, "4n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D5", "C#5", "D5", "D4"], "8n").addNote(0, ["C#4", "A4", "E4", "F#4"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D4", "D5", "C#5", "B4"], "8n").addNote(0, ["C#5", "F#5", "A5", "B5"], "8n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["G5", "F#5", "E5", "G5"], "8n").addNote(0, ["F#5", "E5", "D5", "C#5"], "8n").addNote(1, ["G2", "D2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, ["B4", "A4", "G4", "F#4"], "8n").addNote(0, ["E4", "G4", "F#4", "E4"], "8n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D4", "E4", "F#4", "G4"], "8n").addNote(0, ["A4", "E4", "A4", "G4"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["F#4", "B4", "A4", "G4"], "8n").addNote(0, ["A4", "G4", "F#4", "E4"], "8n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["D4", "B3", "B4", "C#5"], "8n").addNote(0, ["D5", "C#5", "B4", "A4"], "8n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["G4", "F#4", "E4", "B4"], "8n").addNote(0, ["A4", "B4", "A4", "G4"], "8n").addNote(1, ["G2", "A2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "F#4", "4n").addNote(0, "F#5", "4n").addNote(0, "E5", "2n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addRest(0, "4n", { staffPos: "B4" }).addNote(0, "D5", "4n").addNote(0, "F#5", "2n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["B5", "A5"], "2n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["B5", "C#6"], "2n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D6", "D5"], "4n").addNote(0, "C#5", "2n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addRest(0, "4n", { staffPos: "B4" }).addNote(0, "B4", "4n").addNote(0, "D5", "2n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, "D5", "2n").addRest(0, "4n", { staffPos: "B4" }).addNote(0, "D5", "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D5", "F#5", "E5", "A5"], "4n").addNote(1, ["G2", "A2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "A5", "8n").addNote(0, ["F#5", "G5"], "16n").addNote(0, "A5", "8n").addNote(0, ["F#5", "G5"], "16n").addNote(0, ["A5", "A4", "B4", "C#5"], "16n").addNote(0, ["D5", "E5", "F#5", "G5"], "16n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "F#5", "8n").addNote(0, ["D5", "E5"], "16n").addNote(0, "F#5", "8n").addNote(0, ["F#4", "G4"], "16n").addNote(0, ["A4", "B4", "A4", "G4"], "16n").addNote(0, ["A4", "F#4", "G4", "A4"], "16n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, "G4", "8n").addNote(0, ["B4", "A4"], "16n").addNote(0, "G4", "8n").addNote(0, ["F#4", "E4"], "16n").addNote(0, ["F#4", "E4", "D4", "E4"], "16n").addNote(0, ["F#4", "G4", "A4", "B4"], "16n").addNote(1, ["G2", "D2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, "G4", "8n").addNote(0, ["B4", "A4"], "16n").addNote(0, "B4", "8n").addNote(0, ["C#5", "D5"], "16n").addNote(0, ["A4", "B4", "C#5", "D5"], "16n").addNote(0, ["E5", "F#5", "G5", "A5"], "16n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, "F#5", "8n").addNote(0, ["D5", "E5"], "16n").addNote(0, "F#5", "8n").addNote(0, ["E5", "D5"], "16n").addNote(0, ["E5", "C#5", "D5", "E5"], "16n").addNote(0, ["F#5", "E5", "D5", "C#5"], "16n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "D5", "8n").addNote(0, ["B4", "C#5"], "16n").addNote(0, "D5", "8n").addNote(0, ["D4", "E4"], "16n").addNote(0, ["F#4", "G4", "F#4", "E4"], "16n").addNote(0, ["F#4", "D5", "C#5", "D5"], "16n").addNote(1, ["B2", "F#2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "B4", "8n").addNote(0, ["D5", "C#5"], "16n").addNote(0, "B4", "8n").addNote(0, ["A4", "G4"], "16n").addNote(0, ["A4", "G4", "F#4", "G4"], "16n").addNote(0, ["A4", "B4", "C#5", "D5"], "16n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, "B4", "8n").addNote(0, ["D5", "C#5"], "16n").addNote(0, "D5", "8n").addNote(0, ["C#5", "B4"], "16n").addNote(0, ["C#5", "D5", "E5", "D5"], "16n").addNote(0, ["C#5", "D5", "B4", "C#5"], "16n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNavigation("startRepeat").addNote(0, "D5", "4.").addNote(0, "A5", "8n").addNote(0, ["A5", "B5", "A5", "G5"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "F#5", "4.").addNote(0, "F#5", "8n").addNote(0, ["F#5", "G5", "F#5", "E5"], "8n").addNote(1, ["B2", "F#2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "D5", "4.").addNote(0, "D5", "8n").addNote(0, ["D5", "A5"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D5", "C5", "B5", "C5"], "8n").addNote(0, "C#5", "2n").addNote(1, ["G2", "A2"], "2n").addNavigation("endRepeat").addMeasure().addNote(0, "D5", "1n").addNote(1, "D3", "1n").getDocument();
45
45
  }
46
46
 
47
47
  // src/pieces/frere-jacques.ts
@@ -50,7 +50,7 @@ function createFrereJacques() {
50
50
  return new import_score3.DocumentBuilder().setHeader("Fr\xE8re Jacques", "Traditional").setScoreConfiguration([
51
51
  { type: "staff", clef: "G", voiceId: 0, instrument: "!{Piano" },
52
52
  { type: "staff", clef: "F", voiceId: 1, instrument: "!{Piano" }
53
- ]).setMeasuresPerRow(2).addMeasure().setKeySignature("D Major").setTimeSignature("4/4").addNote(0, "D4", "4n", { stem: "up" }).addLyrics(1, "4n", "Are").addNote(0, "E4", "4n").addLyrics(1, "4n", "you").addNote(0, "F#4", "4n").addLyrics(1, "4n", "sleep", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing?").addRest(1, "1n", { staffPos: "F3" }).addMeasure().addNote(0, "D4", "4n").addLyrics(1, "4n", "Are").addNote(0, "E4", "4n").addLyrics(1, "4n", "you").addNote(0, "F#4", "4n").addLyrics(1, "4n", "sleep", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing?").addRest(1, "1n", { staffPos: "F3" }).addMeasure().addNavigation("startRepeat").addNote(0, "F#4", "4n").addLyrics(1, "4n", "Bro", { hyphen: "-" }).addNote(0, "G4", "4n").addLyrics(1, "4n", "ther").addNote(0, "A4", "2n").addLyrics(1, "4n", "John?").addNote(1, "D3", "4n", { stem: "down" }).addLyricsTo(1, 1, "4n", "Are").addNote(1, "E3", "4n").addLyricsTo(1, 1, "4n", "you").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "sleep", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "ing?").addMeasure().addNote(0, "F#4", "4n").addLyrics(1, "4n", "Bro", { hyphen: "-" }).addNote(0, "G4", "4n").addLyrics(1, "4n", "ther").addNote(0, "A4", "2n").addLyrics(1, "4n", "John?").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "Are").addNote(1, "E3", "4n").addLyricsTo(1, 1, "4n", "you").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "sleep", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "ing?").addMeasure().addNote(0, "A4", "8n").addLyrics(1, "8n", "Morn", { hyphen: "-" }).addNote(0, "B4", "8n").addLyrics(1, "8n", "ing").addNote(0, "A4", "8n").addLyrics(1, "8n", "bells").addNote(0, "G4", "8n").addLyrics(1, "8n", "are").addNote(0, "F#4", "4n").addLyrics(1, "4n", "ring", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing!").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "Bro", { hyphen: "-" }).addNote(1, "G3", "4n").addLyricsTo(1, 1, "4n", "ther").addNote(1, "A3", "2n").addLyricsTo(1, 1, "2n", "John?").addMeasure().addNote(0, "A4", "8n").addLyrics(1, "8n", "Morn", { hyphen: "-" }).addNote(0, "B4", "8n").addLyrics(1, "8n", "ing").addNote(0, "A4", "8n").addLyrics(1, "8n", "bells").addNote(0, "G4", "8n").addLyrics(1, "8n", "are").addNote(0, "F#4", "4n").addLyrics(1, "4n", "ring", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing!").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "Bro", { hyphen: "-" }).addNote(1, "G3", "4n").addLyricsTo(1, 1, "4n", "ther").addNote(1, "A3", "2n").addLyricsTo(1, 1, "2n", "John?").addMeasure().addNote(0, "D4", "4n").addLyrics(1, "4n", "Ding").addChord(0, ["C#4", "A4"], "4n").addLyrics(1, "4n", "ding").addNote(0, "D4", "4n").addLyrics(1, "4n", "dong!").addRest(0, "4n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "8n", "Morn", { hyphen: "-" }).addNote(1, "B3", "8n").addLyricsTo(1, 1, "8n", "ing").addNote(1, "A3", "8n").addLyricsTo(1, 1, "8n", "bells").addNote(1, "G3", "8n").addLyricsTo(1, 1, "8n", "are").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "ring", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "ing!").addMeasure().addNote(0, "D4", "4n").addLyrics(1, "4n", "Ding").addChord(0, ["C#4", "A4"], "4n").addLyrics(1, "4n", "ding").addNote(0, "D4", "4n").addLyrics(1, "4n", "dong!").addRest(0, "4n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "8n", "Morn", { hyphen: "-" }).addNote(1, "B3", "8n").addLyricsTo(1, 1, "8n", "ing").addNote(1, "A3", "8n").addLyricsTo(1, 1, "8n", "bells").addNote(1, "G3", "8n").addLyricsTo(1, 1, "8n", "are").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "ring", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "ing!").addMeasure().setMeasuresPerRow(4).addNote(0, "D4", "4n").addLyrics(1, "4n", "Are").addNote(0, "E4", "4n").addLyrics(1, "4n", "you").addNote(0, "F#4", "4n").addLyrics(1, "4n", "sleep", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing?").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "Ding").addChord(1, ["C#3", "A3"], "4n").addLyricsTo(1, 1, "4n", "ding").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "dong!").addRest(1, "4n").addMeasure().addNavigation("endRepeat").addNote(0, "D4", "4n").addLyrics(1, "4n", "Are").addNote(0, "E4", "4n").addLyrics(1, "4n", "you").addNote(0, "F#4", "4n").addLyrics(1, "4n", "sleep", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing?").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "Ding").addChord(1, ["C#3", "A3"], "4n").addLyricsTo(1, 1, "4n", "ding").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "dong!").addRest(1, "4n").addMeasure().addNote(0, "F#4", "4n").addLyrics(1, "4n", "YES").addNote(0, "D4", "4n").addLyrics(1, "4n", "I'm").addNote(0, "F#4", "4n").addLyrics(1, "4n", "SLEEP", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ING").addNote(1, "A3", "4n").addNote(1, "F#3", "4n").addNote(1, "A3", "4n").addNote(1, "F#3", "4n").addMeasure().addNote(0, "A3", "4n").addLyrics(1, "4n", "Please").addNote(0, "C#4", "8n").addLyrics(1, "8n", "GO").addNote(0, "C#4", "8n").addLyrics(1, "8n", "A", { hyphen: "-" }).addNote(0, "D4", "2n").addLyrics(1, "4n", "WAY!").addNote(1, "D3", "4n").addNote(1, "E3", "4n").addNote(1, "F#3", "2n").getDocument();
53
+ ]).setMeasuresPerRow(2).addMeasure().setKeySignature("D Major").setTimeSignature("4/4").addNote(0, "D4", "4n", { stem: "up" }).addLyrics(1, "Are", "4n").addNote(0, "E4", "4n").addLyrics(1, "you", "4n").addNote(0, "F#4", "4n").addLyrics(1, "sleep", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing?", "4n").addRest(1, "1n", { staffPos: "F3" }).addMeasure().addNote(0, "D4", "4n").addLyrics(1, "Are", "4n").addNote(0, "E4", "4n").addLyrics(1, "you", "4n").addNote(0, "F#4", "4n").addLyrics(1, "sleep", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing?", "4n").addRest(1, "1n", { staffPos: "F3" }).addMeasure().addNavigation("startRepeat").addNote(0, "F#4", "4n").addLyrics(1, "Bro", "4n", { hyphen: "-" }).addNote(0, "G4", "4n").addLyrics(1, "ther", "4n").addNote(0, "A4", "2n").addLyrics(1, "John?", "4n").addNote(1, "D3", "4n", { stem: "down" }).addLyricsTo(1, 1, "Are", "4n").addNote(1, "E3", "4n").addLyricsTo(1, 1, "you", "4n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "sleep", "4n", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "ing?", "4n").addMeasure().addNote(0, "F#4", "4n").addLyrics(1, "Bro", "4n", { hyphen: "-" }).addNote(0, "G4", "4n").addLyrics(1, "ther", "4n").addNote(0, "A4", "2n").addLyrics(1, "John?", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "Are", "4n").addNote(1, "E3", "4n").addLyricsTo(1, 1, "you", "4n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "sleep", "4n", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "ing?", "4n").addMeasure().addNote(0, "A4", "8n").addLyrics(1, "Morn", "8n", { hyphen: "-" }).addNote(0, "B4", "8n").addLyrics(1, "ing", "8n").addNote(0, "A4", "8n").addLyrics(1, "bells", "8n").addNote(0, "G4", "8n").addLyrics(1, "are", "8n").addNote(0, "F#4", "4n").addLyrics(1, "ring", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing!", "4n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "Bro", "4n", { hyphen: "-" }).addNote(1, "G3", "4n").addLyricsTo(1, 1, "ther", "4n").addNote(1, "A3", "2n").addLyricsTo(1, 1, "John?", "2n").addMeasure().addNote(0, "A4", "8n").addLyrics(1, "Morn", "8n", { hyphen: "-" }).addNote(0, "B4", "8n").addLyrics(1, "ing", "8n").addNote(0, "A4", "8n").addLyrics(1, "bells", "8n").addNote(0, "G4", "8n").addLyrics(1, "are", "8n").addNote(0, "F#4", "4n").addLyrics(1, "ring", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing!", "4n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "Bro", "4n", { hyphen: "-" }).addNote(1, "G3", "4n").addLyricsTo(1, 1, "ther", "4n").addNote(1, "A3", "2n").addLyricsTo(1, 1, "John?", "2n").addMeasure().addNote(0, "D4", "4n").addLyrics(1, "Ding", "4n").addChord(0, ["C#4", "A4"], "4n").addLyrics(1, "ding", "4n").addNote(0, "D4", "4n").addLyrics(1, "dong!", "4n").addRest(0, "4n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "Morn", "8n", { hyphen: "-" }).addNote(1, "B3", "8n").addLyricsTo(1, 1, "ing", "8n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "bells", "8n").addNote(1, "G3", "8n").addLyricsTo(1, 1, "are", "8n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "ring", "4n", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "ing!", "4n").addMeasure().addNote(0, "D4", "4n").addLyrics(1, "Ding", "4n").addChord(0, ["C#4", "A4"], "4n").addLyrics(1, "ding", "4n").addNote(0, "D4", "4n").addLyrics(1, "dong!", "4n").addRest(0, "4n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "Morn", "8n", { hyphen: "-" }).addNote(1, "B3", "8n").addLyricsTo(1, 1, "ing", "8n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "bells", "8n").addNote(1, "G3", "8n").addLyricsTo(1, 1, "are", "8n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "ring", "4n", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "ing!", "4n").addMeasure().setMeasuresPerRow(4).addNote(0, "D4", "4n").addLyrics(1, "Are", "4n").addNote(0, "E4", "4n").addLyrics(1, "you", "4n").addNote(0, "F#4", "4n").addLyrics(1, "sleep", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing?", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "Ding", "4n").addChord(1, ["C#3", "A3"], "4n").addLyricsTo(1, 1, "ding", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "dong!", "4n").addRest(1, "4n").addMeasure().addNavigation("endRepeat").addNote(0, "D4", "4n").addLyrics(1, "Are", "4n").addNote(0, "E4", "4n").addLyrics(1, "you", "4n").addNote(0, "F#4", "4n").addLyrics(1, "sleep", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing?", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "Ding", "4n").addChord(1, ["C#3", "A3"], "4n").addLyricsTo(1, 1, "ding", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "dong!", "4n").addRest(1, "4n").addMeasure().addNote(0, "F#4", "4n").addLyrics(1, "YES", "4n").addNote(0, "D4", "4n").addLyrics(1, "I'm", "4n").addNote(0, "F#4", "4n").addLyrics(1, "SLEEP", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ING", "4n").addNote(1, "A3", "4n").addNote(1, "F#3", "4n").addNote(1, "A3", "4n").addNote(1, "F#3", "4n").addMeasure().addNote(0, "A3", "4n").addLyrics(1, "Please", "4n").addNote(0, "C#4", "8n").addLyrics(1, "GO", "8n").addNote(0, "C#4", "8n").addLyrics(1, "A", "8n", { hyphen: "-" }).addNote(0, "D4", "2n").addLyrics(1, "WAY!", "4n").addNote(1, "D3", "4n").addNote(1, "E3", "4n").addNote(1, "F#3", "2n").getDocument();
54
54
  }
55
55
 
56
56
  // src/pieces/greensleeves.ts
@@ -1,5 +1,5 @@
1
- /* WebMusicScore v6.0.0-pre.4 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
2
- import "../chunk-GNFDJFUO.mjs";
1
+ /* WebMusicScore v6.0.0 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
2
+ import "../chunk-ZAPOJP2K.mjs";
3
3
 
4
4
  // src/pieces/andante-diabelli.ts
5
5
  import { DocumentBuilder } from "web-music-score/score";
@@ -13,7 +13,7 @@ function createCanonInD() {
13
13
  return new DocumentBuilder2().setHeader("Canon in D", "Pachelbel").setScoreConfiguration([
14
14
  { type: "staff", clef: "G", voiceId: 0, instrument: "Piano" },
15
15
  { type: "staff", clef: "F", voiceId: 1, instrument: "Piano" }
16
- ]).addMeasure().setKeySignature("D Major").setTimeSignature("4/4").setTempo(50, "2n").completeRests(0).addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure({ showNumber: true }).completeRests(0).addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").addMeasure().completeRests(0).addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).completeRests(0).addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addNote(0, ["F#5", "E5"], "2n").addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").endRow().addMeasure({ showNumber: true }).addNote(0, ["D5", "C#5"], "2n").addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").addMeasure().addNote(0, ["B4", "A4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).addNote(0, ["B4", "C#5"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addChord(0, ["F#5", "D5"], "2n").addChord(0, ["E5", "C#5"], "2n").addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure({ showNumber: true }).addChord(0, ["D5", "B4"], "2n").addChord(0, ["C#5", "A4"], "2n").addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").endRow().addMeasure({ showNumber: false }).addChord(0, ["B4", "G4"], "2n").addChord(0, ["A4", "F#4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).addChord(0, ["B4", "G4"], "2n").addChord(0, ["C#5", "A4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addNote(0, ["D4", "F#4", "A4", "G4"], "4n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["F#4", "D4", "F#4", "E4"], "4n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["D4", "B3", "D4", "A4"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["G4", "B4", "A4", "G4"], "4n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["F#4", "D4", "E4", "C#5"], "4n").addNote(1, ["D3", "A2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, ["D5", "F#5", "A5", "A4"], "4n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["B4", "G4", "A4", "F#4"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D4", "D5", "C#5"], "4n").addRest(0, "4n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D5", "C#5", "D5", "D4"], "8n").addNote(0, ["C#4", "A4", "E4", "F#4"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D4", "D5", "C#5", "B4"], "8n").addNote(0, ["C#5", "F#5", "A5", "B5"], "8n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["G5", "F#5", "E5", "G5"], "8n").addNote(0, ["F#5", "E5", "D5", "C#5"], "8n").addNote(1, ["G2", "D2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, ["B4", "A4", "G4", "F#4"], "8n").addNote(0, ["E4", "G4", "F#4", "E4"], "8n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D4", "E4", "F#4", "G4"], "8n").addNote(0, ["A4", "E4", "A4", "G4"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["F#4", "B4", "A4", "G4"], "8n").addNote(0, ["A4", "G4", "F#4", "E4"], "8n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["D4", "B3", "B4", "C#5"], "8n").addNote(0, ["D5", "C#5", "B4", "A4"], "8n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["G4", "F#4", "E4", "B4"], "8n").addNote(0, ["A4", "B4", "A4", "G4"], "8n").addNote(1, ["G2", "A2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "F#4", "4n").addNote(0, "F#5", "4n").addNote(0, "E5", "2n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addRest(0, "4n", { staffPos: "B4" }).addNote(0, "D5", "4n").addNote(0, "F#5", "2n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["B5", "A5"], "2n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["B5", "C#6"], "2n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D6", "D5"], "4n").addNote(0, "C#5", "2n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addRest(0, "4n", { staffPos: "B4" }).addNote(0, "B4", "4n").addNote(0, "D5", "2n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, "D5", "2n").addRest(0, "4n", { staffPos: "B4" }).addNote(0, "D5", "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D5", "F#5", "E5", "A5"], "4n").addNote(1, ["G2", "A2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "A5", "8n").addNote(0, ["F#5", "G5"], "16n").addNote(0, "A5", "8n").addNote(0, ["F#5", "G5"], "16n").addNote(0, ["A5", "A4", "B4", "C#5"], "16n").addNote(0, ["D5", "E5", "F#5", "G5"], "16n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "F#5", "8n").addNote(0, ["D5", "E5"], "16n").addNote(0, "F#5", "8n").addNote(0, ["F#4", "G4"], "16n").addNote(0, ["A4", "B4", "A4", "G4"], "16n").addNote(0, ["A4", "F#4", "G4", "A4"], "16n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, "G4", "8n").addNote(0, ["B4", "A4"], "16n").addNote(0, "G4", "8n").addNote(0, ["F#4", "E4"], "16n").addNote(0, ["F#4", "E4", "D4", "E4"], "16n").addNote(0, ["F#4", "G4", "A4", "B4"], "16n").addNote(1, ["G2", "D2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, "G4", "8n").addNote(0, ["B4", "A4"], "16n").addNote(0, "B4", "8n").addNote(0, ["C#5", "D5"], "16n").addNote(0, ["A4", "B4", "C#5", "D5"], "16n").addNote(0, ["E5", "F#5", "G5", "A5"], "16n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, "F#5", "8n").addNote(0, ["D5", "E5"], "16n").addNote(0, "F#5", "8n").addNote(0, ["E5", "D5"], "16n").addNote(0, ["E5", "C#5", "D5", "E5"], "16n").addNote(0, ["F#5", "E5", "D5", "C#5"], "16n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "D5", "8n").addNote(0, ["B4", "C#5"], "16n").addNote(0, "D5", "8n").addNote(0, ["D4", "E4"], "16n").addNote(0, ["F#4", "G4", "F#4", "E4"], "16n").addNote(0, ["F#4", "D5", "C#5", "D5"], "16n").addNote(1, ["B2", "F#2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "B4", "8n").addNote(0, ["D5", "C#5"], "16n").addNote(0, "B4", "8n").addNote(0, ["A4", "G4"], "16n").addNote(0, ["A4", "G4", "F#4", "G4"], "16n").addNote(0, ["A4", "B4", "C#5", "D5"], "16n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, "B4", "8n").addNote(0, ["D5", "C#5"], "16n").addNote(0, "D5", "8n").addNote(0, ["C#5", "B4"], "16n").addNote(0, ["C#5", "D5", "E5", "D5"], "16n").addNote(0, ["C#5", "D5", "B4", "C#5"], "16n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNavigation("startRepeat").addNote(0, "D5", "4.").addNote(0, "A5", "8n").addNote(0, ["A5", "B5", "A5", "G5"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "F#5", "4.").addNote(0, "F#5", "8n").addNote(0, ["F#5", "G5", "F#5", "E5"], "8n").addNote(1, ["B2", "F#2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "D5", "4.").addNote(0, "D5", "8n").addNote(0, ["D5", "A5"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D5", "C5", "B5", "C5"], "8n").addNote(0, "C#5", "2n").addNote(1, ["G2", "A2"], "2n").addNavigation("endRepeat").addMeasure().addNote(0, "D5", "1n").addNote(1, "D3", "1n").getDocument();
16
+ ]).addMeasure().setKeySignature("D Major").setTimeSignature("4/4").setTempo(50, "2n").fillWithRests(0).addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure({ showNumber: true }).fillWithRests(0).addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").addMeasure().fillWithRests(0).addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).fillWithRests(0).addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addNote(0, ["F#5", "E5"], "2n").addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").endRow().addMeasure({ showNumber: true }).addNote(0, ["D5", "C#5"], "2n").addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").addMeasure().addNote(0, ["B4", "A4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).addNote(0, ["B4", "C#5"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addChord(0, ["F#5", "D5"], "2n").addChord(0, ["E5", "C#5"], "2n").addNote(1, ["D3", "F#3", "A3", "D4"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure({ showNumber: true }).addChord(0, ["D5", "B4"], "2n").addChord(0, ["C#5", "A4"], "2n").addNote(1, ["B2", "D3", "F#3", "B3"], "8n").addNote(1, ["F#2", "A2", "C#3", "F#3"], "8n").endRow().addMeasure({ showNumber: false }).addChord(0, ["B4", "G4"], "2n").addChord(0, ["A4", "F#4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["D2", "F#2", "A2", "D3"], "8n").addMeasure({ showNumber: true }).addChord(0, ["B4", "G4"], "2n").addChord(0, ["C#5", "A4"], "2n").addNote(1, ["G2", "B2", "D3", "G3"], "8n").addNote(1, ["A2", "C#3", "E3", "A3"], "8n").addMeasure().addNote(0, ["D4", "F#4", "A4", "G4"], "4n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["F#4", "D4", "F#4", "E4"], "4n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["D4", "B3", "D4", "A4"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["G4", "B4", "A4", "G4"], "4n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["F#4", "D4", "E4", "C#5"], "4n").addNote(1, ["D3", "A2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, ["D5", "F#5", "A5", "A4"], "4n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["B4", "G4", "A4", "F#4"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D4", "D5", "C#5"], "4n").addRest(0, "4n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D5", "C#5", "D5", "D4"], "8n").addNote(0, ["C#4", "A4", "E4", "F#4"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D4", "D5", "C#5", "B4"], "8n").addNote(0, ["C#5", "F#5", "A5", "B5"], "8n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["G5", "F#5", "E5", "G5"], "8n").addNote(0, ["F#5", "E5", "D5", "C#5"], "8n").addNote(1, ["G2", "D2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, ["B4", "A4", "G4", "F#4"], "8n").addNote(0, ["E4", "G4", "F#4", "E4"], "8n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D4", "E4", "F#4", "G4"], "8n").addNote(0, ["A4", "E4", "A4", "G4"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["F#4", "B4", "A4", "G4"], "8n").addNote(0, ["A4", "G4", "F#4", "E4"], "8n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["D4", "B3", "B4", "C#5"], "8n").addNote(0, ["D5", "C#5", "B4", "A4"], "8n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["G4", "F#4", "E4", "B4"], "8n").addNote(0, ["A4", "B4", "A4", "G4"], "8n").addNote(1, ["G2", "A2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "F#4", "4n").addNote(0, "F#5", "4n").addNote(0, "E5", "2n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addRest(0, "4n", { staffPos: "B4" }).addNote(0, "D5", "4n").addNote(0, "F#5", "2n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, ["B5", "A5"], "2n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["B5", "C#6"], "2n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, ["D6", "D5"], "4n").addNote(0, "C#5", "2n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addRest(0, "4n", { staffPos: "B4" }).addNote(0, "B4", "4n").addNote(0, "D5", "2n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, "D5", "2n").addRest(0, "4n", { staffPos: "B4" }).addNote(0, "D5", "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D5", "F#5", "E5", "A5"], "4n").addNote(1, ["G2", "A2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "A5", "8n").addNote(0, ["F#5", "G5"], "16n").addNote(0, "A5", "8n").addNote(0, ["F#5", "G5"], "16n").addNote(0, ["A5", "A4", "B4", "C#5"], "16n").addNote(0, ["D5", "E5", "F#5", "G5"], "16n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "F#5", "8n").addNote(0, ["D5", "E5"], "16n").addNote(0, "F#5", "8n").addNote(0, ["F#4", "G4"], "16n").addNote(0, ["A4", "B4", "A4", "G4"], "16n").addNote(0, ["A4", "F#4", "G4", "A4"], "16n").addNote(1, ["B2", "F#2"], "2n").addMeasure().addNote(0, "G4", "8n").addNote(0, ["B4", "A4"], "16n").addNote(0, "G4", "8n").addNote(0, ["F#4", "E4"], "16n").addNote(0, ["F#4", "E4", "D4", "E4"], "16n").addNote(0, ["F#4", "G4", "A4", "B4"], "16n").addNote(1, ["G2", "D2"], "2n").endRow().addMeasure({ showNumber: true }).addNote(0, "G4", "8n").addNote(0, ["B4", "A4"], "16n").addNote(0, "B4", "8n").addNote(0, ["C#5", "D5"], "16n").addNote(0, ["A4", "B4", "C#5", "D5"], "16n").addNote(0, ["E5", "F#5", "G5", "A5"], "16n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNote(0, "F#5", "8n").addNote(0, ["D5", "E5"], "16n").addNote(0, "F#5", "8n").addNote(0, ["E5", "D5"], "16n").addNote(0, ["E5", "C#5", "D5", "E5"], "16n").addNote(0, ["F#5", "E5", "D5", "C#5"], "16n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "D5", "8n").addNote(0, ["B4", "C#5"], "16n").addNote(0, "D5", "8n").addNote(0, ["D4", "E4"], "16n").addNote(0, ["F#4", "G4", "F#4", "E4"], "16n").addNote(0, ["F#4", "D5", "C#5", "D5"], "16n").addNote(1, ["B2", "F#2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "B4", "8n").addNote(0, ["D5", "C#5"], "16n").addNote(0, "B4", "8n").addNote(0, ["A4", "G4"], "16n").addNote(0, ["A4", "G4", "F#4", "G4"], "16n").addNote(0, ["A4", "B4", "C#5", "D5"], "16n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, "B4", "8n").addNote(0, ["D5", "C#5"], "16n").addNote(0, "D5", "8n").addNote(0, ["C#5", "B4"], "16n").addNote(0, ["C#5", "D5", "E5", "D5"], "16n").addNote(0, ["C#5", "D5", "B4", "C#5"], "16n").addNote(1, ["G2", "A2"], "2n").addMeasure().addNavigation("startRepeat").addNote(0, "D5", "4.").addNote(0, "A5", "8n").addNote(0, ["A5", "B5", "A5", "G5"], "8n").addNote(1, ["D3", "A2"], "2n").addMeasure({ showNumber: true }).addNote(0, "F#5", "4.").addNote(0, "F#5", "8n").addNote(0, ["F#5", "G5", "F#5", "E5"], "8n").addNote(1, ["B2", "F#2"], "2n").endRow().addMeasure({ showNumber: false }).addNote(0, "D5", "4.").addNote(0, "D5", "8n").addNote(0, ["D5", "A5"], "4n").addNote(1, ["G2", "D2"], "2n").addMeasure({ showNumber: true }).addNote(0, ["D5", "C5", "B5", "C5"], "8n").addNote(0, "C#5", "2n").addNote(1, ["G2", "A2"], "2n").addNavigation("endRepeat").addMeasure().addNote(0, "D5", "1n").addNote(1, "D3", "1n").getDocument();
17
17
  }
18
18
 
19
19
  // src/pieces/frere-jacques.ts
@@ -22,7 +22,7 @@ function createFrereJacques() {
22
22
  return new DocumentBuilder3().setHeader("Fr\xE8re Jacques", "Traditional").setScoreConfiguration([
23
23
  { type: "staff", clef: "G", voiceId: 0, instrument: "!{Piano" },
24
24
  { type: "staff", clef: "F", voiceId: 1, instrument: "!{Piano" }
25
- ]).setMeasuresPerRow(2).addMeasure().setKeySignature("D Major").setTimeSignature("4/4").addNote(0, "D4", "4n", { stem: "up" }).addLyrics(1, "4n", "Are").addNote(0, "E4", "4n").addLyrics(1, "4n", "you").addNote(0, "F#4", "4n").addLyrics(1, "4n", "sleep", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing?").addRest(1, "1n", { staffPos: "F3" }).addMeasure().addNote(0, "D4", "4n").addLyrics(1, "4n", "Are").addNote(0, "E4", "4n").addLyrics(1, "4n", "you").addNote(0, "F#4", "4n").addLyrics(1, "4n", "sleep", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing?").addRest(1, "1n", { staffPos: "F3" }).addMeasure().addNavigation("startRepeat").addNote(0, "F#4", "4n").addLyrics(1, "4n", "Bro", { hyphen: "-" }).addNote(0, "G4", "4n").addLyrics(1, "4n", "ther").addNote(0, "A4", "2n").addLyrics(1, "4n", "John?").addNote(1, "D3", "4n", { stem: "down" }).addLyricsTo(1, 1, "4n", "Are").addNote(1, "E3", "4n").addLyricsTo(1, 1, "4n", "you").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "sleep", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "ing?").addMeasure().addNote(0, "F#4", "4n").addLyrics(1, "4n", "Bro", { hyphen: "-" }).addNote(0, "G4", "4n").addLyrics(1, "4n", "ther").addNote(0, "A4", "2n").addLyrics(1, "4n", "John?").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "Are").addNote(1, "E3", "4n").addLyricsTo(1, 1, "4n", "you").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "sleep", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "ing?").addMeasure().addNote(0, "A4", "8n").addLyrics(1, "8n", "Morn", { hyphen: "-" }).addNote(0, "B4", "8n").addLyrics(1, "8n", "ing").addNote(0, "A4", "8n").addLyrics(1, "8n", "bells").addNote(0, "G4", "8n").addLyrics(1, "8n", "are").addNote(0, "F#4", "4n").addLyrics(1, "4n", "ring", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing!").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "Bro", { hyphen: "-" }).addNote(1, "G3", "4n").addLyricsTo(1, 1, "4n", "ther").addNote(1, "A3", "2n").addLyricsTo(1, 1, "2n", "John?").addMeasure().addNote(0, "A4", "8n").addLyrics(1, "8n", "Morn", { hyphen: "-" }).addNote(0, "B4", "8n").addLyrics(1, "8n", "ing").addNote(0, "A4", "8n").addLyrics(1, "8n", "bells").addNote(0, "G4", "8n").addLyrics(1, "8n", "are").addNote(0, "F#4", "4n").addLyrics(1, "4n", "ring", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing!").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "Bro", { hyphen: "-" }).addNote(1, "G3", "4n").addLyricsTo(1, 1, "4n", "ther").addNote(1, "A3", "2n").addLyricsTo(1, 1, "2n", "John?").addMeasure().addNote(0, "D4", "4n").addLyrics(1, "4n", "Ding").addChord(0, ["C#4", "A4"], "4n").addLyrics(1, "4n", "ding").addNote(0, "D4", "4n").addLyrics(1, "4n", "dong!").addRest(0, "4n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "8n", "Morn", { hyphen: "-" }).addNote(1, "B3", "8n").addLyricsTo(1, 1, "8n", "ing").addNote(1, "A3", "8n").addLyricsTo(1, 1, "8n", "bells").addNote(1, "G3", "8n").addLyricsTo(1, 1, "8n", "are").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "ring", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "ing!").addMeasure().addNote(0, "D4", "4n").addLyrics(1, "4n", "Ding").addChord(0, ["C#4", "A4"], "4n").addLyrics(1, "4n", "ding").addNote(0, "D4", "4n").addLyrics(1, "4n", "dong!").addRest(0, "4n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "8n", "Morn", { hyphen: "-" }).addNote(1, "B3", "8n").addLyricsTo(1, 1, "8n", "ing").addNote(1, "A3", "8n").addLyricsTo(1, 1, "8n", "bells").addNote(1, "G3", "8n").addLyricsTo(1, 1, "8n", "are").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "4n", "ring", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "ing!").addMeasure().setMeasuresPerRow(4).addNote(0, "D4", "4n").addLyrics(1, "4n", "Are").addNote(0, "E4", "4n").addLyrics(1, "4n", "you").addNote(0, "F#4", "4n").addLyrics(1, "4n", "sleep", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing?").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "Ding").addChord(1, ["C#3", "A3"], "4n").addLyricsTo(1, 1, "4n", "ding").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "dong!").addRest(1, "4n").addMeasure().addNavigation("endRepeat").addNote(0, "D4", "4n").addLyrics(1, "4n", "Are").addNote(0, "E4", "4n").addLyrics(1, "4n", "you").addNote(0, "F#4", "4n").addLyrics(1, "4n", "sleep", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ing?").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "Ding").addChord(1, ["C#3", "A3"], "4n").addLyricsTo(1, 1, "4n", "ding").addNote(1, "D3", "4n").addLyricsTo(1, 1, "4n", "dong!").addRest(1, "4n").addMeasure().addNote(0, "F#4", "4n").addLyrics(1, "4n", "YES").addNote(0, "D4", "4n").addLyrics(1, "4n", "I'm").addNote(0, "F#4", "4n").addLyrics(1, "4n", "SLEEP", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "4n", "ING").addNote(1, "A3", "4n").addNote(1, "F#3", "4n").addNote(1, "A3", "4n").addNote(1, "F#3", "4n").addMeasure().addNote(0, "A3", "4n").addLyrics(1, "4n", "Please").addNote(0, "C#4", "8n").addLyrics(1, "8n", "GO").addNote(0, "C#4", "8n").addLyrics(1, "8n", "A", { hyphen: "-" }).addNote(0, "D4", "2n").addLyrics(1, "4n", "WAY!").addNote(1, "D3", "4n").addNote(1, "E3", "4n").addNote(1, "F#3", "2n").getDocument();
25
+ ]).setMeasuresPerRow(2).addMeasure().setKeySignature("D Major").setTimeSignature("4/4").addNote(0, "D4", "4n", { stem: "up" }).addLyrics(1, "Are", "4n").addNote(0, "E4", "4n").addLyrics(1, "you", "4n").addNote(0, "F#4", "4n").addLyrics(1, "sleep", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing?", "4n").addRest(1, "1n", { staffPos: "F3" }).addMeasure().addNote(0, "D4", "4n").addLyrics(1, "Are", "4n").addNote(0, "E4", "4n").addLyrics(1, "you", "4n").addNote(0, "F#4", "4n").addLyrics(1, "sleep", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing?", "4n").addRest(1, "1n", { staffPos: "F3" }).addMeasure().addNavigation("startRepeat").addNote(0, "F#4", "4n").addLyrics(1, "Bro", "4n", { hyphen: "-" }).addNote(0, "G4", "4n").addLyrics(1, "ther", "4n").addNote(0, "A4", "2n").addLyrics(1, "John?", "4n").addNote(1, "D3", "4n", { stem: "down" }).addLyricsTo(1, 1, "Are", "4n").addNote(1, "E3", "4n").addLyricsTo(1, 1, "you", "4n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "sleep", "4n", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "ing?", "4n").addMeasure().addNote(0, "F#4", "4n").addLyrics(1, "Bro", "4n", { hyphen: "-" }).addNote(0, "G4", "4n").addLyrics(1, "ther", "4n").addNote(0, "A4", "2n").addLyrics(1, "John?", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "Are", "4n").addNote(1, "E3", "4n").addLyricsTo(1, 1, "you", "4n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "sleep", "4n", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "ing?", "4n").addMeasure().addNote(0, "A4", "8n").addLyrics(1, "Morn", "8n", { hyphen: "-" }).addNote(0, "B4", "8n").addLyrics(1, "ing", "8n").addNote(0, "A4", "8n").addLyrics(1, "bells", "8n").addNote(0, "G4", "8n").addLyrics(1, "are", "8n").addNote(0, "F#4", "4n").addLyrics(1, "ring", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing!", "4n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "Bro", "4n", { hyphen: "-" }).addNote(1, "G3", "4n").addLyricsTo(1, 1, "ther", "4n").addNote(1, "A3", "2n").addLyricsTo(1, 1, "John?", "2n").addMeasure().addNote(0, "A4", "8n").addLyrics(1, "Morn", "8n", { hyphen: "-" }).addNote(0, "B4", "8n").addLyrics(1, "ing", "8n").addNote(0, "A4", "8n").addLyrics(1, "bells", "8n").addNote(0, "G4", "8n").addLyrics(1, "are", "8n").addNote(0, "F#4", "4n").addLyrics(1, "ring", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing!", "4n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "Bro", "4n", { hyphen: "-" }).addNote(1, "G3", "4n").addLyricsTo(1, 1, "ther", "4n").addNote(1, "A3", "2n").addLyricsTo(1, 1, "John?", "2n").addMeasure().addNote(0, "D4", "4n").addLyrics(1, "Ding", "4n").addChord(0, ["C#4", "A4"], "4n").addLyrics(1, "ding", "4n").addNote(0, "D4", "4n").addLyrics(1, "dong!", "4n").addRest(0, "4n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "Morn", "8n", { hyphen: "-" }).addNote(1, "B3", "8n").addLyricsTo(1, 1, "ing", "8n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "bells", "8n").addNote(1, "G3", "8n").addLyricsTo(1, 1, "are", "8n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "ring", "4n", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "ing!", "4n").addMeasure().addNote(0, "D4", "4n").addLyrics(1, "Ding", "4n").addChord(0, ["C#4", "A4"], "4n").addLyrics(1, "ding", "4n").addNote(0, "D4", "4n").addLyrics(1, "dong!", "4n").addRest(0, "4n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "Morn", "8n", { hyphen: "-" }).addNote(1, "B3", "8n").addLyricsTo(1, 1, "ing", "8n").addNote(1, "A3", "8n").addLyricsTo(1, 1, "bells", "8n").addNote(1, "G3", "8n").addLyricsTo(1, 1, "are", "8n").addNote(1, "F#3", "4n").addLyricsTo(1, 1, "ring", "4n", { hyphen: "-" }).addNote(1, "D3", "4n").addLyricsTo(1, 1, "ing!", "4n").addMeasure().setMeasuresPerRow(4).addNote(0, "D4", "4n").addLyrics(1, "Are", "4n").addNote(0, "E4", "4n").addLyrics(1, "you", "4n").addNote(0, "F#4", "4n").addLyrics(1, "sleep", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing?", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "Ding", "4n").addChord(1, ["C#3", "A3"], "4n").addLyricsTo(1, 1, "ding", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "dong!", "4n").addRest(1, "4n").addMeasure().addNavigation("endRepeat").addNote(0, "D4", "4n").addLyrics(1, "Are", "4n").addNote(0, "E4", "4n").addLyrics(1, "you", "4n").addNote(0, "F#4", "4n").addLyrics(1, "sleep", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ing?", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "Ding", "4n").addChord(1, ["C#3", "A3"], "4n").addLyricsTo(1, 1, "ding", "4n").addNote(1, "D3", "4n").addLyricsTo(1, 1, "dong!", "4n").addRest(1, "4n").addMeasure().addNote(0, "F#4", "4n").addLyrics(1, "YES", "4n").addNote(0, "D4", "4n").addLyrics(1, "I'm", "4n").addNote(0, "F#4", "4n").addLyrics(1, "SLEEP", "4n", { hyphen: "-" }).addNote(0, "D4", "4n").addLyrics(1, "ING", "4n").addNote(1, "A3", "4n").addNote(1, "F#3", "4n").addNote(1, "A3", "4n").addNote(1, "F#3", "4n").addMeasure().addNote(0, "A3", "4n").addLyrics(1, "Please", "4n").addNote(0, "C#4", "8n").addLyrics(1, "GO", "8n").addNote(0, "C#4", "8n").addLyrics(1, "A", "8n", { hyphen: "-" }).addNote(0, "D4", "2n").addLyrics(1, "WAY!", "4n").addNote(1, "D3", "4n").addNote(1, "E3", "4n").addNote(1, "F#3", "2n").getDocument();
26
26
  }
27
27
 
28
28
  // src/pieces/greensleeves.ts
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { M as MDocument, a8 as Paint, o as ScoreEventListener, r as MPlaybackButtons } from '../music-objects-ChAdqdR8.js';
4
- import '../note-RVXvpfyV.js';
5
- import '../tempo-D-JF-8b_.js';
3
+ import { M as MDocument, a8 as Paint, o as ScoreEventListener, r as MPlaybackButtons } from '../music-objects-CHp-dh_J.js';
4
+ import '../note-CJuq5aBy.js';
5
+ import '../tempo-pCAa6qgo.js';
6
6
  import '@tspro/ts-utils-lib';
7
7
 
8
8
  interface MusicScoreViewProps {
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v6.0.0-pre.4 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
1
+ /* WebMusicScore v6.0.0 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
2
2
  "use strict";
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
@@ -1,7 +1,7 @@
1
- /* WebMusicScore v6.0.0-pre.4 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
1
+ /* WebMusicScore v6.0.0 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
2
2
  import {
3
3
  __publicField
4
- } from "../chunk-GNFDJFUO.mjs";
4
+ } from "../chunk-ZAPOJP2K.mjs";
5
5
 
6
6
  // src/react-ui/music-score-view.tsx
7
7
  import * as React from "react";
@@ -1,5 +1,5 @@
1
- import { N as Note, S as SymbolSet } from './note-RVXvpfyV.js';
2
- import { K as KeySignature } from './tempo-D-JF-8b_.js';
1
+ import { N as Note, S as SymbolSet } from './note-CJuq5aBy.js';
2
+ import { K as KeySignature } from './tempo-pCAa6qgo.js';
3
3
 
4
4
  /** Interval direction type. */
5
5
  type IntervalDirection = "Unison" | "Ascending" | "Descending";
@@ -1,8 +1,8 @@
1
- import { N as NoteOptions, R as RestOptions, S as StaffPreset, a as ScoreConfiguration, M as MDocument, b as MeasureOptions, V as VoiceId, T as TupletOptions, c as VerseNumber, L as LyricsOptions, d as StaffTabOrGroups, F as Fermata, e as Navigation, A as AnnotationText, f as Annotation, g as Label, C as Connective, h as TieType, i as NoteAnchor, j as VerticalPosition } from '../music-objects-ChAdqdR8.js';
2
- export { ao as Arpeggio, aa as BaseConfig, a9 as Clef, a5 as ColorKey, a7 as ColorKeyPart, as as DynamicsAnnotation, aq as LyricsAlign, ar as LyricsHyphen, t as MAccidental, v as MArpeggio, H as MBarLineLeft, G as MBarLineRight, w as MBeamGroup, u as MConnective, y as MEnding, a4 as MExtensionLine, z as MFermata, B as MHeader, D as MImage, a3 as MLyrics, E as MMeasure, J as MNoteGroup, r as MPlaybackButtons, p as MPlayer, q as MRenderContext, P as MRest, U as MRhythmColumn, W as MScoreRow, X as MScoreRowGroup, a1 as MSpecialText, Y as MStaff, I as MStaffBarLine, x as MStaffBeamGroup, K as MStaffNoteGroup, Q as MStaffRest, _ as MStaffSignature, Z as MTab, O as MTabNoteGroup, a0 as MTabRhythm, $ as MTabSignature, a2 as MText, s as MusicInterface, a8 as Paint, au as PlayState, av as PlayStateChangeListener, l as ScoreEvent, o as ScoreEventListener, k as ScoreEventType, n as ScoreObjectEvent, m as ScoreStaffPosEvent, ab as StaffConfig, ap as StaffTabOrGroup, an as Stem, ag as StringNumber, ac as TabConfig, at as TempoAnnotation, a6 as colorKey, ah as getStringNumbers, ak as getVerseNumbers, ad as getVoiceIds, ai as isStringNumber, al as isVerseNumber, ae as isVoiceId, aj as validateStringNumber, am as validateVerseNumber, af as validateVoiceId } from '../music-objects-ChAdqdR8.js';
3
- import { N as Note } from '../note-RVXvpfyV.js';
4
- import { S as ScaleType, c as Scale } from '../scale-B1M10_fu.js';
5
- import { N as NoteLength, h as NoteLengthStr, K as KeySignature, a as TimeSignature, T as TimeSignatures, B as BeamGrouping, k as TupletRatio } from '../tempo-D-JF-8b_.js';
1
+ import { N as NoteOptions, R as RestOptions, S as StaffPreset, a as ScoreConfiguration, M as MDocument, b as MeasureOptions, V as VoiceId, T as TupletOptions, c as VerseNumber, L as LyricsOptions, d as StaffTabOrGroups, F as Fermata, e as Navigation, A as AnnotationText, f as Annotation, g as Label, C as Connective, h as TieType, i as NoteAnchor, j as VerticalPosition } from '../music-objects-CHp-dh_J.js';
2
+ export { ao as Arpeggio, aa as BaseConfig, a9 as Clef, a5 as ColorKey, a7 as ColorKeyPart, as as DynamicsAnnotation, aq as LyricsAlign, ar as LyricsHyphen, t as MAccidental, v as MArpeggio, H as MBarLineLeft, G as MBarLineRight, w as MBeamGroup, u as MConnective, y as MEnding, a4 as MExtensionLine, z as MFermata, B as MHeader, D as MImage, a3 as MLyrics, E as MMeasure, J as MNoteGroup, r as MPlaybackButtons, p as MPlayer, q as MRenderContext, P as MRest, U as MRhythmColumn, W as MScoreRow, X as MScoreRowGroup, a1 as MSpecialText, Y as MStaff, I as MStaffBarLine, x as MStaffBeamGroup, K as MStaffNoteGroup, Q as MStaffRest, _ as MStaffSignature, Z as MTab, O as MTabNoteGroup, a0 as MTabRhythm, $ as MTabSignature, a2 as MText, s as MusicInterface, a8 as Paint, au as PlayState, av as PlayStateChangeListener, l as ScoreEvent, o as ScoreEventListener, k as ScoreEventType, n as ScoreObjectEvent, m as ScoreStaffPosEvent, ab as StaffConfig, ap as StaffTabOrGroup, an as Stem, ag as StringNumber, ac as TabConfig, at as TempoAnnotation, a6 as colorKey, ah as getStringNumbers, ak as getVerseNumbers, ad as getVoiceIds, ai as isStringNumber, al as isVerseNumber, ae as isVoiceId, aj as validateStringNumber, am as validateVerseNumber, af as validateVoiceId } from '../music-objects-CHp-dh_J.js';
3
+ import { N as Note } from '../note-CJuq5aBy.js';
4
+ import { S as ScaleType, c as Scale } from '../scale-DxGqFxlv.js';
5
+ import { N as NoteLength, h as NoteLengthStr, K as KeySignature, a as TimeSignature, T as TimeSignatures, B as BeamGrouping, k as TupletRatio } from '../tempo-pCAa6qgo.js';
6
6
  import '@tspro/ts-utils-lib';
7
7
 
8
8
  /** Tuplet builder type. */
@@ -221,22 +221,22 @@ declare class DocumentBuilder {
221
221
  /**
222
222
  * Add lyrics to current measure.
223
223
  * @param verse - Verse number (e.g. 1).
224
- * @param lyricsLength - Lyrics text length (e.g. "2n").
225
224
  * @param lyricsText - Lyrics text (empty space if omitted), single value or array.
225
+ * @param lyricsLength - Lyrics text length (e.g. "2n").
226
226
  * @param lyricsOptions - Lyrics options.
227
227
  * @returns - This document builder instance.
228
228
  */
229
- addLyrics(verse: VerseNumber, lyricsLength: NoteLength | NoteLengthStr, lyricsText?: string | string[], lyricsOptions?: LyricsOptions): DocumentBuilder;
229
+ addLyrics(verse: VerseNumber, lyricsText: string | string[], lyricsLength: NoteLength | NoteLengthStr, lyricsOptions?: LyricsOptions): DocumentBuilder;
230
230
  /**
231
231
  * Add lyrics to current measure to given staff/tab/group.
232
232
  * @param staffTabOrGroups - staff/tab index (0=top), staff/tab name, or staff group name.
233
233
  * @param verse - Verse number (e.g. 1).
234
- * @param lyricsLength - Lyrics text length (e.g. "2n").
235
234
  * @param lyricsText - Lyrics text (empty space if omitted), single value or array.
235
+ * @param lyricsLength - Lyrics text length (e.g. "2n").
236
236
  * @param lyricsOptions - Lyrics options.
237
237
  * @returns - This document builder instance.
238
238
  */
239
- addLyricsTo(staffTabOrGroups: StaffTabOrGroups, verse: VerseNumber, lyricsLength: NoteLength | NoteLengthStr, lyricsText?: string | string[], lyricsOptions?: LyricsOptions): DocumentBuilder;
239
+ addLyricsTo(staffTabOrGroups: StaffTabOrGroups, verse: VerseNumber, lyricsText: string | string[], lyricsLength: NoteLength | NoteLengthStr, lyricsOptions?: LyricsOptions): DocumentBuilder;
240
240
  private addFermataInternal;
241
241
  /**
242
242
  * Add fermata to current measure.
@@ -400,11 +400,11 @@ declare class DocumentBuilder {
400
400
  */
401
401
  endRow(): DocumentBuilder;
402
402
  /**
403
- * Add rests to fill current measure.
403
+ * Fill current measure with rests.
404
404
  * @param voiceId - Voice id to add rests to. Single value, array or all if omitted.
405
405
  * @returns - This document builder instance.
406
406
  */
407
- completeRests(voiceId?: VoiceId | VoiceId[]): DocumentBuilder;
407
+ fillWithRests(...voiceId: VoiceId[]): DocumentBuilder;
408
408
  /**
409
409
  * Add notes of given scale in ascending order.
410
410
  * @param scale - Scale.
@@ -413,6 +413,13 @@ declare class DocumentBuilder {
413
413
  * @returns - This document builder instance.
414
414
  */
415
415
  addScaleArpeggio(scale: Scale, bottomNote: string, numOctaves: number): DocumentBuilder;
416
+ /**
417
+ * Add and repeat builder section.
418
+ * @param times - Repeat count.
419
+ * @param repeatCreator - Repeat creator function.
420
+ * @returns - This document builder instance.
421
+ */
422
+ repeat(times: number, repeatCreator: (builder: DocumentBuilder) => void): DocumentBuilder;
416
423
  }
417
424
 
418
425
  export { Annotation, AnnotationText, Connective, DocumentBuilder, type ExtensionBuilder, Fermata, Label, LyricsOptions, MDocument, MeasureOptions, Navigation, NoteAnchor, NoteOptions, RestOptions, ScoreConfiguration, StaffPreset, StaffTabOrGroups, TieType, type TupletBuilder, TupletOptions, VerseNumber, VerticalPosition, VoiceId };