@tspro/web-music-score 3.2.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +26 -10
  2. package/README.md +189 -331
  3. package/dist/audio/index.d.ts +1 -1
  4. package/dist/audio/index.js +1 -1
  5. package/dist/audio/index.mjs +2 -2
  6. package/dist/audio-cg/index.js +1 -1
  7. package/dist/audio-cg/index.mjs +2 -2
  8. package/dist/{chunk-LCTM7BID.mjs → chunk-D643HZHM.mjs} +2 -2
  9. package/dist/core/index.js +2 -2
  10. package/dist/core/index.mjs +3 -3
  11. package/dist/{guitar-C2Cp71NZ.d.ts → guitar-cNmE-EvH.d.ts} +1 -1
  12. package/dist/iife/index.global.js +11 -11
  13. package/dist/{interface-BlNl69uT.d.ts → interface-7k8qGG44.d.ts} +89 -81
  14. package/dist/{interface-Bn5HFt_U.d.mts → interface-XoKiryoV.d.mts} +88 -80
  15. package/dist/{note-BFa43I86.d.ts → note-CcVdUFqS.d.ts} +1 -1
  16. package/dist/pieces/index.d.mts +2 -2
  17. package/dist/pieces/index.d.ts +3 -3
  18. package/dist/pieces/index.js +4 -7
  19. package/dist/pieces/index.mjs +8 -11
  20. package/dist/react-ui/index.d.mts +3 -3
  21. package/dist/react-ui/index.d.ts +5 -5
  22. package/dist/react-ui/index.js +1 -1
  23. package/dist/react-ui/index.mjs +2 -2
  24. package/dist/{scale-DRR-t4Kr.d.mts → scale-C2pCNxdE.d.mts} +4 -3
  25. package/dist/{scale-ebJm37q1.d.ts → scale-CvPbJvfN.d.ts} +5 -4
  26. package/dist/score/index.d.mts +98 -31
  27. package/dist/score/index.d.ts +99 -32
  28. package/dist/score/index.js +748 -567
  29. package/dist/score/index.mjs +755 -574
  30. package/dist/tempo-BAYoZ_Li.d.mts +187 -0
  31. package/dist/tempo-r2sb6Ku2.d.ts +187 -0
  32. package/dist/theory/index.d.mts +3 -3
  33. package/dist/theory/index.d.ts +6 -6
  34. package/dist/theory/index.js +221 -78
  35. package/dist/theory/index.mjs +218 -76
  36. package/package.json +2 -2
  37. package/dist/tempo-B4h5Ktob.d.mts +0 -104
  38. package/dist/tempo-DgqDEsn0.d.ts +0 -104
