@tspro/web-music-score 2.0.0 → 3.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 +15 -0
  2. package/README.md +144 -63
  3. package/dist/audio/index.d.mts +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-2EPWQZKJ.mjs → chunk-ZWFAOHYM.mjs} +2 -2
  9. package/dist/core/index.js +2 -2
  10. package/dist/core/index.mjs +3 -3
  11. package/dist/{guitar-kbJYu3Am.d.mts → guitar-zASF7B1g.d.mts} +1 -1
  12. package/dist/iife/index.global.js +11 -12
  13. package/dist/interface-CLb7xa7_.d.mts +1768 -0
  14. package/dist/interface-DXyXwLBB.d.ts +1768 -0
  15. package/dist/{note-CraqEy8x.d.mts → note-B5ZtlHc8.d.mts} +1 -1
  16. package/dist/pieces/index.d.mts +3 -3
  17. package/dist/pieces/index.d.ts +2 -2
  18. package/dist/pieces/index.js +4 -52
  19. package/dist/pieces/index.mjs +8 -56
  20. package/dist/react-ui/index.d.mts +5 -4
  21. package/dist/react-ui/index.d.ts +3 -2
  22. package/dist/react-ui/index.js +1 -1
  23. package/dist/react-ui/index.mjs +2 -2
  24. package/dist/scale-B_2MZaT9.d.ts +87 -0
  25. package/dist/scale-C-YS5iVG.d.mts +87 -0
  26. package/dist/score/index.d.mts +42 -1557
  27. package/dist/score/index.d.ts +42 -1557
  28. package/dist/score/index.js +2845 -2029
  29. package/dist/score/index.mjs +2813 -2007
  30. package/dist/tempo-DoJd-UYT.d.ts +120 -0
  31. package/dist/tempo-TjQKn46X.d.mts +120 -0
  32. package/dist/theory/index.d.mts +6 -5
  33. package/dist/theory/index.d.ts +3 -2
  34. package/dist/theory/index.js +1 -1
  35. package/dist/theory/index.mjs +2 -2
  36. package/package.json +1 -1
  37. package/dist/tempo--588tdcv.d.ts +0 -203
  38. package/dist/tempo-BEJBHZ5I.d.mts +0 -203
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.0.0] - 2025-08-31
4
+ Major update and brought some important changes.
5
+ ### ** Breaking Changes **
6
+ - Removed old way of creating scores using MDocument, MMeasure, etc. Use DocumentBuilder instead.
7
+ - Removed DocumentOptions. Replaced using functions addScoreConfiguration() and setMeasuresPerRow() in DocumentBuilder.
8
+ - Tie and slur removed from NoteOptions. Use addConnective() in DocumentBuilder.
9
+
10
+ ## Added
11
+ - Score configuration with multiple staves and tabs per row.
12
+ - Connective.Slide.
13
+ - Draw Connectives in tabs.
14
+
15
+ ## Changed
16
+ - Lots of undocumented fixes, changes and improvements.
17
+
3
18
  ## [2.0.0] - 2025-07-28
4
19
  Major update and brought many changes.
5
20
  ### ** Breaking Changes **
package/README.md CHANGED
@@ -21,6 +21,15 @@ This is a work in progress project. Expect changes, bugs, or unexpected behavior
21
21
 
22
22
  Enough changes until next major update!
23
23
 
24
+ ## Version 3 Update
25
+
26
+ **Breaking:** Version 3 is another major update and brought some important changes.
27
+
28
+ * Support score configuration with multiple notation lines (combination of staves and tabs).
29
+ * Introduced DocumentBuilder to create scores, removed old way.
30
+ * DocumentOptions functionality is replaced using functions addScoreConfiguration() and setMeasuresPerRow() in DocumentBuilder.
31
+ * Add ties, slurs and slides using addConnective() in DocumentBuilder. Tie and span options removed from NoteOptions.
32
+
24
33
  ## Installation
25
34
 
26
35
  ```sh
@@ -62,13 +71,13 @@ It declares global variable `WebMusicScore` that contains `Core`, `Audio`, `Theo
62
71
  and `Pieces` as corresponding subpath modules (excluding `react-ui` and `audio-cg`).
63
72
 
