web-music-score 6.0.0-pre.5 → 6.0.1

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 +16 -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-JP3PJICN.mjs → chunk-EDHJ4ZRB.mjs} +3 -3
  10. package/dist/{chunk-U2D4H5TI.mjs → chunk-IUXO5M6R.mjs} +3 -3
  11. package/dist/{chunk-Y67RBHW2.mjs → chunk-IW4YD7XE.mjs} +2 -2
  12. package/dist/{chunk-6R3N7WJC.mjs → chunk-OHH32J6I.mjs} +3 -3
  13. package/dist/{chunk-G3HIPFVF.mjs → chunk-OM25LPIN.mjs} +2 -2
  14. package/dist/{chunk-DQFQEO6F.mjs → chunk-VTNNVMRE.mjs} +4 -4
  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-D-xO1oti.d.ts → music-objects-Bef-fs1f.d.ts} +8 -4
  20. package/dist/{note-CJuq5aBy.d.ts → note-RVXvpfyV.d.ts} +1 -1
  21. package/dist/pieces/index.d.ts +3 -3
  22. package/dist/pieces/index.js +2 -2
  23. package/dist/pieces/index.mjs +3 -3
  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-DxGqFxlv.d.ts → scale-B1M10_fu.d.ts} +2 -2
  28. package/dist/score/index.d.ts +9 -9
  29. package/dist/score/index.js +101 -40
  30. package/dist/score/index.mjs +105 -44
  31. package/dist/{tempo-pCAa6qgo.d.ts → tempo-D-JF-8b_.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,12 +1,12 @@
1
- /* WebMusicScore v6.0.0-pre.5 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
1
+ /* WebMusicScore v6.0.1 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
2
2
  import {
3
3
  MusicError
4
- } from "../chunk-U2D4H5TI.mjs";
4
+ } from "../chunk-IUXO5M6R.mjs";
5
5
  import {
6
6
  NoteLengthProps,
7
7
  RhythmProps,
8
8
  validateNoteLength
9
- } from "../chunk-DQFQEO6F.mjs";
9
+ } from "../chunk-VTNNVMRE.mjs";
10
10
  import {
11
11
  AnchoredRect,
12
12
  BiMap,
@@ -20,12 +20,12 @@ import {
20
20
  device_exports,
21
21
  guard_exports,
22
22
  utils_exports
23
- } from "../chunk-JP3PJICN.mjs";
23
+ } from "../chunk-EDHJ4ZRB.mjs";
24
24
  import {
25
25
  __publicField,
26
26
  __spreadProps,
27
27
  __spreadValues
28
- } from "../chunk-G3HIPFVF.mjs";
28
+ } from "../chunk-OM25LPIN.mjs";
29
29
 
30
30
  // src/score/pub/types.ts
31
31
  var StaffPreset = /* @__PURE__ */ ((StaffPreset2) => {
@@ -1746,17 +1746,6 @@ var ObjArpeggio = class extends MusicObject {
1746
1746
  // src/score/engine/obj-rest.ts
1747
1747
  import { Note as Note3, NoteLengthProps as NoteLengthProps2, RhythmProps as RhythmProps2, Tuplet } from "web-music-score/theory";
1748
1748
  import { MusicError as MusicError4, MusicErrorType as MusicErrorType4 } from "web-music-score/core";
1749
- function getDiatonicIdFromStaffPos(staffPos) {
1750
- if (typeof staffPos === "number") {
1751
- return Note3.getChromaticNote(staffPos).diatonicId;
1752
- } else if (typeof staffPos === "string") {
1753
- return Note3.getNote(staffPos).diatonicId;
1754
- } else if (staffPos instanceof Note3) {
1755
- return staffPos.diatonicId;
1756
- } else {
1757
- return void 0;
1758
- }
1759
- }
1760
1749
  var ObjStaffRest = class extends MusicObject {
1761
1750
  constructor(staff, rest) {
1762
1751
  super(staff);
@@ -1803,11 +1792,8 @@ var _ObjRest = class _ObjRest extends MusicObject {
1803
1792
  __publicField(this, "beamGroup");
1804
1793
  __publicField(this, "staffObjects", []);
1805
1794
  __publicField(this, "mi");
1806
- this.setDiatonicId = (_b = getDiatonicIdFromStaffPos((_a = this.options) == null ? void 0 : _a.staffPos)) != null ? _b : _ObjRest.UndefinedDiatonicId;
1807
- let staves = this.row.getStaves().filter((staff) => staff.containsVoiceId(this.voiceId));
1808
- if (this.setDiatonicId !== _ObjRest.UndefinedDiatonicId && staves.length > 0 && staves[0].isSpace(this.setDiatonicId)) {
1809
- this.setDiatonicId += this.setDiatonicId >= staves[0].middleLineDiatonicId ? 1 : -1;
1810
- }
1795
+ this.setDiatonicId = (_b = this.getDiatonicIdFromStaffPos((_a = this.options) == null ? void 0 : _a.staffPos)) != null ? _b : _ObjRest.UndefinedDiatonicId;
1796
+ this.setDiatonicId = this.getDiatonicIdOnLine(this.setDiatonicId);
1811
1797
  this.runningDiatonicId = this.setDiatonicId;
1812
1798
  this.runningStemDir = "up" /* Up */;
1813
1799
  this.color = (_c = options == null ? void 0 : options.color) != null ? _c : colorKey("staff.rest");
@@ -1831,6 +1817,25 @@ var _ObjRest = class _ObjRest extends MusicObject {
1831
1817
  get noteLength() {
1832
1818
  return this.rhythmProps.noteLength;
1833
1819
  }
1820
+ getDiatonicIdFromStaffPos(staffPos) {
1821
+ if (typeof staffPos === "number") {
1822
+ return Note3.getChromaticNote(staffPos).diatonicId;
1823
+ } else if (typeof staffPos === "string") {
1824
+ return Note3.getNote(staffPos).diatonicId;
1825
+ } else if (staffPos instanceof Note3) {
1826
+ return staffPos.diatonicId;
1827
+ } else {
1828
+ return void 0;
1829
+ }
1830
+ }
1831
+ getDiatonicIdOnLine(diatonicId) {
1832
+ let staves = this.row.getStaves().filter((staff) => staff.containsVoiceId(this.voiceId));
1833
+ if (diatonicId !== _ObjRest.UndefinedDiatonicId && staves.length > 0 && staves[0].isSpace(diatonicId)) {
1834
+ return diatonicId += diatonicId >= staves[0].middleLineDiatonicId ? 1 : -1;
1835
+ } else {
1836
+ return diatonicId;
1837
+ }
1838
+ }
1834
1839
  getDiatonicId(staff) {
1835
1840
  if (this.runningDiatonicId === _ObjRest.UndefinedDiatonicId) {
1836
1841
  if (staff) {
@@ -3149,17 +3154,15 @@ var _Extension = class _Extension extends MusicObjectLink {
3149
3154
  let range = new ExtensionRange(curColumn);
3150
3155
  let ticksLeft = length;
3151
3156
  while (true) {
3152
- if (ticksLeft <= 0) return range;
3157
+ if (!curColumn || ticksLeft <= 0) return range;
3153
3158
  const stopObject = this.whatStopped(curColumn);
3154
3159
  if (stopObject !== void 0) {
3155
3160
  range.setStopObject(stopObject);
3156
3161
  return range;
3157
3162
  }
3163
+ range.addColumn(curColumn);
3158
3164
  ticksLeft -= curColumn.getTicksToNextColumn();
3159
3165
  curColumn = curColumn.getNextColumn();
3160
- if (!curColumn) return range;
3161
- if (ticksLeft > 0)
3162
- range.addColumn(curColumn);
3163
3166
  }
3164
3167
  }
3165
3168
  };
@@ -3189,6 +3192,9 @@ function getNavigationString(navigation) {
3189
3192
  return navigation[0].toUpperCase() + navigation.substring(1);
3190
3193
  }
3191
3194
  }
3195
+ function isDynamicsText(text) {
3196
+ return guard_exports.isEnumValue(text, DynamicsAnnotation);
3197
+ }
3192
3198
  function getDynamicsVolume(text) {
3193
3199
  if (/^(p+|f+|m|mp|mf)$/.test(text)) {
3194
3200
  let volume = 0.5 - utils_exports.Str.charCount(text, "p") * 0.1 + utils_exports.Str.charCount(text, "f") * 0.1;
@@ -3197,6 +3203,9 @@ function getDynamicsVolume(text) {
3197
3203
  return void 0;
3198
3204
  }
3199
3205
  }
3206
+ function isTempoText(text) {
3207
+ return guard_exports.isEnumValue(text, TempoAnnotation);
3208
+ }
3200
3209
  function getAnnotation(text) {
3201
3210
  if (guard_exports.isEnumValue(text, DynamicsAnnotation)) {
3202
3211
  return "dynamics" /* Dynamics */;
@@ -3405,7 +3414,7 @@ var Player = class _Player {
3405
3414
  let volumeMap = new UniMap();
3406
3415
  const pushSpeed = (col, speed) => speedMap.getOrCreate(col, []).push(speed);
3407
3416
  const pushVolume = (col, volume) => volumeMap.getOrCreate(col, []).push(volume);
3408
- this.playerColumnSequence.forEach((col) => {
3417
+ this.playerColumnSequence.forEach((col, colId) => {
3409
3418
  if (!(col instanceof ObjRhythmColumn)) {
3410
3419
  return;
3411
3420
  }
@@ -3416,8 +3425,8 @@ var Player = class _Player {
3416
3425
  curSpeed = 1;
3417
3426
  } else if ((vol = getDynamicsVolume(text)) !== void 0) {
3418
3427
  curVolume = vol;
3419
- } else if (layoutObj.musicObj.getLink() instanceof Extension) {
3420
- let extension = layoutObj.musicObj.getLink();
3428
+ } else if (isTempoText(text) || isDynamicsText(text)) {
3429
+ let extension = layoutObj.musicObj.getLink() instanceof Extension ? layoutObj.musicObj.getLink() : new Extension(layoutObj, col, Infinity, false, "solid", "bottom");
3421
3430
  const range = extension.getRange();
3422
3431
  const stopText = range.stopObject ? getTextContent(range.stopObject) : "";
3423
3432
  let totalTicks = utils_exports.Math.sum(range.columnRange.map((c) => c.getTicksToNextColumn()));
@@ -4287,7 +4296,7 @@ var ObjBeamGroup = class _ObjBeamGroup extends MusicObject {
4287
4296
  }
4288
4297
  }
4289
4298
  }
4290
- updateStemTips() {
4299
+ updateNoteStemTips() {
4291
4300
  this.staffObjects.forEach((obj) => {
4292
4301
  let left = obj.points[0];
4293
4302
  let right = obj.points[obj.points.length - 1];
@@ -4491,6 +4500,17 @@ var ObjFermata = class extends MusicObject {
4491
4500
  };
4492
4501
 
4493
4502
  // src/score/engine/obj-extension-line.ts
4503
+ function getRow(obj) {
4504
+ let o = obj;
4505
+ while (o) {
4506
+ if (o.row instanceof ObjScoreRow)
4507
+ return o.row;
4508
+ if (o.measure instanceof ObjMeasure)
4509
+ return o.measure.row;
4510
+ o = o.getParent();
4511
+ }
4512
+ return void 0;
4513
+ }
4494
4514
  function isExtensionStartObject(obj) {
4495
4515
  return obj instanceof ObjText || obj instanceof ObjSpecialText;
4496
4516
  }
@@ -4514,8 +4534,11 @@ var ObjExtensionLine = class extends MusicObject {
4514
4534
  getMusicInterface() {
4515
4535
  return this.mi;
4516
4536
  }
4537
+ getLeftObj() {
4538
+ return this.cols[0];
4539
+ }
4517
4540
  getLineLeft(ctx) {
4518
- let obj = this.cols[0];
4541
+ let obj = this.getLeftObj();
4519
4542
  if (isExtensionStartObject(obj))
4520
4543
  return obj.getRect().right + ctx.unitSize;
4521
4544
  if (obj instanceof ObjBarLineLeft)
@@ -4527,8 +4550,18 @@ var ObjExtensionLine = class extends MusicObject {
4527
4550
  }
4528
4551
  return obj.getRect().right;
4529
4552
  }
4553
+ getRightObj() {
4554
+ const obj = this.cols[this.cols.length - 1];
4555
+ if (isExtensionStopObject(obj)) {
4556
+ const objRow = getRow(obj);
4557
+ const prevObj = this.cols[this.cols.length - 2];
4558
+ const prevObjRow = getRow(prevObj);
4559
+ return objRow && prevObjRow && objRow !== prevObjRow ? prevObj : obj;
4560
+ }
4561
+ return obj;
4562
+ }
4530
4563
  getLineRight(ctx) {
4531
- let obj = this.cols[this.cols.length - 1];
4564
+ let obj = this.getRightObj();
4532
4565
  if (isExtensionStopObject(obj))
4533
4566
  return obj.getRect().left - ctx.unitSize;
4534
4567
  if (obj instanceof ObjRhythmColumn) {
@@ -4568,7 +4601,7 @@ var ObjExtensionLine = class extends MusicObject {
4568
4601
  ctx.setLineDash([]);
4569
4602
  let tails = this.extension.getTails();
4570
4603
  let last = tails[tails.length - 1];
4571
- if (this === last && !isExtensionStopObject(this.cols[this.cols.length - 1])) {
4604
+ if (this === last && !isExtensionStopObject(this.getRightObj())) {
4572
4605
  let tipH = rect.anchorY > this.line.getRect().anchorY ? -ctx.unitSize : ctx.unitSize;
4573
4606
  ctx.strokeLine(rect.right, rect.anchorY, rect.right, rect.anchorY + tipH);
4574
4607
  }
@@ -5835,7 +5868,7 @@ var ObjMeasure = class extends MusicObject {
5835
5868
  this.addRhythmSymbol(rest);
5836
5869
  return rest;
5837
5870
  }
5838
- addLyrics(staffTabOrGroups, verse, lyricsLength, lyricsText, lyricsOptions) {
5871
+ addLyrics(staffTabOrGroups, verse, lyricsText, lyricsLength, lyricsOptions) {
5839
5872
  this.forEachStaffGroup(staffTabOrGroups, 1 /* Below */, (line, vpos) => {
5840
5873
  var _a;
5841
5874
  let col = this.getRhythmColumn({ verse, line, vpos });
@@ -6175,6 +6208,34 @@ var ObjMeasure = class extends MusicObject {
6175
6208
  this.signatures.push(signature);
6176
6209
  }
6177
6210
  });
6211
+ getVoiceIds().forEach((voiceId) => {
6212
+ const staff = this.row.getStaves()[0];
6213
+ if (!staff || !staff.containsVoiceId(voiceId))
6214
+ return;
6215
+ this.beamGroups.forEach((b) => {
6216
+ const symbols = b.getSymbols();
6217
+ symbols.forEach((sym, restId) => {
6218
+ if (!(sym instanceof ObjRest && sym.setDiatonicId === ObjRest.UndefinedDiatonicId))
6219
+ return;
6220
+ let leftNoteId = restId;
6221
+ let rightNoteId = restId;
6222
+ while (symbols[leftNoteId] instanceof ObjRest) leftNoteId--;
6223
+ while (symbols[rightNoteId] instanceof ObjRest) rightNoteId++;
6224
+ let newRestDiatonicId;
6225
+ if (leftNoteId < 0 && rightNoteId <= symbols.length - 1) {
6226
+ newRestDiatonicId = symbols[rightNoteId].getDiatonicId(staff);
6227
+ } else if (leftNoteId >= 0 && rightNoteId > symbols.length - 1) {
6228
+ newRestDiatonicId = symbols[leftNoteId].getDiatonicId(staff);
6229
+ } else if (leftNoteId >= 0 && rightNoteId <= symbols.length - 1) {
6230
+ newRestDiatonicId = Math.round(
6231
+ (symbols[leftNoteId].getDiatonicId(staff) + symbols[rightNoteId].getDiatonicId(staff)) / 2
6232
+ );
6233
+ }
6234
+ if (newRestDiatonicId !== void 0)
6235
+ sym.updateRunningArguments(newRestDiatonicId, b.stemDir, []);
6236
+ });
6237
+ });
6238
+ });
6178
6239
  this.tabStringNotes.length = 0;
6179
6240
  if (this.isFirstMeasureInRow()) {
6180
6241
  this.row.getTabs().forEach((tab) => {
@@ -6271,7 +6332,7 @@ var ObjMeasure = class extends MusicObject {
6271
6332
  });
6272
6333
  }
6273
6334
  alignStemsToBeams() {
6274
- this.beamGroups.forEach((b) => b.updateStemTips());
6335
+ this.beamGroups.forEach((b) => b.updateNoteStemTips());
6275
6336
  }
6276
6337
  layoutDone() {
6277
6338
  this.columns.forEach((col) => col.layoutDone());
@@ -7678,7 +7739,7 @@ import { BeamGrouping, isNoteLength, isTupletRatio, KeySignature as KeySignature
7678
7739
  import { MusicError as MusicError16, MusicErrorType as MusicErrorType16 } from "web-music-score/core";
7679
7740
  var assertingFunction = "";
7680
7741
  function setAssertFunction(fnName, ...fnArgs) {
7681
- let argsStr = fnArgs.map((arg) => JSON.stringify(arg)).join(", ");
7742
+ let argsStr = fnArgs.map((arg) => utils_exports.Str.stringify(arg)).join(", ");
7682
7743
  assertingFunction = `DocumentBuilder.${fnName}(${argsStr})`;
7683
7744
  }
7684
7745
  function assertArg(...conditions) {
@@ -8020,7 +8081,7 @@ var _DocumentBuilder = class _DocumentBuilder {
8020
8081
  ObjBeamGroup.createTuplet(tupletSymbols, tupletRatio);
8021
8082
  return this;
8022
8083
  }
8023
- addLyricsInternal(staffTabOrGroups, verse, lyricsLength, lyricsText, lyricsOptions) {
8084
+ addLyricsInternal(staffTabOrGroups, verse, lyricsText, lyricsLength, lyricsOptions) {
8024
8085
  var _a;
8025
8086
  assertStaffTabOrGRoups(staffTabOrGroups);
8026
8087
  assertArg(
@@ -8036,36 +8097,36 @@ var _DocumentBuilder = class _DocumentBuilder {
8036
8097
  (_a = lyricsOptions.align) != null ? _a : lyricsOptions.align = this.currentLyricsAlign;
8037
8098
  }
8038
8099
  if (guard_exports.isArray(lyricsText)) {
8039
- lyricsText.forEach((text) => this.getMeasure().addLyrics(staffTabOrGroups, verse, lyricsLength, text, lyricsOptions));
8100
+ lyricsText.forEach((text) => this.getMeasure().addLyrics(staffTabOrGroups, verse, text, lyricsLength, lyricsOptions));
8040
8101
  } else {
8041
- this.getMeasure().addLyrics(staffTabOrGroups, verse, lyricsLength, lyricsText, lyricsOptions);
8102
+ this.getMeasure().addLyrics(staffTabOrGroups, verse, lyricsText, lyricsLength, lyricsOptions);
8042
8103
  }
8043
8104
  return this;
8044
8105
  }
8045
8106
  /**
8046
8107
  * Add lyrics to current measure.
8047
8108
  * @param verse - Verse number (e.g. 1).
8048
- * @param lyricsLength - Lyrics text length (e.g. "2n").
8049
8109
  * @param lyricsText - Lyrics text (empty space if omitted), single value or array.
8110
+ * @param lyricsLength - Lyrics text length (e.g. "2n").
8050
8111
  * @param lyricsOptions - Lyrics options.
8051
8112
  * @returns - This document builder instance.
8052
8113
  */
8053
- addLyrics(verse, lyricsLength, lyricsText, lyricsOptions) {
8114
+ addLyrics(verse, lyricsText, lyricsLength, lyricsOptions) {
8054
8115
  setAssertFunction("addLyrics", verse, lyricsLength, lyricsText, lyricsOptions);
8055
- return this.addLyricsInternal(void 0, verse, lyricsLength, lyricsText != null ? lyricsText : "", lyricsOptions);
8116
+ return this.addLyricsInternal(void 0, verse, lyricsText, lyricsLength, lyricsOptions);
8056
8117
  }
8057
8118
  /**
8058
8119
  * Add lyrics to current measure to given staff/tab/group.
8059
8120
  * @param staffTabOrGroups - staff/tab index (0=top), staff/tab name, or staff group name.
8060
8121
  * @param verse - Verse number (e.g. 1).
8061
- * @param lyricsLength - Lyrics text length (e.g. "2n").
8062
8122
  * @param lyricsText - Lyrics text (empty space if omitted), single value or array.
8123
+ * @param lyricsLength - Lyrics text length (e.g. "2n").
8063
8124
  * @param lyricsOptions - Lyrics options.
8064
8125
  * @returns - This document builder instance.
8065
8126
  */
8066
- addLyricsTo(staffTabOrGroups, verse, lyricsLength, lyricsText, lyricsOptions) {
8127
+ addLyricsTo(staffTabOrGroups, verse, lyricsText, lyricsLength, lyricsOptions) {
8067
8128
  setAssertFunction("addLyricsTo", verse, lyricsLength, lyricsText, lyricsOptions);
8068
- return this.addLyricsInternal(staffTabOrGroups, verse, lyricsLength, lyricsText != null ? lyricsText : "", lyricsOptions);
8129
+ return this.addLyricsInternal(staffTabOrGroups, verse, lyricsText, lyricsLength, lyricsOptions);
8069
8130
  }
8070
8131
  addFermataInternal(staffTabOrGroups, fermata) {
8071
8132
  assertStaffTabOrGRoups(staffTabOrGroups);
@@ -1,4 +1,4 @@
1
- import { N as Note, A as Accidental } from './note-CJuq5aBy.js';
1
+ import { N as Note, A as Accidental } from './note-RVXvpfyV.js';
2
2
 
3
3
  /** Mode enum. */
4
4
  declare enum Mode {
@@ -1,8 +1,8 @@
1
- import { N as Note } from '../note-CJuq5aBy.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-CJuq5aBy.js';
3
- import { D as Degree } from '../scale-DxGqFxlv.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-DxGqFxlv.js';
5
- export { A as AccidentalType, B as BeamGrouping, K as KeySignature, M as Mode, N as NoteLength, j as NoteLengthProps, h as NoteLengthStr, R as RhythmProps, c as Tempo, a as TimeSignature, T as TimeSignatures, n as Tuplet, k as TupletRatio, f as alterTempoSpeed, g as getDefaultKeySignature, d as getDefaultTempo, b as getDefaultTimeSignature, e as getTempoString, i as isNoteLength, l as isTupletRatio, v as validateNoteLength, m as validateTupletRatio } from '../tempo-pCAa6qgo.js';
1
+ import { N as Note } from '../note-RVXvpfyV.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-RVXvpfyV.js';
3
+ import { D as Degree } from '../scale-B1M10_fu.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-B1M10_fu.js';
5
+ export { A as AccidentalType, B as BeamGrouping, K as KeySignature, M as Mode, N as NoteLength, j as NoteLengthProps, h as NoteLengthStr, R as RhythmProps, c as Tempo, a as TimeSignature, T as TimeSignatures, n as Tuplet, k as TupletRatio, f as alterTempoSpeed, g as getDefaultKeySignature, d as getDefaultTempo, b as getDefaultTimeSignature, e as getTempoString, i as isNoteLength, l as isTupletRatio, v as validateNoteLength, m as validateTupletRatio } from '../tempo-D-JF-8b_.js';
6
6
 
7
7
  /** Chord info type. */
8
8
  type ChordInfo = {
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v6.0.0-pre.5 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
1
+ /* WebMusicScore v6.0.1 | (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;
@@ -1,4 +1,4 @@
1
- /* WebMusicScore v6.0.0-pre.5 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
1
+ /* WebMusicScore v6.0.1 | (c) 2023-2025 Stefan Brockmann | MIT License | Includes: Tone.js (MIT License), Color Name to Code (MIT License) */
2
2
  import {
3
3
  NoteLength,
4
4
  NoteLengthProps,
@@ -8,7 +8,7 @@ import {
8
8
  isTupletRatio,
9
9
  validateNoteLength,
10
10
  validateTupletRatio
11
- } from "../chunk-DQFQEO6F.mjs";
11
+ } from "../chunk-VTNNVMRE.mjs";
12
12
  import {
13
13
  IndexArray,
14
14
  LRUCache,
@@ -16,10 +16,10 @@ import {
16
16
  UniMap,
17
17
  guard_exports,
18
18
  utils_exports
19
- } from "../chunk-JP3PJICN.mjs";
19
+ } from "../chunk-EDHJ4ZRB.mjs";
20
20
  import {
21
21
  __publicField
22
- } from "../chunk-G3HIPFVF.mjs";
22
+ } from "../chunk-OM25LPIN.mjs";
23
23
 
24
24
  // src/theory/types.ts
25
25
  import { MusicError, MusicErrorType } from "web-music-score/core";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "web-music-score",
3
- "version": "6.0.0-pre.5",
3
+ "version": "6.0.1",
4
4
  "author": "Stefan Brockmann",
5
5
  "license": "MIT",
6
6
  "private": false,