@tspro/web-music-score 4.2.1 → 5.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.
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Instrument interface.
3
+ * <p>To create your own instrument just create a class that implement this simple interface.</p>
4
+ *
5
+ * ```ts
6
+ * import * as Audio from "@tspro/web-music-score/audio";
7
+ *
8
+ * class MyCoolInstrument implements Audio.Instrument {
9
+ * constructor() { }
10
+ * getName() { return "My Cool Instrument"; }
11
+ * playNote(note: string, duration: number, linearVolume: number) { }
12
+ * stop() { }
13
+ * }
14
+ *
15
+ * // Add and use my cool instrument.
16
+ * Audio.addInstrument(new MyCoolInstrument());
17
+ * ```
18
+ */
19
+ interface Instrument {
20
+ /**
21
+ * Get instrument name.
22
+ * @return - Instrument name.
23
+ */
24
+ getName(): string;
25
+ /**
26
+ * Play a note.
27
+ * @param note - Note to play (e.g. "C4").
28
+ * @param duration - Play duration in seconds.
29
+ * @param linearVolume - Linear volume in range [0, 1].
30
+ */
31
+ playNote(note: string, duration: number, linearVolume: number): void;
32
+ /**
33
+ * Stop playback.
34
+ */
35
+ stop(): void;
36
+ }
37
+ /**
38
+ * Linear volume to decibels converter.
39
+ * @param linearVolume - Linear volume in range [0, 1].
40
+ * @returns - Volume in decibels.
41
+ */
42
+ declare function linearToDecibels(linearVolume: number): number;
43
+
44
+ export { type Instrument as I, linearToDecibels as l };
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Instrument interface.
3
+ * <p>To create your own instrument just create a class that implement this simple interface.</p>
4
+ *
5
+ * ```ts
6
+ * import * as Audio from "@tspro/web-music-score/audio";
7
+ *
8
+ * class MyCoolInstrument implements Audio.Instrument {
9
+ * constructor() { }
10
+ * getName() { return "My Cool Instrument"; }
11
+ * playNote(note: string, duration: number, linearVolume: number) { }
12
+ * stop() { }
13
+ * }
14
+ *
15
+ * // Add and use my cool instrument.
16
+ * Audio.addInstrument(new MyCoolInstrument());
17
+ * ```
18
+ */
19
+ interface Instrument {
20
+ /**
21
+ * Get instrument name.
22
+ * @return - Instrument name.
23
+ */
24
+ getName(): string;
25
+ /**
26
+ * Play a note.
27
+ * @param note - Note to play (e.g. "C4").
28
+ * @param duration - Play duration in seconds.
29
+ * @param linearVolume - Linear volume in range [0, 1].
30
+ */
31
+ playNote(note: string, duration: number, linearVolume: number): void;
32
+ /**
33
+ * Stop playback.
34
+ */
35
+ stop(): void;
36
+ }
37
+ /**
38
+ * Linear volume to decibels converter.
39
+ * @param linearVolume - Linear volume in range [0, 1].
40
+ * @returns - Volume in decibels.
41
+ */
42
+ declare function linearToDecibels(linearVolume: number): number;
43
+
44
+ export { type Instrument as I, linearToDecibels as l };
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v4.2.1 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,5 +1,5 @@
1
- /* WebMusicScore v4.2.1 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
- import "../chunk-64N22LCV.mjs";
1
+ /* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
+ import "../chunk-J3KU3U4W.mjs";
3
3
 
4
4
  // src/pieces/frere-jacques.ts
5
5
  import { DocumentBuilder } from "@tspro/web-music-score/score";
@@ -14,7 +14,7 @@ interface CircleOfFifthsProps {
14
14
  }
15
15
  /**
16
16
  * Circle of fifths react component.
17
- * <pre>
17
+ * ```ts
18
18
  * // Using with React TSX/JSX
19
19
  * import * as ScoreUI from "@tspro/web-music-score/react-ui";
20
20
  * import * as Theory from "@tspro/web-music-score/theory";
@@ -27,14 +27,14 @@ interface CircleOfFifthsProps {
27
27
  * console.log("New scale is " + newScale.getScaleName());
28
28
  * }
29
29
  *
30
- * return &lt;&gt;
31
- * &lt;ScoreUI.CircleOfFifths
30
+ * return <>
31
+ * <ScoreUI.CircleOfFifths
32
32
  * style={{ position: "relative", padding: "0.5em" }}
33
33
  * scale={curScale}
34
- * onScaleChange={onChangeScale} /&gt;
35
- * &lt;/&gt;;
34
+ * onScaleChange={onChangeScale} />
35
+ * </>;
36
36
  * }
37
- * </pre>
37
+ * ```
38
38
  */