64
73
  ```html
65
- <script src="https://unpkg.com/@tspro/web-music-score@2.0.0"></script>
74
+ <script src="https://unpkg.com/@tspro/web-music-score@3"></script>
75
+ <script src="https://unpkg.com/@tspro/web-music-score@3.0.0"></script>
76
+ <script src="https://unpkg.com/@tspro/web-music-score@3.0.0/dist/iife/index.global.js"></script>
66
77
 
67
78
  <!--
68
- It is recommended to use version number (e.g. @2.0.0, at least use @2). This way
69
- if there is breaking change between versions your code does not stop working.
70
-
71
- TODO: Add direct link to bundle.
79
+ Use one of above. It is recommended to use version number (e.g. @3.0.0 or at least @3).
80
+ This way if there is breaking change between versions your code does not stop working.
72
81
  -->
73
82
 
74
83
  <script>
@@ -79,66 +88,119 @@ and `Pieces` as corresponding subpath modules (excluding `react-ui` and `audio-c
79
88
 
80
89
  ## API
81
90
 
82
- Typedoc API reference is available [here](https://pahkasoft.github.io). It has no comments but
83
- is mostly self explanatory and gives idea of full API.
91
+ Typedoc API reference is available [here](https://pahkasoft.github.io).
92
+ It is not commented but is mostly self explanatory and gives idea of full API.
84
93
 
85
94
  Following is the main interface explained.
86
95
 
87
- ### Create Document
96
+ ### Create DocumentBuilder
97
+
98
+ Documents are created using `DocumentBuilder`.
88
99
 
89
100
  ```js
90
- let doc = new Score.MDocument(staffPreset: Score.StaffPreset, options: Score.DocumentOptions);
101
+ let builder = new Score.DocumentBuilder();
102
+
103
+ // Here build document, e.g.
104
+ builder
105
+ .addMEasure()
106
+ .addNote(0, "C3", Theory.NoteLength.Quarter)
107
+ // etc.
108
+
109
+ // When ready, get document:
110
+ let doc = builder.getDocument();
91
111
  ```
112
+
113
+ ### Set Score Configuration
114
+ Setting score configuration takes place in first measure of next row.
115
+
116
+ #### Using preset values
117
+ ```js
118
+ builder.setScoreConfiguration(staffPreset: Score.StaffPreset);
119
+ ```
120
+
92
121
  `staffPreset` can be:
93
122
  * `Score.StaffPreset.Treble`: Staff with treble (G-) clef.
94
123
  * `Score.StaffPreset.Bass`: Staff with bass (F-) clef.
95
124
  * `Score.StaffPreset.Grand`: Both treble and bas staves.
96
- * `Score.StaffPreset.GuitarTreble`: `Treble` but one octave lower.
125
+ * `Score.StaffPreset.GuitarTreble`: Same as `Treble` but one octave down.
97
126
  * `Score.StaffPreset.GuitarTab`: Guitar tab only.
98
127
  * `Score.StaffPreset.GuitarCombined`: Treble and tab for guitar.
99
128
 
100
- Second argument is optional `DocumentOptions`:
101
- ```ts
102
- DocumentOptions = { measuresPerRow?: number, tuning?: string }
129
+ ```js
130
+ // Example
131
+ builder.setScoreConfiguration(Score.StaffPreset.GuitarCombined);
103
132
  ```
104
133
 
105
- Default tuning is `"Standard"`. `Theory.TuningNameList` is array of available tuning names.
134
+ #### Using configuration objects
135
+ ```js
136
+ builder.setScoreConfiguration(config: Score.StaffConfig | Score.TabConfig);
137
+ builder.setScoreConfiguration(config: (Score.StaffConfig | Score.TabConfig)[]);
138
+ ```
139
+
140
+ `config` is `StaffConfig`, `TabConfig` or array of combination.
141
+
142
+ `StaffConfig` contains following properties:
143
+ * `type`: "staff"
144
+ * `clef`: Clef can be `Score.Clef.G` or `Score.Clef.F`.
145
+ * `isOctaveDown`: boolean (optional)
146
+ * `minNote`: string (optional), minimum note allowed in staff.
147
+ * `maxNote`: string (optional), maximum note allowed in staff.
148
+ * `voiceIds`: number[] (optional), array of voice ids are visible on this staff.
149
+ * `isGrand`: boolean (optional), use this to create grand staff.
150
+
151
+ `TabConfig` contains following properties:
152
+ * `type`: "tab"
153
+ * `tuning`: string | string[] (optional), tuning name or array of 6 note names for tuning.
154
+ * `voiceIds`: number[] (optional), array of voice ids are visible on this tab.
106
155
 
107
156
  ```js
108
- // Example
109
- let doc = new Score.MDocument(Score.StaffPreset.GuitarCombined, { tuning: "Drop D" });
157
+ // Example: Staff and tab for guitar
158
+ builder.setScoreConfiguration([
159
+ { type: "staff", clef: Score.Clef.G, isOctaveDown: true },
160
+ { type: "tab", tuning: "Drop D" }
161
+ ]);
162
+
163
+ // Example: Grand staff
164
+ builder.setScoreConfiguration([
165
+ { type: "staff", clef: Score.Clef.G, isGrand: true },
166
+ { type: "staff", clef: Score.Clef.F, isGrand: true }
167
+ ]);
110
168
  ```
111
169
 
112
- ### Set Header
170
+ ### Set Automatic Measures Per Row
171
+ ```ts
172
+ builder.setMesuresPerRow(measuresPerRow: number)
173
+ ```
113
174
 
175
+ `measuresPerRow` can be integer >= 1, or Infinity (default).
176
+
177
+ ### Set Header
114
178
  ```js
115
- doc.setHeader(title?: string, composer?: string, arranger?: string);
179
+ builder.setHeader(title?: string, composer?: string, arranger?: string);
116
180
 
117
181
  // Example
118
- doc.setHeader("Demo Song");
182
+ builder.setHeader("Demo Song");
119
183
  ```
120
184
 
121
185
  ### Add Measure
122
-
123
186
  ```js
124
- let m = doc.addMeasure();
187
+ builder.addMeasure();
125
188
  ```
126
189
 
127
190
  ### End Row
128
-
129
191
  ```js
130
- m.endRow();
192
+ builder.endRow();
131
193
  ```
132
194
 
133
- Manually induce row change. Next measure that is added will start new row.
195
+ Manually induce row change. Next measure that is added will begin new row.
134
196
 
135
- ### Set Signature
197
+ ### Set Key Signature
136
198
 
137
199
  ```js
138
- m.setKeySignature(tonic: string, scaleType: Theory.ScaleType);
200
+ builder.setKeySignature(tonic: string, scaleType: Theory.ScaleType);
139
201
 
140
202
  // Example: Am
141
- m.setKeySignature("A", Theory.ScaleType.Aeolian);
203
+ builder.setKeySignature("A", Theory.ScaleType.Aeolian);
142
204
  ```
143
205
 
144
206
  `tonic` is scale tonic/root note, e.g. "C" (in "C Major").
@@ -160,11 +222,12 @@ m.setKeySignature("A", Theory.ScaleType.Aeolian);
160
222
  - `Theory.ScaleType.MinorHexatonicBlues`
161
223
  - `Theory.ScaleType.HeptatonicBlues`
162
224
 
225
+ ### Set Time Signature
163
226
  ```js
164
- m.setTimeSignature(timeSignature: string);
227
+ builder.setTimeSignature(timeSignature: string);
165
228
 
166
229
  // Example
167
- m.setTimeSignature("3/4");
230
+ builder.setTimeSignature("3/4");
168
231
  ```
169
232
 
170
233
  timeSignature can be:
@@ -174,11 +237,12 @@ timeSignature can be:
174
237
  - `"6/8"`
175
238
  - `"9/8"`
176
239
 
240
+ ### Set Tempo
177
241
  ```js
178
- m.setTempo(beatsPerMinute: number, beatLength?: Theory.NoteLength, dotted?: boolean);
242
+ builder.setTempo(beatsPerMinute: number, beatLength?: Theory.NoteLength, dotted?: boolean);
179
243
 
180
244
  // Example
181
- m.setTempo(100, Theory.NoteLength.Quarter);
245
+ builder.setTempo(100, Theory.NoteLength.Quarter);
182
246
  ```
183
247
 
184
248
  `beatsPerMinute` is self explanatory.
@@ -190,12 +254,12 @@ m.setTempo(100, Theory.NoteLength.Quarter);
190
254
  ### Add Note Or Chord
191
255
 
192
256
  ```js
193
- m.addNote(voiceId: number, note: string, noteLength: Theory.NoteLength, noteOptions?: Score.NoteOptions);
194
- m.addChord(voiceId: number, notes: string[], noteLength: Theory.NoteLength, noteOptions?: Score.NoteOptions);
257
+ builder.addNote(voiceId: number, note: string, noteLength: Theory.NoteLength, noteOptions?: Score.NoteOptions);
258
+ builder.addChord(voiceId: number, notes: string[], noteLength: Theory.NoteLength, noteOptions?: Score.NoteOptions);
195
259
 
196
260
  // Examples
197
- m.addNote(0, "C4", Theory.NoteLength.Half, { dotted: true });
198
- m.addChord(1, ["C3", "E3", "G3"], Theory.NoteLength.Whole, { arpeggio: Score.Arpeggio.Down });
261
+ builder.addNote(0, "C4", Theory.NoteLength.Half, { dotted: true });
262
+ builder.addChord(1, ["C3", "E3", "G3"], Theory.NoteLength.Whole, { arpeggio: Score.Arpeggio.Down });
199
263
  ```
200
264
 
201
265
  `voiceId` can be `0`, `1`, `2` or `3`.
@@ -222,20 +286,16 @@ m.addChord(1, ["C3", "E3", "G3"], Theory.NoteLength.Whole, { arpeggio: Score.Arp
222
286
  | arpeggio | `Score.Arpeggio.Up/Down` \| `boolean` | Play column in arpeggio. |
223
287
  | staccato | `boolean` | Play column in staccato. |
224
288
  | diamond | `boolean` | Diamond shaped note head. |
225
- | tieSpan | `number` \| `TieType.Stub/ToMeasureEnd` | How many notes this tie spans. |
226
- | tieAnchor | `Score.NoteAnchor.Auto/Above/Center/Below/StemTip` | Tie attach point. |
227
- | slurSpan | `number` | How many notes this slur spans. |
228
- | slurAnchor | `Score.NoteAnchor.Auto/Above/Center/Below/StemTip` | Slur attach point. |
229
289
  | triplet | `boolean` | Set this note part of triplet. |
230
290
  | string | `number` \| `number[]` | String number for guitar tab. Array of string numbers for chord. |
231
291
 
232
292
  ### Add Rest
233
293
 
234
294
  ```js
235
- m.addRest(voideId: number, restLength: Theory.NoteLength, restOptions?: Score.RestOptions);
295
+ builder.addRest(voideId: number, restLength: Theory.NoteLength, restOptions?: Score.RestOptions);
236
296
 
237
297
  // Example
238
- m.addRest(0, Theory.NoteLength.Sixteenth);
298
+ builder.addRest(0, Theory.NoteLength.Sixteenth);
239
299
  ```
240
300
 
241
301
  `voiceId` can be `0`, `1`, `2` or `3`.
@@ -254,27 +314,47 @@ m.addRest(0, Theory.NoteLength.Sixteenth);
254
314
  ### Add Fermata
255
315
 
256
316
  ```js
257
- m.addFermata(fermata?: Score.Fermata);
317
+ builder.addFermata(fermata?: Score.Fermata);
258
318
 
259
319
  // Example
260
- m.addFermata(Score.Fermata.AtMeasureEnd);
320
+ builder.addFermata(Score.Fermata.AtMeasureEnd);
261
321
  ```
262
322
 
263
323
  `fermata` is typeof `Score.Fermata` and can be:
264
324
  - `Score.Fermata.AtNote`: Adds fermata anchored to previously added note, chord or rest.
265
325
  - `Score.Fermata.AtMeasureEnd`: Adds fermata at the end of measure.
266
326
 
327
+ ### Add Connective (tie, slur)
328
+
329
+ ```js
330
+ // Add tie
331
+ builder.addConnective(connective: Score.Connetive.Tie, span?: Score.ConnectiveSpan, noteAnchor?: Score.NoteAnchor);
332
+
333
+ // Add slur
334
+ builder.addConnective(connective: Score.Connetive.Slur, span?: Score.ConnectiveSpan, noteAnchor?: Score.NoteAnchor);
335
+
336
+ // Add slide
337
+ builder.addConnective(connective: Score.Connetive.Slide, noteAnchor?: Score.NoteAnchor);
338
+ ```
339
+
340
+ - `span` describes how many notes the connective is across.
341
+ It is integer >= 2 (for tie it can be also `Score.TieType.Stub|ToMeasureEnd`).
342
+ Default value is 2.
343
+ - `noteAnchor` describes the attach point of connective to note.
344
+ It can be `Score.NoteAnchor.Auto|Above|Center|Below|StemTip`.
345
+ Default value is `Score.NoteAnchor.Auto`.
346
+
267
347
  ### Add Navigation
268
348
 
269
349
  Add navigational element to measure.
270
350
 
271
351
  ```js
272
- m.addNavigation(navigation: Score.Navigation, ...args?);
352
+ builder.addNavigation(navigation: Score.Navigation, ...args?);
273
353
 
274
354
  // Examples
275
- m.addNavigation(Score.Navigation.StartRepeat);
276
- m.addNavigation(Score.Navigation.EndRepeat, 3);
277
- m.addNavigation(Score.Navigation.Ending, 1, 2);
355
+ builder.addNavigation(Score.Navigation.StartRepeat);
356
+ builder.addNavigation(Score.Navigation.EndRepeat, 3);
357
+ builder.addNavigation(Score.Navigation.Ending, 1, 2);
278
358
  ```
279
359
 
280
360
  `navigation` can be:
@@ -299,10 +379,10 @@ m.addNavigation(Score.Navigation.Ending, 1, 2);
299
379
  Add text label anchored to previously added note, chord or rest.
300
380
 
301
381
  ```js
302
- m.addLabel(label: Score.Label, text: string);
382
+ builder.addLabel(label: Score.Label, text: string);
303
383
 
304
384
  // Example
305
- m.addLabel(Score.Label.Chord, "Am);
385
+ builder.addLabel(Score.Label.Chord, "Am);
306
386
  ```
307
387
 
308
388
  `label` can be:
@@ -314,10 +394,10 @@ m.addLabel(Score.Label.Chord, "Am);
314
394
  Add annotation text anchored to previously added note, chord or rest.
315
395
 
316
396
  ```js
317
- m.addAnnotation(annotation: Score.Annotation, text: string);
397
+ builder.addAnnotation(annotation: Score.Annotation, text: string);
318
398
 
319
399
  // Example
320
- m.addAnnotation(Score.Annotation.Tempo, "accel.");
400
+ builder.addAnnotation(Score.Annotation.Tempo, "accel.");
321
401
  ```
322
402
 
323
403
  `annotation` can be:
@@ -329,10 +409,10 @@ m.addAnnotation(Score.Annotation.Tempo, "accel.");
329
409
  Adds extension line to element, for example to previously added annotation.
330
410
 
331
411
  ```js
332
- m.addExtension(extensionLength: number, visible?: boolean);
412
+ builder.addExtension(extensionLength: number, visible?: boolean);
333
413
 
334
414
  // Example
335
- m.addAnnotation(Score.Annotation.Tempo, "accel.").addExtension(Theory.NoteLength.Whole * 2, true);
415
+ builder.addAnnotation(Score.Annotation.Tempo, "accel.").addExtension(Theory.NoteLength.Whole * 2, true);
336
416
  ```
337
417
 
338
418
  `extensionLength` is `number` but `Theory.NoteLength` values can be used as number and multiplied to set desired extension length.
@@ -342,31 +422,32 @@ m.addAnnotation(Score.Annotation.Tempo, "accel.").addExtension(Theory.NoteLength
342
422
  ### Guitar Tab
343
423
 
344
424
  This library has preliminary guitar tabs rendering.
345
- Create document with `Score.StaffPreset.GuitarTab` or `Score.StaffPreset.GuitarCombined`, and specify tuning (defaults to `"Standard"` if omitted).
346
-
347
- ```js
348
- let doc = new Score.MDocument(Score.StaffPreset.GuitarCombined, { tuning: "Standard" });
349
- ```
425
+ Create document with `Score.StaffPreset.GuitarTab` or `Score.StaffPreset.GuitarCombined`, or set score configuration with TabConfig.
350
426
 
351
427
  Add notes with `{ string: number | number[] }` to specify which string the fret number is rendered in guitar tab.
352
428
 
353
429
  ```js
354
430
  // Single note
355
- m.addNote(0, "G3", Theory.NoteLength.Eighth, { string: 3 });
431
+ builder.addNote(0, "G3", Theory.NoteLength.Eighth, { string: 3 });
356
432
 
357
433
  // Multi note
358
- m.addChord(0, ["E4", "C3"], Theory.NoteLength.Eighth, { string: [1, 5] });
434
+ builder.addChord(0, ["E4", "C3"], Theory.NoteLength.Eighth, { string: [1, 5] });
359
435
  ```
360
436
 
361
437
  ### Queueing
362
438
 
363
- Adding stuff to measures can be queued like this:
439
+ `DocumentBuilder` operations can be queued.
364
440
 
365
441
  ```js
366
- doc.addMeasure()
442
+ let doc = new Score.DocumentBuilder()
443
+ .addScoreConfiguration({ type: "staff", clef: Score.Clef.G, isOctavewDown: true })
444
+ .setMeasuresPerRow(4)
445
+ .addMeasure()
367
446
  .addNote(1, "C3", Theory.NoteLength.Quarter)
368
447
  .addChord(1, ["C3", "E3", "G3"], Theory.NoteLength.Quarter).addLabel(Score.Label.Chord, "C")
369
- .addRest(1, Theory.NoteLength.Quarter);
448
+ .addRest(1, Theory.NoteLength.Quarter)
449
+ // etc.
450
+ .getDEocument();
370
451
  ```
371
452
 
372
453
  ### Beams
@@ -1,4 +1,4 @@
1
- import { N as Note } from '../note-CraqEy8x.mjs';
1
+ import { N as Note } from '../note-B5ZtlHc8.mjs';
2
2
 
3
3
  /** @public */
4
4
  interface Instrument {
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v2.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v3.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 v2.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v3.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  import {
3
3
  __publicField
4
- } from "../chunk-2EPWQZKJ.mjs";
4
+ } from "../chunk-ZWFAOHYM.mjs";
5
5
 
6
6
  // src/audio/index.ts
7
7
  import { Note, PitchNotation, SymbolSet } from "@tspro/web-music-score/theory";
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v2.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v3.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 v2.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v3.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  import {
3
3
  __publicField
4
- } from "../chunk-2EPWQZKJ.mjs";
4
+ } from "../chunk-ZWFAOHYM.mjs";
5
5
 
6
6
  // src/audio-cg/index.ts
7
7
  import * as Tone from "tone";
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v2.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v3.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -6,4 +6,4 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
6
6
  export {
7
7
  __publicField
8
8
  };
9
- //# sourceMappingURL=chunk-2EPWQZKJ.mjs.map
9
+ //# sourceMappingURL=chunk-ZWFAOHYM.mjs.map
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v2.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v3.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;
@@ -61,7 +61,7 @@ function init() {
61
61
  return;
62
62
  }
63
63
  initialized = true;
64
- console.log("%cWebMusicScore v2.0.0 (cjs) initialized.", "background: black; color: white; padding: 2px;");
64
+ console.log("%cWebMusicScore v3.0.0 (cjs) initialized.", "background: black; color: white; padding: 2px;");
65
65
  }
66
66
  // Annotate the CommonJS export names for ESM import in node:
67
67
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
- /* WebMusicScore v2.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
1
+ /* WebMusicScore v3.0.0 | (c) 2023 PahkaSoft | MIT License | Includes: Tone.js (MIT License) */
2
2
  import {
3
3
  __publicField
4
- } from "../chunk-2EPWQZKJ.mjs";
4
+ } from "../chunk-ZWFAOHYM.mjs";
5
5
 
6
6
  // src/core/error.ts
7
7
  var MusicErrorType = /* @__PURE__ */ ((MusicErrorType2) => {
@@ -35,7 +35,7 @@ function init() {
35
35
  return;
36
36
  }
37
37
  initialized = true;
38
- console.log("%cWebMusicScore v2.0.0 (esm) initialized.", "background: black; color: white; padding: 2px;");
38
+ console.log("%cWebMusicScore v3.0.0 (esm) initialized.", "background: black; color: white; padding: 2px;");
39
39
  }
40
40
  export {
41
41
  MusicError,
@@ -1,4 +1,4 @@
1
- import { N as Note } from './note-CraqEy8x.mjs';
1
+ import { N as Note } from './note-B5ZtlHc8.mjs';
2
2
 
3
3
  /** @public */
4
4
  declare enum Handedness {