@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.
- package/CHANGELOG.md +9 -0
- package/README.md +51 -17
- package/dist/audio/index.d.mts +9 -26
- package/dist/audio/index.d.ts +9 -26
- package/dist/audio/index.js +44 -25
- package/dist/audio/index.mjs +38 -24
- package/dist/audio-cg/index.d.mts +13 -3
- package/dist/audio-cg/index.d.ts +13 -3
- package/dist/audio-cg/index.js +54 -51
- package/dist/audio-cg/index.mjs +49 -52
- package/dist/chunk-AAL3CMRO.mjs +11 -0
- package/dist/{chunk-RQFFLRWF.mjs → chunk-EYFT3RWB.mjs} +3 -3
- package/dist/{chunk-64N22LCV.mjs → chunk-J3KU3U4W.mjs} +2 -2
- package/dist/core/index.d.mts +2 -1
- package/dist/core/index.d.ts +2 -1
- package/dist/core/index.js +3 -2
- package/dist/core/index.mjs +4 -3
- package/dist/iife/audio-cg.global.js +220 -0
- package/dist/iife/index.global.js +11 -11
- package/dist/instrument-DYboobMW.d.mts +44 -0
- package/dist/instrument-DYboobMW.d.ts +44 -0
- package/dist/pieces/index.js +1 -1
- package/dist/pieces/index.mjs +2 -2
- package/dist/react-ui/index.d.mts +22 -22
- package/dist/react-ui/index.d.ts +22 -22
- package/dist/react-ui/index.js +1 -1
- package/dist/react-ui/index.mjs +2 -2
- package/dist/score/index.d.mts +6 -6
- package/dist/score/index.d.ts +6 -6
- package/dist/score/index.js +5 -5
- package/dist/score/index.mjs +7 -7
- package/dist/theory/index.js +1 -1
- package/dist/theory/index.mjs +3 -3
- package/package.json +2 -2
|
@@ -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 };
|
package/dist/pieces/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* WebMusicScore
|
|
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;
|
package/dist/pieces/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/* WebMusicScore
|
|
2
|
-
import "../chunk-
|
|
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
|
-
*
|
|
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
|
|
31
|
-
*
|
|
30
|
+
* return <>
|
|
31
|
+
* <ScoreUI.CircleOfFifths
|
|
32
32
|
* style={{ position: "relative", padding: "0.5em" }}
|
|
33
33
|
* scale={curScale}
|
|
34
|
-
* onScaleChange={onChangeScale}
|
|
35
|
-
*
|
|
34
|
+
* onScaleChange={onChangeScale} />
|
|
35
|
+
* </>;
|
|
36
36
|
* }
|
|
37
|
-
*
|
|
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
|
-
*
|
|
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
|
|
208
|
-
*
|
|
207
|
+
* return <>
|
|
208
|
+
* <ScoreUI.GuitarView
|
|
209
209
|
* style={{ position: "relative", width: 640 }}
|
|
210
210
|
* guitarContext={guitarCtx}
|
|
211
211
|
* onUpdateFretPosition={onUpdateFretPosition}
|
|
212
|
-
* onClickFretPosition={onClickFretPosition}
|
|
213
|
-
*
|
|
212
|
+
* onClickFretPosition={onClickFretPosition} />
|
|
213
|
+
* </>;
|
|
214
214
|
* }
|
|
215
|
-
*
|
|
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
|
-
*
|
|
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
|
|
247
|
-
*
|
|
248
|
-
*
|
|
246
|
+
* return <>
|
|
247
|
+
* <Score.MusicScoreView doc=\{doc\} />
|
|
248
|
+
* </>;
|
|
249
249
|
* }
|
|
250
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
285
|
+
* <Score.PlaybackButtons doc={doc} />
|
|
286
286
|
*
|
|
287
287
|
* // Create playback buttons with custom play, pause and stop labels:
|
|
288
|
-
*
|
|
288
|
+
* <Score.PlaybackButtons doc={doc} playLabel="⏵" pauseLabel="⏸" stopLabel="⏹" />
|
|
289
289
|
*
|
|
290
290
|
* // Create playback buttons with different button layout.
|
|
291
|
-
*
|
|
292
|
-
*
|
|
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;
|
package/dist/react-ui/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ interface CircleOfFifthsProps {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Circle of fifths react component.
|
|
17
|
-
*
|
|
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
|
|
31
|
-
*
|
|
30
|
+
* return <>
|
|
31
|
+
* <ScoreUI.CircleOfFifths
|
|
32
32
|
* style={{ position: "relative", padding: "0.5em" }}
|
|
33
33
|
* scale={curScale}
|
|
34
|
-
* onScaleChange={onChangeScale}
|
|
35
|
-
*
|
|
34
|
+
* onScaleChange={onChangeScale} />
|
|
35
|
+
* </>;
|
|
36
36
|
* }
|
|
37
|
-
*
|
|
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
|
-
*
|
|
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
|
|
208
|
-
*
|
|
207
|
+
* return <>
|
|
208
|
+
* <ScoreUI.GuitarView
|
|
209
209
|
* style={{ position: "relative", width: 640 }}
|
|
210
210
|
* guitarContext={guitarCtx}
|
|
211
211
|
* onUpdateFretPosition={onUpdateFretPosition}
|
|
212
|
-
* onClickFretPosition={onClickFretPosition}
|
|
213
|
-
*
|
|
212
|
+
* onClickFretPosition={onClickFretPosition} />
|
|
213
|
+
* </>;
|
|
214
214
|
* }
|
|
215
|
-
*
|
|
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
|
-
*
|
|
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
|
|
247
|
-
*
|
|
248
|
-
*
|
|
246
|
+
* return <>
|
|
247
|
+
* <Score.MusicScoreView doc=\{doc\} />
|
|
248
|
+
* </>;
|
|
249
249
|
* }
|
|
250
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
285
|
+
* <Score.PlaybackButtons doc={doc} />
|
|
286
286
|
*
|
|
287
287
|
* // Create playback buttons with custom play, pause and stop labels:
|
|
288
|
-
*
|
|
288
|
+
* <Score.PlaybackButtons doc={doc} playLabel="⏵" pauseLabel="⏸" stopLabel="⏹" />
|
|
289
289
|
*
|
|
290
290
|
* // Create playback buttons with different button layout.
|
|
291
|
-
*
|
|
292
|
-
*
|
|
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;
|
package/dist/react-ui/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* WebMusicScore
|
|
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;
|
package/dist/react-ui/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/* WebMusicScore
|
|
1
|
+
/* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
|
|
2
2
|
import {
|
|
3
3
|
__publicField
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-J3KU3U4W.mjs";
|
|
5
5
|
|
|
6
6
|
// src/react-ui/circle-of-fifths.tsx
|
|
7
7
|
import * as React from "react";
|
package/dist/score/index.d.mts
CHANGED
|
@@ -59,7 +59,7 @@ type ExtensionBuilder = {
|
|
|
59
59
|
};
|
|
60
60
|
/**
|
|
61
61
|
* Document builder class.
|
|
62
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
380
|
+
* ```
|
|
381
381
|
* @param extensionBuilder - Extension builder function used to build exstension.
|
|
382
382
|
* @returns - This document builder instance.
|
|
383
383
|
*/
|
package/dist/score/index.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ type ExtensionBuilder = {
|
|
|
59
59
|
};
|
|
60
60
|
/**
|
|
61
61
|
* Document builder class.
|
|
62
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
380
|
+
* ```
|
|
381
381
|
* @param extensionBuilder - Extension builder function used to build exstension.
|
|
382
382
|
* @returns - This document builder instance.
|
|
383
383
|
*/
|
package/dist/score/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* WebMusicScore
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
7992
|
+
* ```
|
|
7993
7993
|
* @param extensionBuilder - Extension builder function used to build exstension.
|
|
7994
7994
|
* @returns - This document builder instance.
|
|
7995
7995
|
*/
|
package/dist/score/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/* WebMusicScore
|
|
1
|
+
/* WebMusicScore v5.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
|
|
2
2
|
import {
|
|
3
3
|
RhythmProps
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-EYFT3RWB.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__publicField
|
|
7
|
-
} from "../chunk-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
7655
|
+
* ```
|
|
7656
7656
|
* @param extensionBuilder - Extension builder function used to build exstension.
|
|
7657
7657
|
* @returns - This document builder instance.
|
|
7658
7658
|
*/
|
package/dist/theory/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* WebMusicScore
|
|
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;
|
package/dist/theory/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* WebMusicScore
|
|
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-
|
|
9
|
+
} from "../chunk-EYFT3RWB.mjs";
|
|
10
10
|
import {
|
|
11
11
|
__publicField
|
|
12
|
-
} from "../chunk-
|
|
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": "
|
|
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.
|
|
111
|
+
"typedoc": "^0.28.13",
|
|
112
112
|
"typescript": "latest"
|
|
113
113
|
},
|
|
114
114
|
"workspaces": [
|