@@ -0,0 +1,187 @@
1
+ import { N as Note, A as Accidental } from './note-BFa43I86.mjs';
2
+
3
+ declare enum Mode {
4
+ Ionian = 1,
5
+ Dorian = 2,
6
+ Phrygian = 3,
7
+ Lydian = 4,
8
+ Mixolydian = 5,
9
+ Aeolian = 6,
10
+ Locrian = 7
11
+ }
12
+ declare enum AccidentalType {
13
+ Natural = 0,
14
+ Flats = 1,
15
+ Sharps = 2
16
+ }
17
+ declare function getDefaultKeySignature(): KeySignature;
18
+ declare class KeySignature {
19
+ readonly tonic: string;
20
+ readonly mode: Mode;
21
+ private static readonly OrderOfSharps;
22
+ private static readonly OrderOfFlats;
23
+ private readonly naturalScaleNotes;
24
+ private readonly accidentalByDiatonicClass;
25
+ private readonly orderedAccidentedNotes;
26
+ /**
27
+ * @param tonic - Tonic/root note.
28
+ * @param mode - Mode: Ionian/Major = 1, Dorian = 2, ..., Locrian = 7
29
+ */
30
+ protected constructor(tonic: string, mode: Mode);
31
+ getAccidentalType(): AccidentalType;
32
+ getNaturalScaleNotes(): ReadonlyArray<Note>;
33
+ getAccidental(diatonicId: number): Accidental;
34
+ getNumAccidentals(): number;
35
+ getOrderedAccidentalNotes(): ReadonlyArray<Note>;
36
+ /**
37
+ *
38
+ * @param degree - number 1..7 or string e.g "b5" or "#4"
39
+ * @returns
40
+ */
41
+ getNoteByDegree(degree: number | string): Note;
42
+ static equals(a: KeySignature | null | undefined, b: KeySignature | null | undefined): boolean;
43
+ }
44
+
45
+ declare enum NoteLength {
46
+ Whole = "1n",
47
+ WholeTriplet = "1t",
48
+ WholeDot = "1.",
49
+ Whole12Dots = "1..",
50
+ Whole3Dots = "1...",
51
+ Whole4Dots = "1....",
52
+ Whole5Dots = "1.....",
53
+ Whole6Dots = "1......",
54
+ Half = "2n",
55
+ HalfTriplet = "2t",
56
+ HalfDot = "2.",
57
+ Half2Dots = "2..",
58
+ Half3Dots = "2...",
59
+ Half4Dots = "2....",
60
+ Half5Dots = "2.....",
61
+ Quarter = "4n",
62
+ QuarterTriplet = "4t",
63
+ QuarterDot = "4.",
64
+ Quarter2Dots = "4..",
65
+ Quarter3Dots = "4...",
66
+ Quarter4Dots = "4....",
67
+ Eighth = "8n",
68
+ EighthTriplet = "8t",
69
+ EighthDot = "8.",
70
+ Eighth2Dots = "8..",
71
+ Eighth3Dots = "8...",
72
+ Sixteenth = "16n",
73
+ SixteenthTriplet = "16t",
74
+ SixteenthDot = "16.",
75
+ Sixteenth2Dots = "16..",
76
+ ThirtySecond = "32n",
77
+ ThirtySecondTriplet = "32t",
78
+ ThirtySecondDot = "32.",
79
+ SixtyFourth = "64n",
80
+ SixtyFourthTriplet = "64t"
81
+ }
82
+ type NoteLengthStr = `${NoteLength}`;
83
+ declare function validateNoteLength(noteLength: unknown): NoteLength;
84
+ declare class NoteLengthProps {
85
+ static LongestNoteSize: number;
86
+ static ShortestNoteSize: number;
87
+ readonly noteLength: NoteLength;
88
+ readonly noteSize: number;
89
+ readonly ticks: number;
90
+ readonly flagCount: number;
91
+ readonly dotCount: number;
92
+ readonly maxDotCount: number;
93
+ readonly isTriplet: boolean;
94
+ readonly hasStem: boolean;
95
+ readonly isSolid: boolean;
96
+ private constructor();
97
+ private static cache;
98
+ static get(noteLength: NoteLength | NoteLengthStr | string): NoteLengthProps;
99
+ static create(noteLength: NoteLength | NoteLengthStr | string | number, dotCount?: number): NoteLengthProps;
100
+ /**
101
+ * Compare note lengths/sizes. Whole (1) > half (2) > quarter (4), etc.
102
+ * Ignores possible triplet property of note length.
103
+ * @param a - NoteLengthProps, NoteLength/Str or noteSize
104
+ * @param b - NoteLengthProps, NoteLength/Str or noteSize
105
+ * @returns - -1: a < b, 0: a === b, +1: a > b (note length/size comparisons)
106
+ */
107
+ static cmp(a: NoteLengthProps | NoteLength | NoteLengthStr | number, b: NoteLengthProps | NoteLength | NoteLengthStr | number): -1 | 0 | 1;
108
+ /**
109
+ * Compare note lengths/sizes for equality.
110
+ * Ignores possible triplet property of note length.
111
+ * @param a - NoteLengthProps, NoteLength/Str or noteSize
112
+ * @param b - NoteLengthProps, NoteLength/Str or noteSize
113
+ * @returns - true: a === b, false: a !== b (note length/size comparisons)
114
+ */
115
+ static equals(a: NoteLengthProps | NoteLength | NoteLengthStr | number, b: NoteLengthProps | NoteLength | NoteLengthStr | number): boolean;
116
+ }
117
+ interface TupletRatio {
118
+ parts: number;
119
+ inTimeOf: number;
120
+ }
121
+ declare function validateTupletRatio(tupletRatio: unknown): TupletRatio;
122
+ declare const Tuplet: Record<"Duplet" | "Triplet" | "Quadruplet", TupletRatio>;
123
+ declare class RhythmProps {
124
+ readonly noteLength: NoteLength;
125
+ readonly noteSize: number;
126
+ readonly dotCount: number;
127
+ readonly tupletRatio?: TupletRatio;
128
+ readonly ticks: number;
129
+ readonly flagCount: number;
130
+ readonly hasStem: boolean;
131
+ readonly isSolidNoteHead: boolean;
132
+ private constructor();
133
+ private static NoteSymbolMap;
134
+ toString(): string;
135
+ private static cache;
136
+ static get(noteLength: NoteLength | NoteLengthStr, dotCount?: number, tupletRatio?: TupletRatio): RhythmProps;
137
+ /**
138
+ * Compare duration of rhythm props.
139
+ * @param a - RhythmProps
140
+ * @param b - RhythmProps
141
+ * @returns - -1: a < b, 0: a === b, +1: a > b (duration comparisons)
142
+ */
143
+ static cmp(a: RhythmProps, b: RhythmProps): -1 | 0 | 1;
144
+ /**
145
+ * Compare duration equality of rhythm props.
146
+ * @param a - RhythmProps
147
+ * @param b - RhythmProps
148
+ * @returns - true: a === b, false: a !== b (duration comparisons)
149
+ */
150
+ static equals(a: RhythmProps, b: RhythmProps): boolean;
151
+ }
152
+
153
+ type TimeSignatureString = "2/4" | "3/4" | "4/4" | "6/8" | "9/8";
154
+ declare class TimeSignature {
155
+ readonly beatCount: number;
156
+ readonly beatSize: number;
157
+ /** Lengths in ticks */
158
+ readonly beatLength: NoteLength;
159
+ readonly measureTicks: number;
160
+ readonly beamGroupCount: number;
161
+ readonly beamGroupLength: number;
162
+ /**
163
+ * @param str - For example "4/4".
164
+ */
165
+ constructor(str: TimeSignatureString);
166
+ /**
167
+ * @param beatCount - Measure beat count.
168
+ * @param beatSize - Size value: whole-note=1, half-note=2, quarter-note=4, etc.
169
+ */
170
+ constructor(beatCount: number, beatSize: number);
171
+ is(beatCount: number, beatSize: number): boolean;
172
+ toString(): string;
173
+ }
174
+ declare function getDefaultTimeSignature(): TimeSignature;
175
+
176
+ type Tempo = {
177
+ beatsPerMinute: number;
178
+ options: {
179
+ beatLength: NoteLength;
180
+ dotCount: number;
181
+ };
182
+ };
183
+ declare function getDefaultTempo(): Readonly<Tempo>;
184
+ declare function getTempoString(tempo: Tempo): string;
185
+ declare function alterTempoSpeed(tempo: Tempo, speed: number): Tempo;
186
+
187
+ export { AccidentalType as A, KeySignature as K, Mode as M, NoteLength as N, RhythmProps as R, type TimeSignatureString as T, TimeSignature as a, getDefaultTimeSignature as b, type Tempo as c, getDefaultTempo as d, getTempoString as e, alterTempoSpeed as f, getDefaultKeySignature as g, type NoteLengthStr as h, NoteLengthProps as i, type TupletRatio as j, validateTupletRatio as k, Tuplet as l, validateNoteLength as v };
@@ -0,0 +1,187 @@
1
+ import { N as Note, A as Accidental } from './note-CcVdUFqS.js';
2
+
3
+ declare enum Mode {
4
+ Ionian = 1,
5
+ Dorian = 2,
6
+ Phrygian = 3,
7
+ Lydian = 4,
8
+ Mixolydian = 5,
9
+ Aeolian = 6,
10
+ Locrian = 7
11
+ }
12
+ declare enum AccidentalType {
13
+ Natural = 0,
14
+ Flats = 1,
15
+ Sharps = 2
16
+ }
17
+ declare function getDefaultKeySignature(): KeySignature;
18
+ declare class KeySignature {
19
+ readonly tonic: string;
20
+ readonly mode: Mode;
21
+ private static readonly OrderOfSharps;
22
+ private static readonly OrderOfFlats;
23
+ private readonly naturalScaleNotes;
24
+ private readonly accidentalByDiatonicClass;
25
+ private readonly orderedAccidentedNotes;
26
+ /**
27
+ * @param tonic - Tonic/root note.
28
+ * @param mode - Mode: Ionian/Major = 1, Dorian = 2, ..., Locrian = 7
29
+ */
30
+ protected constructor(tonic: string, mode: Mode);
31
+ getAccidentalType(): AccidentalType;
32
+ getNaturalScaleNotes(): ReadonlyArray<Note>;
33
+ getAccidental(diatonicId: number): Accidental;
34
+ getNumAccidentals(): number;
35
+ getOrderedAccidentalNotes(): ReadonlyArray<Note>;
36
+ /**
37
+ *
38
+ * @param degree - number 1..7 or string e.g "b5" or "#4"
39
+ * @returns
40
+ */
41
+ getNoteByDegree(degree: number | string): Note;
42
+ static equals(a: KeySignature | null | undefined, b: KeySignature | null | undefined): boolean;
43
+ }
44
+
45
+ declare enum NoteLength {
46
+ Whole = "1n",
47
+ WholeTriplet = "1t",
48
+ WholeDot = "1.",
49
+ Whole12Dots = "1..",
50
+ Whole3Dots = "1...",
51
+ Whole4Dots = "1....",
52
+ Whole5Dots = "1.....",
53
+ Whole6Dots = "1......",
54
+ Half = "2n",
55
+ HalfTriplet = "2t",
56
+ HalfDot = "2.",
57
+ Half2Dots = "2..",
58
+ Half3Dots = "2...",
59
+ Half4Dots = "2....",
60
+ Half5Dots = "2.....",
61
+ Quarter = "4n",
62
+ QuarterTriplet = "4t",
63
+ QuarterDot = "4.",
64
+ Quarter2Dots = "4..",
65
+ Quarter3Dots = "4...",
66
+ Quarter4Dots = "4....",
67
+ Eighth = "8n",
68
+ EighthTriplet = "8t",
69
+ EighthDot = "8.",
70
+ Eighth2Dots = "8..",
71
+ Eighth3Dots = "8...",
72
+ Sixteenth = "16n",
73
+ SixteenthTriplet = "16t",
74
+ SixteenthDot = "16.",
75
+ Sixteenth2Dots = "16..",
76
+ ThirtySecond = "32n",
77
+ ThirtySecondTriplet = "32t",
78
+ ThirtySecondDot = "32.",
79
+ SixtyFourth = "64n",
80
+ SixtyFourthTriplet = "64t"
81
+ }
82
+ type NoteLengthStr = `${NoteLength}`;
83
+ declare function validateNoteLength(noteLength: unknown): NoteLength;
84
+ declare class NoteLengthProps {
85
+ static LongestNoteSize: number;
86
+ static ShortestNoteSize: number;
87
+ readonly noteLength: NoteLength;
88
+ readonly noteSize: number;
89
+ readonly ticks: number;
90
+ readonly flagCount: number;
91
+ readonly dotCount: number;
92
+ readonly maxDotCount: number;
93
+ readonly isTriplet: boolean;
94
+ readonly hasStem: boolean;
95
+ readonly isSolid: boolean;
96
+ private constructor();
97
+ private static cache;
98
+ static get(noteLength: NoteLength | NoteLengthStr | string): NoteLengthProps;
99
+ static create(noteLength: NoteLength | NoteLengthStr | string | number, dotCount?: number): NoteLengthProps;
100
+ /**
101
+ * Compare note lengths/sizes. Whole (1) > half (2) > quarter (4), etc.
102
+ * Ignores possible triplet property of note length.
103
+ * @param a - NoteLengthProps, NoteLength/Str or noteSize
104
+ * @param b - NoteLengthProps, NoteLength/Str or noteSize
105
+ * @returns - -1: a < b, 0: a === b, +1: a > b (note length/size comparisons)
106
+ */
107
+ static cmp(a: NoteLengthProps | NoteLength | NoteLengthStr | number, b: NoteLengthProps | NoteLength | NoteLengthStr | number): -1 | 0 | 1;
108
+ /**
109
+ * Compare note lengths/sizes for equality.
110
+ * Ignores possible triplet property of note length.
111
+ * @param a - NoteLengthProps, NoteLength/Str or noteSize
112
+ * @param b - NoteLengthProps, NoteLength/Str or noteSize
113
+ * @returns - true: a === b, false: a !== b (note length/size comparisons)
114
+ */
115
+ static equals(a: NoteLengthProps | NoteLength | NoteLengthStr | number, b: NoteLengthProps | NoteLength | NoteLengthStr | number): boolean;
116
+ }
117
+ interface TupletRatio {
118
+ parts: number;
119
+ inTimeOf: number;
120
+ }
121
+ declare function validateTupletRatio(tupletRatio: unknown): TupletRatio;
122
+ declare const Tuplet: Record<"Duplet" | "Triplet" | "Quadruplet", TupletRatio>;
123
+ declare class RhythmProps {
124
+ readonly noteLength: NoteLength;
125
+ readonly noteSize: number;
126
+ readonly dotCount: number;
127
+ readonly tupletRatio?: TupletRatio;
128
+ readonly ticks: number;
129
+ readonly flagCount: number;
130
+ readonly hasStem: boolean;
131
+ readonly isSolidNoteHead: boolean;
132
+ private constructor();
133
+ private static NoteSymbolMap;
134
+ toString(): string;
135
+ private static cache;
136
+ static get(noteLength: NoteLength | NoteLengthStr, dotCount?: number, tupletRatio?: TupletRatio): RhythmProps;
137
+ /**
138
+ * Compare duration of rhythm props.
139
+ * @param a - RhythmProps
140
+ * @param b - RhythmProps
141
+ * @returns - -1: a < b, 0: a === b, +1: a > b (duration comparisons)
142
+ */
143
+ static cmp(a: RhythmProps, b: RhythmProps): -1 | 0 | 1;
144
+ /**
145
+ * Compare duration equality of rhythm props.
146
+ * @param a - RhythmProps
147
+ * @param b - RhythmProps
148
+ * @returns - true: a === b, false: a !== b (duration comparisons)
149
+ */
150
+ static equals(a: RhythmProps, b: RhythmProps): boolean;
151
+ }
152
+
153
+ type TimeSignatureString = "2/4" | "3/4" | "4/4" | "6/8" | "9/8";
154
+ declare class TimeSignature {
155
+ readonly beatCount: number;
156
+ readonly beatSize: number;
157
+ /** Lengths in ticks */
158
+ readonly beatLength: NoteLength;
159
+ readonly measureTicks: number;
160
+ readonly beamGroupCount: number;
161
+ readonly beamGroupLength: number;
162
+ /**
163
+ * @param str - For example "4/4".
164
+ */
165
+ constructor(str: TimeSignatureString);
166
+ /**
167
+ * @param beatCount - Measure beat count.
168
+ * @param beatSize - Size value: whole-note=1, half-note=2, quarter-note=4, etc.
169
+ */
170
+ constructor(beatCount: number, beatSize: number);
171
+ is(beatCount: number, beatSize: number): boolean;
172
+ toString(): string;
173
+ }
174
+ declare function getDefaultTimeSignature(): TimeSignature;
175
+
176
+ type Tempo = {
177
+ beatsPerMinute: number;
178
+ options: {
179
+ beatLength: NoteLength;
180
+ dotCount: number;
181
+ };
182
+ };
183
+ declare function getDefaultTempo(): Readonly<Tempo>;
184
+ declare function getTempoString(tempo: Tempo): string;
185
+ declare function alterTempoSpeed(tempo: Tempo, speed: number): Tempo;
186
+
187
+ export { AccidentalType as A, KeySignature as K, Mode as M, NoteLength as N, RhythmProps as R, type TimeSignatureString as T, TimeSignature as a, getDefaultTimeSignature as b, type Tempo as c, getDefaultTempo as d, getTempoString as e, alterTempoSpeed as f, getDefaultKeySignature as g, type NoteLengthStr as h, NoteLengthProps as i, type TupletRatio as j, validateTupletRatio as k, Tuplet as l, validateNoteLength as v };
@@ -1,9 +1,9 @@
1
1
  import { N as Note } from '../note-BFa43I86.mjs';