39
39
  declare class CircleOfFifths extends React.Component<CircleOfFifthsProps, {}> {
40
40
  constructor(props: CircleOfFifthsProps);
@@ -187,7 +187,7 @@ interface GuitarViewState {
187
187
  }
188
188
  /**
189
189
  * Guitar (neck) view react component.
190
- * <pre>
190
+ * ```ts
191
191
  * // Using with React TSX/JSX
192
192
  * import * as ScoreUI from "@tspro/web-music-score/react-ui";
193
193
  * import * as Theory from "@tspro/web-music-score/theory";
@@ -204,15 +204,15 @@ interface GuitarViewState {
204
204
  * const onUpdateFretPosition: ScoreUI.UpdateFretPositionFunc = (fretPos) => { }
205
205
  * const onClickFretPosition: ScoreUI.ClickFretPositionFunc = (fretPos) => { }
206
206
  *
207
- * return &lt;&gt;
208
- * &lt;ScoreUI.GuitarView
207
+ * return <>
208
+ * <ScoreUI.GuitarView
209
209
  * style={{ position: "relative", width: 640 }}
210
210
  * guitarContext={guitarCtx}
211
211
  * onUpdateFretPosition={onUpdateFretPosition}
212
- * onClickFretPosition={onClickFretPosition} /&gt;
213
- * &lt;/&gt;;
212
+ * onClickFretPosition={onClickFretPosition} />
213
+ * </>;
214
214
  * }
215
- * </pre>
215
+ * ```
216
216
  */
217
217
  declare class GuitarView extends React.Component<GuitarViewProps, GuitarViewState> {
218
218
  state: GuitarViewState;
@@ -234,7 +234,7 @@ interface MusicScoreViewProps {
234
234
  }
235
235
  /**
236
236
  * Music score view react component.
237
- * <pre>
237
+ * ```ts
238
238
  * // Using with React TSX/JSX
239
239
  * import * as Score from "@tspro/web-music-score/react";
240
240
  * import * as Pieces from "@tspro/web-music-score/pieces";
@@ -243,11 +243,11 @@ interface MusicScoreViewProps {
243
243
  * render() {
244
244
  * const doc = Pieces.createFrereJacques();
245
245
  *
246
- * return &lt;&gt;
247
- * &lt;Score.MusicScoreView doc=\{doc\} /&gt;
248
- * &lt;/&gt;;
246
+ * return <>
247
+ * <Score.MusicScoreView doc=\{doc\} />
248
+ * </>;
249
249
  * }
250
- * </pre>
250
+ * ```
251
251
  */
252
252
  declare class MusicScoreView extends React.Component<MusicScoreViewProps, {}> {
253
253
  renderer: MRenderer;
@@ -273,7 +273,7 @@ interface PlaybackButtonsState {
273
273
  }
274
274
  /**
275
275
  * Usage:
276
- * <pre>
276
+ * ```ts
277
277
  * // Using with React TSX/JSX
278
278
  * import * as Score from "\@tspro/web-music-score/score";
279
279
  * import * as Pieces from "@tspro/web-music-score/pieces";
@@ -282,14 +282,14 @@ interface PlaybackButtonsState {
282
282
  * const doc = Pieces.createFrereJacques();
283
283
  *
284
284
  * // Create default playback buttons
285
- * &lt;Score.PlaybackButtons doc={doc} /&gt;
285
+ * <Score.PlaybackButtons doc={doc} />
286
286
  *
287
287
  * // Create playback buttons with custom play, pause and stop labels:
288
- * &lt;Score.PlaybackButtons doc={doc} playLabel="⏵" pauseLabel="⏸" stopLabel="⏹" /&gt;
288
+ * <Score.PlaybackButtons doc={doc} playLabel="⏵" pauseLabel="⏸" stopLabel="⏹" />
289
289
  *
290
290
  * // Create playback buttons with different button layout.
291
- * &lt;Score.PlaybackButtons doc={doc} buttonLayout={Score.PlaybackButtonsLayout.PlayStopSingle} /&gt;
292
- * </pre>
291
+ * <Score.PlaybackButtons doc={doc} buttonLayout={Score.PlaybackButtonsLayout.PlayStopSingle} />
292
+ * ```
293
293
  */
294
294
  declare class PlaybackButtons extends React.Component<PlaybackButtonsProps, PlaybackButtonsState> {
295
295
  state: PlaybackButtonsState;
@@ -14,7 +14,7 @@ interface CircleOfFifthsProps {
14
14
  }
15
15
  /**
16
16
  * Circle of fifths react component.
17
- * <pre>
17
+ * ```ts
18
18
  * // Using with React TSX/JSX
19
19
  * import * as ScoreUI from "@tspro/web-music-score/react-ui";
20
20
  * import * as Theory from "@tspro/web-music-score/theory";
@@ -27,14 +27,14 @@ interface CircleOfFifthsProps {
27
27
  * console.log("New scale is " + newScale.getScaleName());
28
28
  * }
29
29
  *
30
- * return &lt;&gt;
31
- * &lt;ScoreUI.CircleOfFifths
30
+ * return <>
31
+ * <ScoreUI.CircleOfFifths
32
32
  * style={{ position: "relative", padding: "0.5em" }}
33
33
  * scale={curScale}
34
- * onScaleChange={onChangeScale} /&gt;
35
- * &lt;/&gt;;
34
+ * onScaleChange={onChangeScale} />
35
+ * </>;
36
36
  * }
37
- * </pre>
37
+ * ```
38
38
  */
39
39
  declare class CircleOfFifths extends React.Component<CircleOfFifthsProps, {}> {
40
40
  constructor(props: CircleOfFifthsProps);
@@ -187,7 +187,7 @@ interface GuitarViewState {
187
187
  }
188
188
  /**
189
189
  * Guitar (neck) view react component.
190
- * <pre>
190
+ * ```ts
191
191
  * // Using with React TSX/JSX
192
192
  * import * as ScoreUI from "@tspro/web-music-score/react-ui";
193
193
  * import * as Theory from "@tspro/web-music-score/theory";
@@ -204,15 +204,15 @@ interface GuitarViewState {
204
204
  * const onUpdateFretPosition: ScoreUI.UpdateFretPositionFunc = (fretPos) => { }
205
205
  * const onClickFretPosition: ScoreUI.ClickFretPositionFunc = (fretPos) => { }
206
206
  *
207
- * return &lt;&gt;
208
- * &lt;ScoreUI.GuitarView
207
+ * return <>
208
+ * <ScoreUI.GuitarView
209
209
  * style={{ position: "relative", width: 640 }}
210
210
  * guitarContext={guitarCtx}
211
211
  * onUpdateFretPosition={onUpdateFretPosition}
212
- * onClickFretPosition={onClickFretPosition} /&gt;
213
- * &lt;/&gt;;
212
+ * onClickFretPosition={onClickFretPosition} />
213
+ * </>;
214
214
  * }
215
- * </pre>
215
+ * ```
216
216
  */
217
217
  declare class GuitarView extends React.Component<GuitarViewProps, GuitarViewState> {
218
218
  state: GuitarViewState;
@@ -234,7 +234,7 @@ interface MusicScoreViewProps {
234
234
  }
235
235
  /**
236
236
  * Music score view react component.
237
- * <pre>
237
+ * ```ts
238
238
  * // Using with React TSX/JSX
239
239
  * import * as Score from "@tspro/web-music-score/react";
240
240
  * import * as Pieces from "@tspro/web-music-score/pieces";
@@ -243,11 +243,11 @@ interface MusicScoreViewProps {
243
243
  * render() {
244
244
  * const doc = Pieces.createFrereJacques();
245
245
  *
246
- * return &lt;&gt;
247
- * &lt;Score.MusicScoreView doc=\{doc\} /&gt;
248
- * &lt;/&gt;;
246
+ * return <>
247
+ * <Score.MusicScoreView doc=\{doc\} />
248
+ * </>;
249
249
  * }
250
- * </pre>
250
+ * ```
251
251
  */
252
252
  declare class MusicScoreView extends React.Component<MusicScoreViewProps, {}> {
253
253
  renderer: MRenderer;
@@ -273,7 +273,7 @@ interface PlaybackButtonsState {
273
273
  }
274
274
  /**
275
275
  * Usage:
276
- * <pre>
276
+ * ```ts
277
277
  * // Using with React TSX/JSX
278
278
  * import * as Score from "\@tspro/web-music-score/score";
279
279
  * import * as Pieces from "@tspro/web-music-score/pieces";
@@ -282,14 +282,14 @@ interface PlaybackButtonsState {
282
282
  * const doc = Pieces.createFrereJacques();
283
283
  *
284
284
  * // Create default playback buttons
285
- * &lt;Score.PlaybackButtons doc={doc} /&gt;
285
+ * <Score.PlaybackButtons doc={doc} />
286
286
  *
287
287
  * // Create playback buttons with custom play, pause and stop labels:
288
- * &lt;Score.PlaybackButtons doc={doc} playLabel="⏵" pauseLabel="⏸" stopLabel="⏹" /&gt;
288
+ * <Score.PlaybackButtons doc={doc} playLabel="⏵" pauseLabel="⏸" stopLabel="⏹" />
289
289
  *
290
290
  * // Create playback buttons with different button layout.
291
- * &lt;Score.PlaybackButtons doc={doc} buttonLayout={Score.PlaybackButtonsLayout.PlayStopSingle} /&gt;
292
- * </pre>
291
+ * <Score.PlaybackButtons doc={doc} buttonLayout={Score.PlaybackButtonsLayout.PlayStopSingle} />
292
+ * ```
293
293
  */
294
294
  declare class PlaybackButtons extends React.Component<PlaybackButtonsProps, PlaybackButtonsState> {
295
295
  state: PlaybackButtonsState;
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v4.2.1 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  "use strict";
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
@@ -1,7 +1,7 @@
1
- /* WebMusicScore v4.2.1 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  import {
3
3
  __publicField
4
- } from "../chunk-64N22LCV.mjs";
4
+ } from "../chunk-J3KU3U4W.mjs";
5
5
 
6
6
  // src/react-ui/circle-of-fifths.tsx
7
7
  import * as React from "react";
@@ -59,7 +59,7 @@ type ExtensionBuilder = {
59
59
  };
60
60
  /**
61
61
  * Document builder class.
62
- * <pre>
62
+ * ```ts
63
63
  * // Example
64
64
  * let doc = new Score.DocumentBuilder()
65
65
  * .addScoreConfiguration({ type: "staff", clef: "G", isOctavewDown: true })
@@ -70,7 +70,7 @@ type ExtensionBuilder = {
70
70
  * .addRest(1, "4n")
71
71
  * // etc.
72
72
  * .getDEocument();
73
- * </pre>
73
+ * ```
74
74
  */
75
75
  declare class DocumentBuilder {
76
76
  private readonly doc;
@@ -208,13 +208,13 @@ declare class DocumentBuilder {
208
208
  addRest(voiceId: VoiceId, restLength: NoteLength | NoteLengthStr, restOptions?: RestOptions): DocumentBuilder;
209
209
  /**
210
210
  * Usage:
211
- * <pre>
211
+ * ```ts
212
212
  * addTuplet(0, Theory.Tuplet.Triplet, notes => {
213
213
  * notes.addNote("G3", Theory.NoteLength.Eighth);
214
214
  * notes.addNote("B3", Theory.NoteLength.Eighth);
215
215
  * notes.addNote("D4", Theory.NoteLength.Eighth);
216
216
  * });
217
- * </pre>
217
+ * ```
218
218
  *
219
219
  * @param voiceId - Voice id to add tuplet to.
220
220
  * @param tupletRatio - You can also use Theory.Tuplet presets (e.g. Theory.Tuplet.Triplet).
@@ -371,13 +371,13 @@ declare class DocumentBuilder {
371
371
  addConnective(connective: Connective.Slide | `${Connective.Slide}`, notAnchor?: NoteAnchor | `${NoteAnchor}`): DocumentBuilder;
372
372
  /**
373
373
  * Add extension line to previously added annotation or label element.
374
- * <pre>
374
+ * ```ts
375
375
  * // Example
376
376
  * addExtension(ext => ext.notes("1n", 2)) // length is 2 whole notes
377
377
  * addExtension(ext => ext.measures(3).hide()) // length is 3 measures, hidden
378
378
  * addExtension(ext => ext.measures(1).notes("8n")) // length is 1 measure + 1 eigth note
379
379
  * addExtension(ext => ext.infinity()) // length is as long as possible
380
- * </pre>
380
+ * ```
381
381
  * @param extensionBuilder - Extension builder function used to build exstension.
382
382
  * @returns - This document builder instance.
383
383
  */
@@ -59,7 +59,7 @@ type ExtensionBuilder = {
59
59
  };
60
60
  /**
61
61
  * Document builder class.
62
- * <pre>
62
+ * ```ts
63
63
  * // Example
64
64
  * let doc = new Score.DocumentBuilder()
65
65
  * .addScoreConfiguration({ type: "staff", clef: "G", isOctavewDown: true })
@@ -70,7 +70,7 @@ type ExtensionBuilder = {
70
70
  * .addRest(1, "4n")
71
71
  * // etc.
72
72
  * .getDEocument();
73
- * </pre>
73
+ * ```
74
74
  */
75
75
  declare class DocumentBuilder {
76
76
  private readonly doc;
@@ -208,13 +208,13 @@ declare class DocumentBuilder {
208
208
  addRest(voiceId: VoiceId, restLength: NoteLength | NoteLengthStr, restOptions?: RestOptions): DocumentBuilder;
209
209
  /**
210
210
  * Usage:
211
- * <pre>
211
+ * ```ts
212
212
  * addTuplet(0, Theory.Tuplet.Triplet, notes => {
213
213
  * notes.addNote("G3", Theory.NoteLength.Eighth);
214
214
  * notes.addNote("B3", Theory.NoteLength.Eighth);
215
215
  * notes.addNote("D4", Theory.NoteLength.Eighth);
216
216
  * });
217
- * </pre>
217
+ * ```
218
218
  *
219
219
  * @param voiceId - Voice id to add tuplet to.
220
220
  * @param tupletRatio - You can also use Theory.Tuplet presets (e.g. Theory.Tuplet.Triplet).
@@ -371,13 +371,13 @@ declare class DocumentBuilder {
371
371
  addConnective(connective: Connective.Slide | `${Connective.Slide}`, notAnchor?: NoteAnchor | `${NoteAnchor}`): DocumentBuilder;
372
372
  /**
373
373
  * Add extension line to previously added annotation or label element.
374
- * <pre>
374
+ * ```ts
375
375
  * // Example
376
376
  * addExtension(ext => ext.notes("1n", 2)) // length is 2 whole notes
377
377
  * addExtension(ext => ext.measures(3).hide()) // length is 3 measures, hidden
378
378
  * addExtension(ext => ext.measures(1).notes("8n")) // length is 1 measure + 1 eigth note
379
379
  * addExtension(ext => ext.infinity()) // length is as long as possible
380
- * </pre>
380
+ * ```
381
381
  * @param extensionBuilder - Extension builder function used to build exstension.
382
382
  * @returns - This document builder instance.
383
383
  */
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v4.2.1 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  "use strict";
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
@@ -7762,13 +7762,13 @@ var DocumentBuilder = class {
7762
7762
  }
7763
7763
  /**
7764
7764
  * Usage:
7765
- * <pre>
7765
+ * ```ts
7766
7766
  * addTuplet(0, Theory.Tuplet.Triplet, notes => {
7767
7767
  * notes.addNote("G3", Theory.NoteLength.Eighth);
7768
7768
  * notes.addNote("B3", Theory.NoteLength.Eighth);
7769
7769
  * notes.addNote("D4", Theory.NoteLength.Eighth);
7770
7770
  * });
7771
- * </pre>
7771
+ * ```
7772
7772
  *
7773
7773
  * @param voiceId - Voice id to add tuplet to.
7774
7774
  * @param tupletRatio - You can also use Theory.Tuplet presets (e.g. Theory.Tuplet.Triplet).
@@ -7983,13 +7983,13 @@ var DocumentBuilder = class {
7983
7983
  }
7984
7984
  /**
7985
7985
  * Add extension line to previously added annotation or label element.
7986
- * <pre>
7986
+ * ```ts
7987
7987
  * // Example
7988
7988
  * addExtension(ext => ext.notes("1n", 2)) // length is 2 whole notes
7989
7989
  * addExtension(ext => ext.measures(3).hide()) // length is 3 measures, hidden
7990
7990
  * addExtension(ext => ext.measures(1).notes("8n")) // length is 1 measure + 1 eigth note
7991
7991
  * addExtension(ext => ext.infinity()) // length is as long as possible
7992
- * </pre>
7992
+ * ```
7993
7993
  * @param extensionBuilder - Extension builder function used to build exstension.
7994
7994
  * @returns - This document builder instance.
7995
7995
  */
@@ -1,10 +1,10 @@
1
- /* WebMusicScore v4.2.1 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  import {
3
3
  RhythmProps
4
- } from "../chunk-RQFFLRWF.mjs";
4
+ } from "../chunk-EYFT3RWB.mjs";
5
5
  import {
6
6
  __publicField
7
- } from "../chunk-64N22LCV.mjs";
7
+ } from "../chunk-J3KU3U4W.mjs";
8
8
 
9
9
  // src/score/pub/div-rect.ts
10
10
  import { Utils } from "@tspro/ts-utils-lib";
@@ -7425,13 +7425,13 @@ var DocumentBuilder = class {
7425
7425
  }
7426
7426
  /**
7427
7427
  * Usage:
7428
- * <pre>
7428
+ * ```ts
7429
7429
  * addTuplet(0, Theory.Tuplet.Triplet, notes => {
7430
7430
  * notes.addNote("G3", Theory.NoteLength.Eighth);
7431
7431
  * notes.addNote("B3", Theory.NoteLength.Eighth);
7432
7432
  * notes.addNote("D4", Theory.NoteLength.Eighth);
7433
7433
  * });
7434
- * </pre>
7434
+ * ```
7435
7435
  *
7436
7436
  * @param voiceId - Voice id to add tuplet to.
7437
7437
  * @param tupletRatio - You can also use Theory.Tuplet presets (e.g. Theory.Tuplet.Triplet).
@@ -7646,13 +7646,13 @@ var DocumentBuilder = class {
7646
7646
  }
7647
7647
  /**
7648
7648
  * Add extension line to previously added annotation or label element.
7649
- * <pre>
7649
+ * ```ts
7650
7650
  * // Example
7651
7651
  * addExtension(ext => ext.notes("1n", 2)) // length is 2 whole notes
7652
7652
  * addExtension(ext => ext.measures(3).hide()) // length is 3 measures, hidden
7653
7653
  * addExtension(ext => ext.measures(1).notes("8n")) // length is 1 measure + 1 eigth note
7654
7654
  * addExtension(ext => ext.infinity()) // length is as long as possible
7655
- * </pre>
7655
+ * ```
7656
7656
  * @param extensionBuilder - Extension builder function used to build exstension.
7657
7657
  * @returns - This document builder instance.
7658
7658
  */
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v4.2.1 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v4.2.1 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  import {
3
3
  NoteLength,
4
4
  NoteLengthProps,
@@ -6,10 +6,10 @@ import {
6
6
  Tuplet,
7
7
  validateNoteLength,
8
8
  validateTupletRatio
9
- } from "../chunk-RQFFLRWF.mjs";
9
+ } from "../chunk-EYFT3RWB.mjs";
10
10
  import {
11
11
  __publicField
12
- } from "../chunk-64N22LCV.mjs";
12
+ } from "../chunk-J3KU3U4W.mjs";
13
13
 
14
14
  // src/theory/chord.ts
15
15
  import { Utils as Utils6 } from "@tspro/ts-utils-lib";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tspro/web-music-score",
3
- "version": "4.2.1",
3
+ "version": "5.0.0",
4
4
  "author": "PahkaSoft",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -108,7 +108,7 @@
108
108
  "@types/react-dom": "^18.0.0",
109
109
  "rimraf": "^6.0.1",
110
110
  "tsup": "^8.5.0",
111
- "typedoc": "^0.28.6",
111
+ "typedoc": "^0.28.13",
112
112
  "typescript": "latest"
113
113
  },
114
114
  "workspaces": [