2
2
  export { A as Accidental, d as DefaultGuitarNoteLabel, D as DefaultPitchNotation, G as GuitarNoteLabel, e as GuitarNoteLabelList, a as NoteLetter, P as ParsedNote, b as PitchNotation, c as PitchNotationList, S as SymbolSet, g as getPitchNotationName, f as validateGuitarNoteLabel, v as validatePitchNotation } from '../note-BFa43I86.mjs';
3
- import { D as Degree } from '../scale-DRR-t4Kr.mjs';
4
- export { b as Interval, I as IntervalDirection, a as IntervalQuality, c as Scale, d as ScaleFactory, S as ScaleType, i as getDefaultScale, h as getScale, e as getScaleFactory, g as getScaleFactoryList, v as validateIntervalQuality, f as validateScaleType } from '../scale-DRR-t4Kr.mjs';
3
+ import { D as Degree } from '../scale-C2pCNxdE.mjs';
4
+ export { b as Interval, I as IntervalDirection, a as IntervalQuality, c as Scale, d as ScaleFactory, S as ScaleType, i as getDefaultScale, h as getScale, e as getScaleFactory, g as getScaleFactoryList, v as validateIntervalQuality, f as validateScaleType } from '../scale-C2pCNxdE.mjs';
5
5
  export { D as DefaultHandedness, a as DefaultTuningName, H as Handedness, T as TuningNameList, g as getTuningStrings, v as validateHandedness, b as validateTuningName } from '../guitar-DggbM2UL.mjs';
6
- export { A as AccidentalType, K as KeySignature, h as MaxNoteLength, i as MinNoteLength, M as Mode, N as NoteLength, R as RhythmProps, c as Tempo, a as TimeSignature, T as TimeSignatureString, f as alterTempoSpeed, g as getDefaultKeySignature, d as getDefaultTempo, b as getDefaultTimeSignature, e as getTempoString, v as validateNoteLength } from '../tempo-B4h5Ktob.mjs';
6
+ export { A as AccidentalType, K as KeySignature, M as Mode, N as NoteLength, i as NoteLengthProps, h as NoteLengthStr, R as RhythmProps, c as Tempo, a as TimeSignature, T as TimeSignatureString, l as Tuplet, j as TupletRatio, f as alterTempoSpeed, g as getDefaultKeySignature, d as getDefaultTempo, b as getDefaultTimeSignature, e as getTempoString, v as validateNoteLength, k as validateTupletRatio } from '../tempo-BAYoZ_Li.mjs';
7
7
 
8
8
  type ChordInfo = {
9
9
  name: string;
@@ -1,9 +1,9 @@
1
- import { N as Note } from '../note-BFa43I86.js';
2
- export { A as Accidental, d as DefaultGuitarNoteLabel, D as DefaultPitchNotation, G as GuitarNoteLabel, e as GuitarNoteLabelList, a as NoteLetter, P as ParsedNote, b as PitchNotation, c as PitchNotationList, S as SymbolSet, g as getPitchNotationName, f as validateGuitarNoteLabel, v as validatePitchNotation } from '../note-BFa43I86.js';
3
- import { D as Degree } from '../scale-ebJm37q1.js';
4
- export { b as Interval, I as IntervalDirection, a as IntervalQuality, c as Scale, d as ScaleFactory, S as ScaleType, i as getDefaultScale, h as getScale, e as getScaleFactory, g as getScaleFactoryList, v as validateIntervalQuality, f as validateScaleType } from '../scale-ebJm37q1.js';
5
- export { D as DefaultHandedness, a as DefaultTuningName, H as Handedness, T as TuningNameList, g as getTuningStrings, v as validateHandedness, b as validateTuningName } from '../guitar-C2Cp71NZ.js';
6
- export { A as AccidentalType, K as KeySignature, h as MaxNoteLength, i as MinNoteLength, M as Mode, N as NoteLength, R as RhythmProps, c as Tempo, a as TimeSignature, T as TimeSignatureString, f as alterTempoSpeed, g as getDefaultKeySignature, d as getDefaultTempo, b as getDefaultTimeSignature, e as getTempoString, v as validateNoteLength } from '../tempo-DgqDEsn0.js';
1
+ import { N as Note } from '../note-CcVdUFqS.js';
2
+ export { A as Accidental, d as DefaultGuitarNoteLabel, D as DefaultPitchNotation, G as GuitarNoteLabel, e as GuitarNoteLabelList, a as NoteLetter, P as ParsedNote, b as PitchNotation, c as PitchNotationList, S as SymbolSet, g as getPitchNotationName, f as validateGuitarNoteLabel, v as validatePitchNotation } from '../note-CcVdUFqS.js';
3
+ import { D as Degree } from '../scale-CvPbJvfN.js';
4
+ export { b as Interval, I as IntervalDirection, a as IntervalQuality, c as Scale, d as ScaleFactory, S as ScaleType, i as getDefaultScale, h as getScale, e as getScaleFactory, g as getScaleFactoryList, v as validateIntervalQuality, f as validateScaleType } from '../scale-CvPbJvfN.js';
5
+ export { D as DefaultHandedness, a as DefaultTuningName, H as Handedness, T as TuningNameList, g as getTuningStrings, v as validateHandedness, b as validateTuningName } from '../guitar-cNmE-EvH.js';
6
+ export { A as AccidentalType, K as KeySignature, M as Mode, N as NoteLength, i as NoteLengthProps, h as NoteLengthStr, R as RhythmProps, c as Tempo, a as TimeSignature, T as TimeSignatureString, l as Tuplet, j as TupletRatio, f as alterTempoSpeed, g as getDefaultKeySignature, d as getDefaultTempo, b as getDefaultTimeSignature, e as getTempoString, v as validateNoteLength, k as validateTupletRatio } from '../tempo-r2sb6Ku2.js';
7
7
 
8
8
  type ChordInfo = {
9
9
  name: string;