musicxml-io 0.7.2 → 0.7.4

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.
@@ -8,7 +8,7 @@ import {
8
8
  getMeasureEndPosition,
9
9
  pitchToSemitone,
10
10
  semitoneToKeyAwarePitch
11
- } from "./chunk-VQUFSGB5.mjs";
11
+ } from "./chunk-UMEH3ENQ.mjs";
12
12
 
13
13
  // src/id.ts
14
14
  import { customAlphabet } from "nanoid";
@@ -554,17 +554,18 @@ function findTimeSignature(part, measureNumber) {
554
554
  }
555
555
  function measureEndTick(measure, part, divisions, measureStartTick, maxPosition, ticksPerQuarterNote) {
556
556
  const actualTicks = Math.round(maxPosition * ticksPerQuarterNote / divisions);
557
- if (measure.implicit) {
557
+ if (actualTicks > 0) {
558
558
  return measureStartTick + actualTicks;
559
559
  }
560
- const timeAttrs = findTimeSignature(part, measure.number);
561
- if (timeAttrs) {
562
- const measureDuration = timeAttrs.beats / timeAttrs.beatType * 4 * divisions;
563
- const calculatedTicks = Math.round(measureDuration * ticksPerQuarterNote / divisions);
564
- const ticksToAdd = Math.min(calculatedTicks, actualTicks > 0 ? actualTicks : calculatedTicks);
565
- return measureStartTick + ticksToAdd;
560
+ if (!measure.implicit) {
561
+ const timeAttrs = findTimeSignature(part, measure.number);
562
+ if (timeAttrs) {
563
+ const measureDuration = timeAttrs.beats / timeAttrs.beatType * 4 * divisions;
564
+ const calculatedTicks = Math.round(measureDuration * ticksPerQuarterNote / divisions);
565
+ return measureStartTick + calculatedTicks;
566
+ }
566
567
  }
567
- return measureStartTick + actualTicks;
568
+ return measureStartTick;
568
569
  }
569
570
  function hasFermata(note) {
570
571
  return _nullishCoalesce(_optionalChain([note, 'access', _7 => _7.notations, 'optionalAccess', _8 => _8.some, 'call', _9 => _9((n) => n.type === "fermata")]), () => ( false));
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- var _chunkCHMV7XWYjs = require('./chunk-CHMV7XWY.js');
11
+ var _chunkEWLB5X64js = require('./chunk-EWLB5X64.js');
12
12
 
13
13
  // src/id.ts
14
14
  var _nanoid = require('nanoid');
@@ -1562,18 +1562,18 @@ function setNotePitchBySemitone(score, options) {
1562
1562
  const result = cloneScore(score);
1563
1563
  const measure = result.parts[options.partIndex].measures[options.measureIndex];
1564
1564
  const measureNumber = _nullishCoalesce(measure.number, () => ( String(options.measureIndex + 1)));
1565
- const attrs = _chunkCHMV7XWYjs.getAttributesAtMeasure.call(void 0, result, { part: options.partIndex, measure: measureNumber });
1565
+ const attrs = _chunkEWLB5X64js.getAttributesAtMeasure.call(void 0, result, { part: options.partIndex, measure: measureNumber });
1566
1566
  const keySignature = _nullishCoalesce(attrs.key, () => ( { fifths: 0 }));
1567
1567
  let noteCount = 0;
1568
1568
  for (const entry of measure.entries) {
1569
1569
  if (entry.type === "note" && !entry.rest) {
1570
1570
  if (noteCount === options.noteIndex) {
1571
- const notePosition = _chunkCHMV7XWYjs.getAbsolutePositionForNote.call(void 0, entry, measure);
1572
- const accidentalsInMeasure = _chunkCHMV7XWYjs.getAccidentalsInMeasure.call(void 0, measure, notePosition, entry.voice);
1573
- const newPitch = _chunkCHMV7XWYjs.semitoneToKeyAwarePitch.call(void 0, options.semitone, keySignature, {
1571
+ const notePosition = _chunkEWLB5X64js.getAbsolutePositionForNote.call(void 0, entry, measure);
1572
+ const accidentalsInMeasure = _chunkEWLB5X64js.getAccidentalsInMeasure.call(void 0, measure, notePosition, entry.voice);
1573
+ const newPitch = _chunkEWLB5X64js.semitoneToKeyAwarePitch.call(void 0, options.semitone, keySignature, {
1574
1574
  preferSharp: options.preferSharp
1575
1575
  });
1576
- const accidental = _chunkCHMV7XWYjs.determineAccidental.call(void 0, newPitch, keySignature, accidentalsInMeasure);
1576
+ const accidental = _chunkEWLB5X64js.determineAccidental.call(void 0, newPitch, keySignature, accidentalsInMeasure);
1577
1577
  entry.pitch = newPitch;
1578
1578
  if (accidental) {
1579
1579
  entry.accidental = { value: accidental };
@@ -1607,7 +1607,7 @@ function shiftNotePitch(score, options) {
1607
1607
  if (!entry.pitch) {
1608
1608
  return failure([operationError("NOTE_NOT_FOUND", "Note has no pitch", { partIndex: options.partIndex, measureIndex: options.measureIndex })]);
1609
1609
  }
1610
- currentSemitone = _chunkCHMV7XWYjs.pitchToSemitone.call(void 0, entry.pitch);
1610
+ currentSemitone = _chunkEWLB5X64js.pitchToSemitone.call(void 0, entry.pitch);
1611
1611
  break;
1612
1612
  }
1613
1613
  noteCount++;
@@ -1635,7 +1635,7 @@ function raiseAccidental(score, options) {
1635
1635
  const result = cloneScore(score);
1636
1636
  const measure = result.parts[options.partIndex].measures[options.measureIndex];
1637
1637
  const measureNumber = _nullishCoalesce(measure.number, () => ( String(options.measureIndex + 1)));
1638
- const attrs = _chunkCHMV7XWYjs.getAttributesAtMeasure.call(void 0, result, { part: options.partIndex, measure: measureNumber });
1638
+ const attrs = _chunkEWLB5X64js.getAttributesAtMeasure.call(void 0, result, { part: options.partIndex, measure: measureNumber });
1639
1639
  const keySignature = _nullishCoalesce(attrs.key, () => ( { fifths: 0 }));
1640
1640
  let noteCount = 0;
1641
1641
  for (const entry of measure.entries) {
@@ -1650,9 +1650,9 @@ function raiseAccidental(score, options) {
1650
1650
  return failure([operationError("ACCIDENTAL_OUT_OF_BOUNDS", `Cannot raise accidental beyond double-sharp (current: ${currentAlter})`, { partIndex: options.partIndex, measureIndex: options.measureIndex })]);
1651
1651
  }
1652
1652
  entry.pitch.alter = newAlter === 0 ? void 0 : newAlter;
1653
- const notePosition = _chunkCHMV7XWYjs.getAbsolutePositionForNote.call(void 0, entry, measure);
1654
- const accidentalsInMeasure = _chunkCHMV7XWYjs.getAccidentalsInMeasure.call(void 0, measure, notePosition, entry.voice);
1655
- const accidental = _chunkCHMV7XWYjs.determineAccidental.call(void 0, entry.pitch, keySignature, accidentalsInMeasure);
1653
+ const notePosition = _chunkEWLB5X64js.getAbsolutePositionForNote.call(void 0, entry, measure);
1654
+ const accidentalsInMeasure = _chunkEWLB5X64js.getAccidentalsInMeasure.call(void 0, measure, notePosition, entry.voice);
1655
+ const accidental = _chunkEWLB5X64js.determineAccidental.call(void 0, entry.pitch, keySignature, accidentalsInMeasure);
1656
1656
  if (accidental) {
1657
1657
  entry.accidental = { value: accidental };
1658
1658
  } else {
@@ -1676,7 +1676,7 @@ function lowerAccidental(score, options) {
1676
1676
  const result = cloneScore(score);
1677
1677
  const measure = result.parts[options.partIndex].measures[options.measureIndex];
1678
1678
  const measureNumber = _nullishCoalesce(measure.number, () => ( String(options.measureIndex + 1)));
1679
- const attrs = _chunkCHMV7XWYjs.getAttributesAtMeasure.call(void 0, result, { part: options.partIndex, measure: measureNumber });
1679
+ const attrs = _chunkEWLB5X64js.getAttributesAtMeasure.call(void 0, result, { part: options.partIndex, measure: measureNumber });
1680
1680
  const keySignature = _nullishCoalesce(attrs.key, () => ( { fifths: 0 }));
1681
1681
  let noteCount = 0;
1682
1682
  for (const entry of measure.entries) {
@@ -1691,9 +1691,9 @@ function lowerAccidental(score, options) {
1691
1691
  return failure([operationError("ACCIDENTAL_OUT_OF_BOUNDS", `Cannot lower accidental beyond double-flat (current: ${currentAlter})`, { partIndex: options.partIndex, measureIndex: options.measureIndex })]);
1692
1692
  }
1693
1693
  entry.pitch.alter = newAlter === 0 ? void 0 : newAlter;
1694
- const notePosition = _chunkCHMV7XWYjs.getAbsolutePositionForNote.call(void 0, entry, measure);
1695
- const accidentalsInMeasure = _chunkCHMV7XWYjs.getAccidentalsInMeasure.call(void 0, measure, notePosition, entry.voice);
1696
- const accidental = _chunkCHMV7XWYjs.determineAccidental.call(void 0, entry.pitch, keySignature, accidentalsInMeasure);
1694
+ const notePosition = _chunkEWLB5X64js.getAbsolutePositionForNote.call(void 0, entry, measure);
1695
+ const accidentalsInMeasure = _chunkEWLB5X64js.getAccidentalsInMeasure.call(void 0, measure, notePosition, entry.voice);
1696
+ const accidental = _chunkEWLB5X64js.determineAccidental.call(void 0, entry.pitch, keySignature, accidentalsInMeasure);
1697
1697
  if (accidental) {
1698
1698
  entry.accidental = { value: accidental };
1699
1699
  } else {
@@ -1727,7 +1727,7 @@ function addVoice(score, options) {
1727
1727
  const context = getMeasureContext(result, options.partIndex, options.measureIndex);
1728
1728
  const measureDuration = context.time ? getMeasureDuration(context.divisions, context.time) : context.divisions * 4;
1729
1729
  const rest = createRest(measureDuration, options.voice, options.staff);
1730
- const currentEnd = _chunkCHMV7XWYjs.getMeasureEndPosition.call(void 0, measure);
1730
+ const currentEnd = _chunkEWLB5X64js.getMeasureEndPosition.call(void 0, measure);
1731
1731
  if (currentEnd > 0) {
1732
1732
  measure.entries.push({ _id: generateId(), type: "backup", duration: currentEnd });
1733
1733
  }
@@ -1735,14 +1735,14 @@ function addVoice(score, options) {
1735
1735
  return success(result);
1736
1736
  }
1737
1737
  function transposePitch(pitch, semitones) {
1738
- const currentSemitone = _chunkCHMV7XWYjs.STEP_SEMITONES[pitch.step] + (_nullishCoalesce(pitch.alter, () => ( 0))) + pitch.octave * 12;
1738
+ const currentSemitone = _chunkEWLB5X64js.STEP_SEMITONES[pitch.step] + (_nullishCoalesce(pitch.alter, () => ( 0))) + pitch.octave * 12;
1739
1739
  const targetSemitone = currentSemitone + semitones;
1740
1740
  const targetOctave = Math.floor(targetSemitone / 12);
1741
1741
  const targetPitchClass = (targetSemitone % 12 + 12) % 12;
1742
1742
  let bestStep = "C";
1743
1743
  let bestAlter = 99;
1744
- for (const step of _chunkCHMV7XWYjs.STEPS) {
1745
- const stepSemitone = _chunkCHMV7XWYjs.STEP_SEMITONES[step];
1744
+ for (const step of _chunkEWLB5X64js.STEPS) {
1745
+ const stepSemitone = _chunkEWLB5X64js.STEP_SEMITONES[step];
1746
1746
  let diff = targetPitchClass - stepSemitone;
1747
1747
  if (diff > 6) diff -= 12;
1748
1748
  if (diff < -6) diff += 12;
@@ -3805,7 +3805,7 @@ function addDaCapo(score, options) {
3805
3805
  }
3806
3806
  const result = cloneScore(score);
3807
3807
  const measure = result.parts[partIndex].measures[measureIndex];
3808
- const attrs = _chunkCHMV7XWYjs.getAttributesAtMeasure.call(void 0, result, { part: partIndex, measure: measureIndex });
3808
+ const attrs = _chunkEWLB5X64js.getAttributesAtMeasure.call(void 0, result, { part: partIndex, measure: measureIndex });
3809
3809
  const measureDuration = getMeasureDuration(_nullishCoalesce(attrs.divisions, () => ( 1)), _nullishCoalesce(attrs.time, () => ( { beats: "4", beatType: 4 })));
3810
3810
  const insertPos = _nullishCoalesce(position, () => ( measureDuration));
3811
3811
  const direction = {
@@ -3834,7 +3834,7 @@ function addDalSegno(score, options) {
3834
3834
  }
3835
3835
  const result = cloneScore(score);
3836
3836
  const measure = result.parts[partIndex].measures[measureIndex];
3837
- const attrs = _chunkCHMV7XWYjs.getAttributesAtMeasure.call(void 0, result, { part: partIndex, measure: measureIndex });
3837
+ const attrs = _chunkEWLB5X64js.getAttributesAtMeasure.call(void 0, result, { part: partIndex, measure: measureIndex });
3838
3838
  const measureDuration = getMeasureDuration(_nullishCoalesce(attrs.divisions, () => ( 1)), _nullishCoalesce(attrs.time, () => ( { beats: "4", beatType: 4 })));
3839
3839
  const insertPos = _nullishCoalesce(position, () => ( measureDuration));
3840
3840
  const direction = {
@@ -3863,7 +3863,7 @@ function addFine(score, options) {
3863
3863
  }
3864
3864
  const result = cloneScore(score);
3865
3865
  const measure = result.parts[partIndex].measures[measureIndex];
3866
- const attrs = _chunkCHMV7XWYjs.getAttributesAtMeasure.call(void 0, result, { part: partIndex, measure: measureIndex });
3866
+ const attrs = _chunkEWLB5X64js.getAttributesAtMeasure.call(void 0, result, { part: partIndex, measure: measureIndex });
3867
3867
  const measureDuration = getMeasureDuration(_nullishCoalesce(attrs.divisions, () => ( 1)), _nullishCoalesce(attrs.time, () => ( { beats: "4", beatType: 4 })));
3868
3868
  const insertPos = _nullishCoalesce(position, () => ( measureDuration));
3869
3869
  const direction = {
@@ -3892,7 +3892,7 @@ function addToCoda(score, options) {
3892
3892
  }
3893
3893
  const result = cloneScore(score);
3894
3894
  const measure = result.parts[partIndex].measures[measureIndex];
3895
- const attrs = _chunkCHMV7XWYjs.getAttributesAtMeasure.call(void 0, result, { part: partIndex, measure: measureIndex });
3895
+ const attrs = _chunkEWLB5X64js.getAttributesAtMeasure.call(void 0, result, { part: partIndex, measure: measureIndex });
3896
3896
  const measureDuration = getMeasureDuration(_nullishCoalesce(attrs.divisions, () => ( 1)), _nullishCoalesce(attrs.time, () => ( { beats: "4", beatType: 4 })));
3897
3897
  const insertPos = _nullishCoalesce(position, () => ( measureDuration));
3898
3898
  const direction = {
@@ -554,17 +554,18 @@ function findTimeSignature(part, measureNumber) {
554
554
  }
555
555
  function measureEndTick(measure, part, divisions, measureStartTick, maxPosition, ticksPerQuarterNote) {
556
556
  const actualTicks = Math.round(maxPosition * ticksPerQuarterNote / divisions);
557
- if (measure.implicit) {
557
+ if (actualTicks > 0) {
558
558
  return measureStartTick + actualTicks;
559
559
  }
560
- const timeAttrs = findTimeSignature(part, measure.number);
561
- if (timeAttrs) {
562
- const measureDuration = timeAttrs.beats / timeAttrs.beatType * 4 * divisions;
563
- const calculatedTicks = Math.round(measureDuration * ticksPerQuarterNote / divisions);
564
- const ticksToAdd = Math.min(calculatedTicks, actualTicks > 0 ? actualTicks : calculatedTicks);
565
- return measureStartTick + ticksToAdd;
560
+ if (!measure.implicit) {
561
+ const timeAttrs = findTimeSignature(part, measure.number);
562
+ if (timeAttrs) {
563
+ const measureDuration = timeAttrs.beats / timeAttrs.beatType * 4 * divisions;
564
+ const calculatedTicks = Math.round(measureDuration * ticksPerQuarterNote / divisions);
565
+ return measureStartTick + calculatedTicks;
566
+ }
566
567
  }
567
- return measureStartTick + actualTicks;
568
+ return measureStartTick;
568
569
  }
569
570
  function hasFermata(note) {
570
571
  return note.notations?.some((n) => n.type === "fermata") ?? false;
package/dist/index.js CHANGED
@@ -127,7 +127,7 @@
127
127
 
128
128
 
129
129
 
130
- var _chunkS5MWUJU2js = require('./chunk-S5MWUJU2.js');
130
+ var _chunkKJXV3TD4js = require('./chunk-KJXV3TD4.js');
131
131
 
132
132
 
133
133
 
@@ -218,7 +218,7 @@ var _chunkS5MWUJU2js = require('./chunk-S5MWUJU2.js');
218
218
 
219
219
 
220
220
 
221
- var _chunkCHMV7XWYjs = require('./chunk-CHMV7XWY.js');
221
+ var _chunkEWLB5X64js = require('./chunk-EWLB5X64.js');
222
222
 
223
223
  // src/importers/musicxml.ts
224
224
  var _txml = require('txml');
@@ -360,7 +360,7 @@ function parseScorePartwise(elements) {
360
360
  const defaults = parseDefaults(elements);
361
361
  const credits = parseCredits(elements);
362
362
  return {
363
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
363
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
364
364
  metadata,
365
365
  partList,
366
366
  parts,
@@ -617,7 +617,7 @@ function parseSystemLayout(elements) {
617
617
  }
618
618
  function parseCredits(elements) {
619
619
  const credits = collectElements(elements, "credit", (content, attrs) => {
620
- const credit = { _id: _chunkS5MWUJU2js.generateId.call(void 0, ) };
620
+ const credit = { _id: _chunkKJXV3TD4js.generateId.call(void 0, ) };
621
621
  if (attrs["page"]) credit.page = parseInt(attrs["page"], 10);
622
622
  const types = collectElements(content, "credit-type", (c) => extractText(c));
623
623
  const words = collectElements(content, "credit-words", (c, a) => {
@@ -661,7 +661,7 @@ function parsePartList(elements) {
661
661
  const attrs = el.attributes;
662
662
  const content = el.children;
663
663
  const partInfo = {
664
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
664
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
665
665
  type: "score-part",
666
666
  id: attrs["id"] || ""
667
667
  };
@@ -760,7 +760,7 @@ function parsePartList(elements) {
760
760
  const attrs = el.attributes;
761
761
  const content = el.children;
762
762
  const group = {
763
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
763
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
764
764
  type: "part-group",
765
765
  groupType: attrs["type"] === "stop" ? "stop" : "start"
766
766
  };
@@ -797,7 +797,7 @@ function parseParts(elements) {
797
797
  const attrs = el.attributes;
798
798
  const content = el.children;
799
799
  const part = {
800
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
800
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
801
801
  id: attrs["id"] || "",
802
802
  measures: []
803
803
  };
@@ -816,7 +816,7 @@ function parseParts(elements) {
816
816
  }
817
817
  function parseMeasure(elements, attrs) {
818
818
  const measure = {
819
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
819
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
820
820
  number: attrs["number"] || "0",
821
821
  // Keep as string per MusicXML spec (token type)
822
822
  entries: []
@@ -833,7 +833,7 @@ function parseMeasure(elements, attrs) {
833
833
  measure.attributes = parsedAttrs;
834
834
  } else {
835
835
  const attrEntry = {
836
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
836
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
837
837
  type: "attributes",
838
838
  attributes: parsedAttrs
839
839
  };
@@ -861,7 +861,7 @@ function parseMeasure(elements, attrs) {
861
861
  } else if (el.tagName === "grouping") {
862
862
  const grpAttrs = el.attributes;
863
863
  const grouping = {
864
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
864
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
865
865
  type: "grouping",
866
866
  groupingType: grpAttrs["type"] || "start"
867
867
  };
@@ -915,7 +915,7 @@ function parsePrint(elements, attrs) {
915
915
  return print;
916
916
  }
917
917
  function parseAttributes(elements) {
918
- const attrs = { _id: _chunkS5MWUJU2js.generateId.call(void 0, ) };
918
+ const attrs = { _id: _chunkKJXV3TD4js.generateId.call(void 0, ) };
919
919
  const divisions = getElementTextAsInt(elements, "divisions");
920
920
  if (divisions !== void 0) attrs.divisions = divisions;
921
921
  const staves = getElementTextAsInt(elements, "staves");
@@ -1081,7 +1081,7 @@ function parseTranspose(elements) {
1081
1081
  }
1082
1082
  function parseNote(elements, attrs) {
1083
1083
  const note = {
1084
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
1084
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
1085
1085
  type: "note",
1086
1086
  duration: 0
1087
1087
  };
@@ -1827,14 +1827,14 @@ function parseLyric(elements, attrs) {
1827
1827
  }
1828
1828
  function parseBackup(elements) {
1829
1829
  return {
1830
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
1830
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
1831
1831
  type: "backup",
1832
1832
  duration: parseInt(getElementText(elements, "duration") || "0", 10)
1833
1833
  };
1834
1834
  }
1835
1835
  function parseForward(elements) {
1836
1836
  const forward = {
1837
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
1837
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
1838
1838
  type: "forward",
1839
1839
  duration: parseInt(getElementText(elements, "duration") || "0", 10)
1840
1840
  };
@@ -1846,7 +1846,7 @@ function parseForward(elements) {
1846
1846
  }
1847
1847
  function parseDirection(elements, attrs) {
1848
1848
  const direction = {
1849
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
1849
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
1850
1850
  type: "direction",
1851
1851
  directionTypes: []
1852
1852
  };
@@ -2271,7 +2271,7 @@ function parseDirectionTypes(elements) {
2271
2271
  }
2272
2272
  function parseBarline(elements, attrs) {
2273
2273
  const location = attrs["location"] || "right";
2274
- const barline = { _id: _chunkS5MWUJU2js.generateId.call(void 0, ), location };
2274
+ const barline = { _id: _chunkKJXV3TD4js.generateId.call(void 0, ), location };
2275
2275
  const barStyle = getElementText(elements, "bar-style");
2276
2276
  if (barStyle && isValidBarStyle(barStyle)) {
2277
2277
  barline.barStyle = barStyle;
@@ -2503,7 +2503,7 @@ function parseMeasureStyle(elements, attrs) {
2503
2503
  }
2504
2504
  function parseHarmony(elements, attrs) {
2505
2505
  const harmony = {
2506
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
2506
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
2507
2507
  type: "harmony",
2508
2508
  root: { rootStep: "C" },
2509
2509
  kind: "major"
@@ -2643,7 +2643,7 @@ function parseHarmony(elements, attrs) {
2643
2643
  }
2644
2644
  function parseFiguredBass(elements, attrs) {
2645
2645
  const fb = {
2646
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
2646
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
2647
2647
  type: "figured-bass",
2648
2648
  figures: []
2649
2649
  };
@@ -2692,7 +2692,7 @@ function parseFiguredBass(elements, attrs) {
2692
2692
  }
2693
2693
  function parseSound(elements, attrs) {
2694
2694
  const sound = {
2695
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
2695
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
2696
2696
  type: "sound"
2697
2697
  };
2698
2698
  if (attrs["tempo"]) sound.tempo = parseFloat(attrs["tempo"]);
@@ -3733,7 +3733,7 @@ function buildScore(header, voiceTokensList, voiceIds, headerFieldOrder, inlineV
3733
3733
  const headerVoice = _optionalChain([header, 'access', _2 => _2.voices, 'optionalAccess', _3 => _3.find, 'call', _4 => _4((v) => v.id === voiceId)]) || header.voices && header.voices[voiceIndex];
3734
3734
  const voiceName = headerVoice ? headerVoice.name || `Voice ${voiceIndex + 1}` : voiceTokensList.length > 1 ? `Voice ${voiceIndex + 1}` : "Music";
3735
3735
  partListEntries.push({
3736
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
3736
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
3737
3737
  type: "score-part",
3738
3738
  id: partId,
3739
3739
  name: voiceName
@@ -3741,7 +3741,7 @@ function buildScore(header, voiceTokensList, voiceIds, headerFieldOrder, inlineV
3741
3741
  const voiceClef = headerVoice ? abcClefToMusicXml(headerVoice.clef) : void 0;
3742
3742
  const buildResult = buildMeasures(tokens, unitNote, keySignature, timeSignature, measureDuration, voiceClef);
3743
3743
  parts.push({
3744
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
3744
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
3745
3745
  id: partId,
3746
3746
  measures: buildResult.measures
3747
3747
  });
@@ -3794,7 +3794,7 @@ function buildScore(header, voiceTokensList, voiceIds, headerFieldOrder, inlineV
3794
3794
  encoding.encoder = encoderValues;
3795
3795
  }
3796
3796
  return {
3797
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
3797
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
3798
3798
  metadata: {
3799
3799
  movementTitle: header.title,
3800
3800
  creators: creators.length > 0 ? creators : void 0,
@@ -3820,7 +3820,7 @@ function parseTempoToDirection(tempoStr) {
3820
3820
  if (found) beatUnit = found;
3821
3821
  }
3822
3822
  return {
3823
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
3823
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
3824
3824
  type: "direction",
3825
3825
  directionTypes: [{ kind: "metronome", beatUnit, perMinute }],
3826
3826
  placement: "above",
@@ -3876,7 +3876,7 @@ function buildMeasures(tokens, unitNote, keySignature, timeSignature, measureDur
3876
3876
  if (dynDir) currentEntries.push(dynDir);
3877
3877
  } else if (item.kind === "decoration") {
3878
3878
  const decoDir = {
3879
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
3879
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
3880
3880
  type: "direction",
3881
3881
  directionTypes: [{ kind: "words", text: item.value }]
3882
3882
  };
@@ -3887,13 +3887,13 @@ function buildMeasures(tokens, unitNote, keySignature, timeSignature, measureDur
3887
3887
  }
3888
3888
  function finalizeMeasure(endBarType) {
3889
3889
  const measure = {
3890
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
3890
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
3891
3891
  number: String(measureNumber),
3892
3892
  entries: currentEntries
3893
3893
  };
3894
3894
  if (isFirstMeasure) {
3895
3895
  measure.attributes = {
3896
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
3896
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
3897
3897
  divisions: DIVISIONS,
3898
3898
  time: timeSignature,
3899
3899
  key: keySignature,
@@ -3903,7 +3903,7 @@ function buildMeasures(tokens, unitNote, keySignature, timeSignature, measureDur
3903
3903
  }
3904
3904
  if (pendingKeyChange) {
3905
3905
  if (!measure.attributes) {
3906
- measure.attributes = { _id: _chunkS5MWUJU2js.generateId.call(void 0, ) };
3906
+ measure.attributes = { _id: _chunkKJXV3TD4js.generateId.call(void 0, ) };
3907
3907
  }
3908
3908
  const kValue = pendingKeyChange.replace(/^K:\s*/, "");
3909
3909
  measure.attributes.key = parseKeySignature2(kValue);
@@ -4106,7 +4106,7 @@ function buildMeasures(tokens, unitNote, keySignature, timeSignature, measureDur
4106
4106
  const rightBl = _optionalChain([lastMeasure, 'access', _9 => _9.barlines, 'optionalAccess', _10 => _10.find, 'call', _11 => _11((b) => b.location === "right")]);
4107
4107
  if (rightBl) {
4108
4108
  const endingBarline2 = {
4109
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4109
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4110
4110
  location: "left",
4111
4111
  barStyle: rightBl.barStyle,
4112
4112
  repeat: rightBl.repeat,
@@ -4118,7 +4118,7 @@ function buildMeasures(tokens, unitNote, keySignature, timeSignature, measureDur
4118
4118
  }
4119
4119
  }
4120
4120
  const endingBarline = {
4121
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4121
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4122
4122
  location: "left",
4123
4123
  ending: {
4124
4124
  number: token.value,
@@ -4221,7 +4221,7 @@ function buildMeasures(tokens, unitNote, keySignature, timeSignature, measureDur
4221
4221
  case "overlay": {
4222
4222
  if (currentPosition > 0) {
4223
4223
  const backupEntry = {
4224
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4224
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4225
4225
  type: "backup",
4226
4226
  duration: currentPosition
4227
4227
  };
@@ -4235,7 +4235,7 @@ function buildMeasures(tokens, unitNote, keySignature, timeSignature, measureDur
4235
4235
  if (lMatch) {
4236
4236
  currentUnitNote = { num: parseInt(lMatch[1], 10), den: parseInt(lMatch[2], 10) };
4237
4237
  const inlineEntry = {
4238
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4238
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4239
4239
  type: "direction",
4240
4240
  directionTypes: [{ kind: "words", text: `[L:${lMatch[1]}/${lMatch[2]}]` }]
4241
4241
  };
@@ -4254,7 +4254,7 @@ function buildMeasures(tokens, unitNote, keySignature, timeSignature, measureDur
4254
4254
  if (currentEntries.length > 0) {
4255
4255
  const breakText = token.value === "\\\n" ? "__abc_line_cont__" : "__abc_line_break__";
4256
4256
  const lineBreakDir = {
4257
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4257
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4258
4258
  type: "direction",
4259
4259
  directionTypes: [{ kind: "words", text: breakText }]
4260
4260
  };
@@ -4358,7 +4358,7 @@ function createNoteEntry(token, unitNote, _hasTieStop, isGrace, tupletState) {
4358
4358
  }
4359
4359
  const { noteType, dots } = durationToNoteType(isGrace ? lengthToDuration(num, den, unitNote) : duration);
4360
4360
  const entry = {
4361
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4361
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4362
4362
  type: "note",
4363
4363
  pitch: token.pitch,
4364
4364
  duration,
@@ -4412,7 +4412,7 @@ function createRestEntry(token, unitNote, tupletState, measureDuration) {
4412
4412
  }
4413
4413
  const { noteType, dots } = durationToNoteType(duration);
4414
4414
  const entry = {
4415
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4415
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4416
4416
  type: "note",
4417
4417
  rest: isWholeMeasure ? { measure: true } : {},
4418
4418
  duration,
@@ -4427,7 +4427,7 @@ function createRestEntry(token, unitNote, tupletState, measureDuration) {
4427
4427
  }
4428
4428
  function createBarline(barType, location, endingNumber) {
4429
4429
  const barline = {
4430
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4430
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4431
4431
  location
4432
4432
  };
4433
4433
  switch (barType) {
@@ -4518,7 +4518,7 @@ function createHarmonyEntry(chordStr) {
4518
4518
  break;
4519
4519
  }
4520
4520
  const entry = {
4521
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4521
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4522
4522
  type: "harmony",
4523
4523
  root: { rootStep, rootAlter: rootAlter !== void 0 ? rootAlter : void 0 },
4524
4524
  kind
@@ -4537,7 +4537,7 @@ function createHarmonyEntry(chordStr) {
4537
4537
  function createDynamicsDirection(dynamic) {
4538
4538
  if (!DYNAMICS_VALUES.has(dynamic)) return null;
4539
4539
  return {
4540
- _id: _chunkS5MWUJU2js.generateId.call(void 0, ),
4540
+ _id: _chunkKJXV3TD4js.generateId.call(void 0, ),
4541
4541
  type: "direction",
4542
4542
  directionTypes: [{
4543
4543
  kind: "dynamics",
@@ -4566,13 +4566,13 @@ function serialize(score, options = {}) {
4566
4566
  const version = options.version || score.version || "4.0";
4567
4567
  const indent = _nullishCoalesce(options.indent, () => ( " "));
4568
4568
  if (options.validate) {
4569
- const result = _chunkS5MWUJU2js.validate.call(void 0, score, options.validateOptions);
4569
+ const result = _chunkKJXV3TD4js.validate.call(void 0, score, options.validateOptions);
4570
4570
  if (options.onValidation) {
4571
4571
  options.onValidation(result);
4572
4572
  }
4573
4573
  if (!result.valid && options.throwOnValidationError) {
4574
4574
  const errorMessages = result.errors.map((e) => `[${e.code}] ${e.message}`).join("\n");
4575
- throw new (0, _chunkS5MWUJU2js.ValidationException)(result.errors, `Score validation failed:
4575
+ throw new (0, _chunkKJXV3TD4js.ValidationException)(result.errors, `Score validation failed:
4576
4576
  ${errorMessages}`);
4577
4577
  }
4578
4578
  }
@@ -6501,7 +6501,7 @@ function exportMidiWithTimingMap(score, options = {}) {
6501
6501
  const { tracks, ticksPerQuarterNote, defaultTempo, grid } = buildMidiTracks(score, options);
6502
6502
  return {
6503
6503
  midi: buildMidiFile(tracks, ticksPerQuarterNote),
6504
- sidecar: _chunkCHMV7XWYjs.buildTimingSidecar.call(void 0, grid, defaultTempo, ticksPerQuarterNote)
6504
+ sidecar: _chunkEWLB5X64js.buildTimingSidecar.call(void 0, grid, defaultTempo, ticksPerQuarterNote)
6505
6505
  };
6506
6506
  }
6507
6507
  function buildMidiTracks(score, options) {
@@ -6509,9 +6509,9 @@ function buildMidiTracks(score, options) {
6509
6509
  const defaultTempo = _nullishCoalesce(options.defaultTempo, () => ( 120));
6510
6510
  const defaultVelocity = _nullishCoalesce(options.defaultVelocity, () => ( 80));
6511
6511
  const tracks = [];
6512
- const sequence = _chunkCHMV7XWYjs.generatePlaybackSequence.call(void 0, score);
6512
+ const sequence = _chunkEWLB5X64js.generatePlaybackSequence.call(void 0, score);
6513
6513
  const measureOrder = sequence.map((m) => m.measureIndex);
6514
- const grid = _chunkCHMV7XWYjs.buildGridTimeline.call(void 0, score, ticksPerQuarterNote, sequence, {
6514
+ const grid = _chunkEWLB5X64js.buildGridTimeline.call(void 0, score, ticksPerQuarterNote, sequence, {
6515
6515
  defaultTempo,
6516
6516
  fermataHoldMultiplier: options.fermataHoldMultiplier,
6517
6517
  caesuraSeconds: options.caesuraSeconds,
@@ -6559,7 +6559,7 @@ function pitchToMidiNote(pitch, chromaticTranspose = 0) {
6559
6559
  function createConductorTrack(score, defaultTempo, grid) {
6560
6560
  const metaEvents = [];
6561
6561
  const tempoBytes = (bpm) => {
6562
- const us = _chunkCHMV7XWYjs.bpmToUsPerQuarter.call(void 0, bpm);
6562
+ const us = _chunkEWLB5X64js.bpmToUsPerQuarter.call(void 0, bpm);
6563
6563
  return [255, 81, 3, us >> 16 & 255, us >> 8 & 255, us & 255];
6564
6564
  };
6565
6565
  const tempoEvents = [...grid.tempoEvents].sort((a, b) => a.tick - b.tick);
@@ -6597,7 +6597,12 @@ function createConductorTrack(score, defaultTempo, grid) {
6597
6597
  events.push(...writeVariableLength(ev.tick - lastTick), ...ev.bytes);
6598
6598
  lastTick = ev.tick;
6599
6599
  }
6600
- events.push(...writeVariableLength(0), 255, 47, 0);
6600
+ events.push(
6601
+ ...writeVariableLength(Math.max(0, grid.totalTicks - lastTick)),
6602
+ 255,
6603
+ 47,
6604
+ 0
6605
+ );
6601
6606
  return new Uint8Array(events);
6602
6607
  }
6603
6608
  function createPartTrack(part, _score, channel, program, ticksPerQuarterNote, defaultVelocity, measureOrder) {
@@ -6693,7 +6698,7 @@ function createPartTrack(part, _score, channel, program, ticksPerQuarterNote, de
6693
6698
  }
6694
6699
  }
6695
6700
  }
6696
- currentTick = _chunkCHMV7XWYjs.measureEndTick.call(void 0,
6701
+ currentTick = _chunkEWLB5X64js.measureEndTick.call(void 0,
6697
6702
  measure,
6698
6703
  part,
6699
6704
  divisions,
@@ -8213,4 +8218,4 @@ async function serializeToFile(score, filePath, options = {}) {
8213
8218
 
8214
8219
 
8215
8220
 
8216
- exports.STEPS = _chunkCHMV7XWYjs.STEPS; exports.STEP_SEMITONES = _chunkCHMV7XWYjs.STEP_SEMITONES; exports.ValidationException = _chunkS5MWUJU2js.ValidationException; exports.addArticulation = _chunkS5MWUJU2js.addArticulation; exports.addBeam = _chunkS5MWUJU2js.addBeam; exports.addBowing = _chunkS5MWUJU2js.addBowing; exports.addBreathMark = _chunkS5MWUJU2js.addBreathMark; exports.addCaesura = _chunkS5MWUJU2js.addCaesura; exports.addChord = _chunkS5MWUJU2js.addChord; exports.addChordNote = _chunkS5MWUJU2js.addChordNote; exports.addChordNoteChecked = _chunkS5MWUJU2js.addChordNoteChecked; exports.addChordSymbol = _chunkS5MWUJU2js.addChordSymbol; exports.addCoda = _chunkS5MWUJU2js.addCoda; exports.addDaCapo = _chunkS5MWUJU2js.addDaCapo; exports.addDalSegno = _chunkS5MWUJU2js.addDalSegno; exports.addDynamics = _chunkS5MWUJU2js.addDynamics; exports.addEnding = _chunkS5MWUJU2js.addEnding; exports.addFermata = _chunkS5MWUJU2js.addFermata; exports.addFine = _chunkS5MWUJU2js.addFine; exports.addFingering = _chunkS5MWUJU2js.addFingering; exports.addGraceNote = _chunkS5MWUJU2js.addGraceNote; exports.addHarmony = _chunkS5MWUJU2js.addHarmony; exports.addLyric = _chunkS5MWUJU2js.addLyric; exports.addNote = _chunkS5MWUJU2js.addNote; exports.addNoteChecked = _chunkS5MWUJU2js.addNoteChecked; exports.addOctaveShift = _chunkS5MWUJU2js.addOctaveShift; exports.addOrnament = _chunkS5MWUJU2js.addOrnament; exports.addPart = _chunkS5MWUJU2js.addPart; exports.addPedal = _chunkS5MWUJU2js.addPedal; exports.addRehearsalMark = _chunkS5MWUJU2js.addRehearsalMark; exports.addRepeat = _chunkS5MWUJU2js.addRepeat; exports.addRepeatBarline = _chunkS5MWUJU2js.addRepeatBarline; exports.addSegno = _chunkS5MWUJU2js.addSegno; exports.addSlur = _chunkS5MWUJU2js.addSlur; exports.addStringNumber = _chunkS5MWUJU2js.addStringNumber; exports.addTempo = _chunkS5MWUJU2js.addTempo; exports.addText = _chunkS5MWUJU2js.addText; exports.addTextDirection = _chunkS5MWUJU2js.addTextDirection; exports.addTie = _chunkS5MWUJU2js.addTie; exports.addToCoda = _chunkS5MWUJU2js.addToCoda; exports.addVoice = _chunkS5MWUJU2js.addVoice; exports.addWedge = _chunkS5MWUJU2js.addWedge; exports.assertMeasureValid = _chunkS5MWUJU2js.assertMeasureValid; exports.assertValid = _chunkS5MWUJU2js.assertValid; exports.autoBeam = _chunkS5MWUJU2js.autoBeam; exports.buildVoiceToStaffMap = _chunkCHMV7XWYjs.buildVoiceToStaffMap; exports.buildVoiceToStaffMapForPart = _chunkCHMV7XWYjs.buildVoiceToStaffMapForPart; exports.changeBarline = _chunkS5MWUJU2js.changeBarline; exports.changeClef = _chunkS5MWUJU2js.changeClef; exports.changeKey = _chunkS5MWUJU2js.changeKey; exports.changeNoteDuration = _chunkS5MWUJU2js.changeNoteDuration; exports.changeTime = _chunkS5MWUJU2js.changeTime; exports.convertToGrace = _chunkS5MWUJU2js.convertToGrace; exports.copyNotes = _chunkS5MWUJU2js.copyNotes; exports.copyNotesMultiMeasure = _chunkS5MWUJU2js.copyNotesMultiMeasure; exports.countNotes = _chunkCHMV7XWYjs.countNotes; exports.createTuplet = _chunkS5MWUJU2js.createTuplet; exports.cutNotes = _chunkS5MWUJU2js.cutNotes; exports.decodeBuffer = decodeBuffer; exports.deleteMeasure = _chunkS5MWUJU2js.deleteMeasure; exports.deleteNote = _chunkS5MWUJU2js.deleteNote; exports.deleteNoteChecked = _chunkS5MWUJU2js.deleteNoteChecked; exports.duplicatePart = _chunkS5MWUJU2js.duplicatePart; exports.exportMidi = exportMidi; exports.exportMidiWithTimingMap = exportMidiWithTimingMap; exports.extractPlaybackControls = _chunkCHMV7XWYjs.extractPlaybackControls; exports.findBarlines = _chunkCHMV7XWYjs.findBarlines; exports.findDirectionsByType = _chunkCHMV7XWYjs.findDirectionsByType; exports.findNotes = _chunkCHMV7XWYjs.findNotes; exports.findNotesWithNotation = _chunkCHMV7XWYjs.findNotesWithNotation; exports.formatLocation = _chunkS5MWUJU2js.formatLocation; exports.generateId = _chunkS5MWUJU2js.generateId; exports.generatePlaybackSequence = _chunkCHMV7XWYjs.generatePlaybackSequence; exports.generatePlaybackTimeline = _chunkCHMV7XWYjs.generatePlaybackTimeline; exports.getAbsolutePosition = _chunkCHMV7XWYjs.getAbsolutePosition; exports.getAdjacentNotes = _chunkCHMV7XWYjs.getAdjacentNotes; exports.getAllNotes = _chunkCHMV7XWYjs.getAllNotes; exports.getAllPartInfos = getAllPartInfos; exports.getAttributesAtMeasure = _chunkCHMV7XWYjs.getAttributesAtMeasure; exports.getBeamGroups = _chunkCHMV7XWYjs.getBeamGroups; exports.getChordProgression = _chunkCHMV7XWYjs.getChordProgression; exports.getChords = _chunkCHMV7XWYjs.getChords; exports.getClefChanges = _chunkCHMV7XWYjs.getClefChanges; exports.getClefForStaff = _chunkCHMV7XWYjs.getClefForStaff; exports.getDirectionOfKind = getDirectionOfKind; exports.getDirections = _chunkCHMV7XWYjs.getDirections; exports.getDirectionsAtPosition = _chunkCHMV7XWYjs.getDirectionsAtPosition; exports.getDirectionsOfKind = getDirectionsOfKind; exports.getDivisions = _chunkCHMV7XWYjs.getDivisions; exports.getDuration = _chunkCHMV7XWYjs.getDuration; exports.getDynamics = _chunkCHMV7XWYjs.getDynamics; exports.getEffectiveStaff = _chunkCHMV7XWYjs.getEffectiveStaff; exports.getEndings = _chunkCHMV7XWYjs.getEndings; exports.getEntriesAtPosition = _chunkCHMV7XWYjs.getEntriesAtPosition; exports.getEntriesForStaff = _chunkCHMV7XWYjs.getEntriesForStaff; exports.getEntriesInRange = _chunkCHMV7XWYjs.getEntriesInRange; exports.getHarmonies = _chunkCHMV7XWYjs.getHarmonies; exports.getHarmonyAtPosition = _chunkCHMV7XWYjs.getHarmonyAtPosition; exports.getKeyChanges = _chunkCHMV7XWYjs.getKeyChanges; exports.getLyricText = _chunkCHMV7XWYjs.getLyricText; exports.getLyrics = _chunkCHMV7XWYjs.getLyrics; exports.getMeasure = _chunkCHMV7XWYjs.getMeasure; exports.getMeasureByIndex = _chunkCHMV7XWYjs.getMeasureByIndex; exports.getMeasureContext = _chunkS5MWUJU2js.getMeasureContext; exports.getMeasureCount = _chunkCHMV7XWYjs.getMeasureCount; exports.getMeasureEndPosition = _chunkCHMV7XWYjs.getMeasureEndPosition; exports.getNextNote = _chunkCHMV7XWYjs.getNextNote; exports.getNormalizedDuration = _chunkCHMV7XWYjs.getNormalizedDuration; exports.getNormalizedPosition = _chunkCHMV7XWYjs.getNormalizedPosition; exports.getNotesAtPosition = _chunkCHMV7XWYjs.getNotesAtPosition; exports.getNotesForStaff = _chunkCHMV7XWYjs.getNotesForStaff; exports.getNotesForVoice = _chunkCHMV7XWYjs.getNotesForVoice; exports.getNotesInRange = _chunkCHMV7XWYjs.getNotesInRange; exports.getOctaveShifts = _chunkCHMV7XWYjs.getOctaveShifts; exports.getPartAbbreviation = getPartAbbreviation; exports.getPartById = _chunkCHMV7XWYjs.getPartById; exports.getPartByIndex = _chunkCHMV7XWYjs.getPartByIndex; exports.getPartCount = _chunkCHMV7XWYjs.getPartCount; exports.getPartIds = _chunkCHMV7XWYjs.getPartIds; exports.getPartIndex = _chunkCHMV7XWYjs.getPartIndex; exports.getPartInfo = getPartInfo; exports.getPartName = getPartName; exports.getPartNameMap = getPartNameMap; exports.getPedalMarkings = _chunkCHMV7XWYjs.getPedalMarkings; exports.getPrevNote = _chunkCHMV7XWYjs.getPrevNote; exports.getRepeatStructure = _chunkCHMV7XWYjs.getRepeatStructure; exports.getSlurSpans = _chunkCHMV7XWYjs.getSlurSpans; exports.getSoundDamperPedal = getSoundDamperPedal; exports.getSoundDynamics = getSoundDynamics; exports.getSoundSoftPedal = getSoundSoftPedal; exports.getSoundSostenutoPedal = getSoundSostenutoPedal; exports.getSoundTempo = getSoundTempo; exports.getStaffRange = _chunkCHMV7XWYjs.getStaffRange; exports.getStaveCount = _chunkCHMV7XWYjs.getStaveCount; exports.getStaves = _chunkCHMV7XWYjs.getStaves; exports.getStructuralChanges = _chunkCHMV7XWYjs.getStructuralChanges; exports.getTempoMarkings = _chunkCHMV7XWYjs.getTempoMarkings; exports.getTiedNoteGroups = _chunkCHMV7XWYjs.getTiedNoteGroups; exports.getTimeChanges = _chunkCHMV7XWYjs.getTimeChanges; exports.getTupletGroups = _chunkCHMV7XWYjs.getTupletGroups; exports.getVerseCount = _chunkCHMV7XWYjs.getVerseCount; exports.getVerticalSlice = _chunkCHMV7XWYjs.getVerticalSlice; exports.getVoiceLine = _chunkCHMV7XWYjs.getVoiceLine; exports.getVoiceLineInRange = _chunkCHMV7XWYjs.getVoiceLineInRange; exports.getVoices = _chunkCHMV7XWYjs.getVoices; exports.getVoicesForStaff = _chunkCHMV7XWYjs.getVoicesForStaff; exports.getWedges = _chunkCHMV7XWYjs.getWedges; exports.groupByStaff = _chunkCHMV7XWYjs.groupByStaff; exports.groupByVoice = _chunkCHMV7XWYjs.groupByVoice; exports.hasBeam = hasBeam; exports.hasDirectionOfKind = hasDirectionOfKind; exports.hasLyrics = hasLyrics; exports.hasMultipleStaves = _chunkCHMV7XWYjs.hasMultipleStaves; exports.hasNotations = hasNotations; exports.hasNotes = _chunkCHMV7XWYjs.hasNotes; exports.hasPlaybackControls = _chunkCHMV7XWYjs.hasPlaybackControls; exports.hasTie = hasTie; exports.hasTieStart = hasTieStart; exports.hasTieStop = hasTieStop; exports.hasTuplet = hasTuplet; exports.inferStaff = _chunkCHMV7XWYjs.inferStaff; exports.insertClefChange = _chunkS5MWUJU2js.insertClefChange; exports.insertMeasure = _chunkS5MWUJU2js.insertMeasure; exports.insertNote = _chunkS5MWUJU2js.insertNote; exports.isChordNote = isChordNote; exports.isCompressed = isCompressed; exports.isCueNote = isCueNote; exports.isGraceNote = isGraceNote; exports.isPartInfo = isPartInfo; exports.isPitchedNote = isPitchedNote; exports.isRest = isRest; exports.isRestMeasure = _chunkCHMV7XWYjs.isRestMeasure; exports.isUnpitchedNote = isUnpitchedNote; exports.isValid = _chunkS5MWUJU2js.isValid; exports.iterateEntries = _chunkCHMV7XWYjs.iterateEntries; exports.iterateNotes = _chunkCHMV7XWYjs.iterateNotes; exports.lowerAccidental = _chunkS5MWUJU2js.lowerAccidental; exports.measureRoundtrip = _chunkCHMV7XWYjs.measureRoundtrip; exports.modifyDynamics = _chunkS5MWUJU2js.modifyDynamics; exports.modifyNoteDuration = _chunkS5MWUJU2js.modifyNoteDuration; exports.modifyNoteDurationChecked = _chunkS5MWUJU2js.modifyNoteDurationChecked; exports.modifyNotePitch = _chunkS5MWUJU2js.modifyNotePitch; exports.modifyNotePitchChecked = _chunkS5MWUJU2js.modifyNotePitchChecked; exports.modifyTempo = _chunkS5MWUJU2js.modifyTempo; exports.moveNoteToStaff = _chunkS5MWUJU2js.moveNoteToStaff; exports.parse = parse; exports.parseAbc = parseAbc; exports.parseAuto = parseAuto; exports.parseCompressed = parseCompressed; exports.parseFile = parseFile; exports.pasteNotes = _chunkS5MWUJU2js.pasteNotes; exports.pasteNotesMultiMeasure = _chunkS5MWUJU2js.pasteNotesMultiMeasure; exports.pitchToSemitone = _chunkCHMV7XWYjs.pitchToSemitone; exports.raiseAccidental = _chunkS5MWUJU2js.raiseAccidental; exports.removeArticulation = _chunkS5MWUJU2js.removeArticulation; exports.removeBeam = _chunkS5MWUJU2js.removeBeam; exports.removeBowing = _chunkS5MWUJU2js.removeBowing; exports.removeBreathMark = _chunkS5MWUJU2js.removeBreathMark; exports.removeCaesura = _chunkS5MWUJU2js.removeCaesura; exports.removeChordSymbol = _chunkS5MWUJU2js.removeChordSymbol; exports.removeDynamics = _chunkS5MWUJU2js.removeDynamics; exports.removeEnding = _chunkS5MWUJU2js.removeEnding; exports.removeFermata = _chunkS5MWUJU2js.removeFermata; exports.removeFingering = _chunkS5MWUJU2js.removeFingering; exports.removeGraceNote = _chunkS5MWUJU2js.removeGraceNote; exports.removeHarmony = _chunkS5MWUJU2js.removeHarmony; exports.removeLyric = _chunkS5MWUJU2js.removeLyric; exports.removeNote = _chunkS5MWUJU2js.removeNote; exports.removeOctaveShift = _chunkS5MWUJU2js.removeOctaveShift; exports.removeOrnament = _chunkS5MWUJU2js.removeOrnament; exports.removePart = _chunkS5MWUJU2js.removePart; exports.removePedal = _chunkS5MWUJU2js.removePedal; exports.removeRepeat = _chunkS5MWUJU2js.removeRepeat; exports.removeRepeatBarline = _chunkS5MWUJU2js.removeRepeatBarline; exports.removeSlur = _chunkS5MWUJU2js.removeSlur; exports.removeStringNumber = _chunkS5MWUJU2js.removeStringNumber; exports.removeTempo = _chunkS5MWUJU2js.removeTempo; exports.removeTie = _chunkS5MWUJU2js.removeTie; exports.removeTuplet = _chunkS5MWUJU2js.removeTuplet; exports.removeWedge = _chunkS5MWUJU2js.removeWedge; exports.scoresEqual = _chunkCHMV7XWYjs.scoresEqual; exports.serialize = serialize; exports.serializeAbc = serializeAbc; exports.serializeCompressed = serializeCompressed; exports.serializeToFile = serializeToFile; exports.setBarline = _chunkS5MWUJU2js.setBarline; exports.setBeaming = _chunkS5MWUJU2js.setBeaming; exports.setNotePitch = _chunkS5MWUJU2js.setNotePitch; exports.setNotePitchBySemitone = _chunkS5MWUJU2js.setNotePitchBySemitone; exports.setStaves = _chunkS5MWUJU2js.setStaves; exports.shiftNotePitch = _chunkS5MWUJU2js.shiftNotePitch; exports.stopOctaveShift = _chunkS5MWUJU2js.stopOctaveShift; exports.transpose = _chunkS5MWUJU2js.transpose; exports.transposeChecked = _chunkS5MWUJU2js.transposeChecked; exports.updateChordSymbol = _chunkS5MWUJU2js.updateChordSymbol; exports.updateHarmony = _chunkS5MWUJU2js.updateHarmony; exports.updateLyric = _chunkS5MWUJU2js.updateLyric; exports.validate = _chunkS5MWUJU2js.validate; exports.validateBackupForward = _chunkS5MWUJU2js.validateBackupForward; exports.validateBeams = _chunkS5MWUJU2js.validateBeams; exports.validateDivisions = _chunkS5MWUJU2js.validateDivisions; exports.validateMeasureDuration = _chunkS5MWUJU2js.validateMeasureDuration; exports.validateMeasureLocal = _chunkS5MWUJU2js.validateMeasureLocal; exports.validatePartReferences = _chunkS5MWUJU2js.validatePartReferences; exports.validatePartStructure = _chunkS5MWUJU2js.validatePartStructure; exports.validateSlurs = _chunkS5MWUJU2js.validateSlurs; exports.validateSlursAcrossMeasures = _chunkS5MWUJU2js.validateSlursAcrossMeasures; exports.validateStaffStructure = _chunkS5MWUJU2js.validateStaffStructure; exports.validateTies = _chunkS5MWUJU2js.validateTies; exports.validateTiesAcrossMeasures = _chunkS5MWUJU2js.validateTiesAcrossMeasures; exports.validateTuplets = _chunkS5MWUJU2js.validateTuplets; exports.validateVoiceStaff = _chunkS5MWUJU2js.validateVoiceStaff; exports.withAbsolutePositions = _chunkCHMV7XWYjs.withAbsolutePositions;
8221
+ exports.STEPS = _chunkEWLB5X64js.STEPS; exports.STEP_SEMITONES = _chunkEWLB5X64js.STEP_SEMITONES; exports.ValidationException = _chunkKJXV3TD4js.ValidationException; exports.addArticulation = _chunkKJXV3TD4js.addArticulation; exports.addBeam = _chunkKJXV3TD4js.addBeam; exports.addBowing = _chunkKJXV3TD4js.addBowing; exports.addBreathMark = _chunkKJXV3TD4js.addBreathMark; exports.addCaesura = _chunkKJXV3TD4js.addCaesura; exports.addChord = _chunkKJXV3TD4js.addChord; exports.addChordNote = _chunkKJXV3TD4js.addChordNote; exports.addChordNoteChecked = _chunkKJXV3TD4js.addChordNoteChecked; exports.addChordSymbol = _chunkKJXV3TD4js.addChordSymbol; exports.addCoda = _chunkKJXV3TD4js.addCoda; exports.addDaCapo = _chunkKJXV3TD4js.addDaCapo; exports.addDalSegno = _chunkKJXV3TD4js.addDalSegno; exports.addDynamics = _chunkKJXV3TD4js.addDynamics; exports.addEnding = _chunkKJXV3TD4js.addEnding; exports.addFermata = _chunkKJXV3TD4js.addFermata; exports.addFine = _chunkKJXV3TD4js.addFine; exports.addFingering = _chunkKJXV3TD4js.addFingering; exports.addGraceNote = _chunkKJXV3TD4js.addGraceNote; exports.addHarmony = _chunkKJXV3TD4js.addHarmony; exports.addLyric = _chunkKJXV3TD4js.addLyric; exports.addNote = _chunkKJXV3TD4js.addNote; exports.addNoteChecked = _chunkKJXV3TD4js.addNoteChecked; exports.addOctaveShift = _chunkKJXV3TD4js.addOctaveShift; exports.addOrnament = _chunkKJXV3TD4js.addOrnament; exports.addPart = _chunkKJXV3TD4js.addPart; exports.addPedal = _chunkKJXV3TD4js.addPedal; exports.addRehearsalMark = _chunkKJXV3TD4js.addRehearsalMark; exports.addRepeat = _chunkKJXV3TD4js.addRepeat; exports.addRepeatBarline = _chunkKJXV3TD4js.addRepeatBarline; exports.addSegno = _chunkKJXV3TD4js.addSegno; exports.addSlur = _chunkKJXV3TD4js.addSlur; exports.addStringNumber = _chunkKJXV3TD4js.addStringNumber; exports.addTempo = _chunkKJXV3TD4js.addTempo; exports.addText = _chunkKJXV3TD4js.addText; exports.addTextDirection = _chunkKJXV3TD4js.addTextDirection; exports.addTie = _chunkKJXV3TD4js.addTie; exports.addToCoda = _chunkKJXV3TD4js.addToCoda; exports.addVoice = _chunkKJXV3TD4js.addVoice; exports.addWedge = _chunkKJXV3TD4js.addWedge; exports.assertMeasureValid = _chunkKJXV3TD4js.assertMeasureValid; exports.assertValid = _chunkKJXV3TD4js.assertValid; exports.autoBeam = _chunkKJXV3TD4js.autoBeam; exports.buildVoiceToStaffMap = _chunkEWLB5X64js.buildVoiceToStaffMap; exports.buildVoiceToStaffMapForPart = _chunkEWLB5X64js.buildVoiceToStaffMapForPart; exports.changeBarline = _chunkKJXV3TD4js.changeBarline; exports.changeClef = _chunkKJXV3TD4js.changeClef; exports.changeKey = _chunkKJXV3TD4js.changeKey; exports.changeNoteDuration = _chunkKJXV3TD4js.changeNoteDuration; exports.changeTime = _chunkKJXV3TD4js.changeTime; exports.convertToGrace = _chunkKJXV3TD4js.convertToGrace; exports.copyNotes = _chunkKJXV3TD4js.copyNotes; exports.copyNotesMultiMeasure = _chunkKJXV3TD4js.copyNotesMultiMeasure; exports.countNotes = _chunkEWLB5X64js.countNotes; exports.createTuplet = _chunkKJXV3TD4js.createTuplet; exports.cutNotes = _chunkKJXV3TD4js.cutNotes; exports.decodeBuffer = decodeBuffer; exports.deleteMeasure = _chunkKJXV3TD4js.deleteMeasure; exports.deleteNote = _chunkKJXV3TD4js.deleteNote; exports.deleteNoteChecked = _chunkKJXV3TD4js.deleteNoteChecked; exports.duplicatePart = _chunkKJXV3TD4js.duplicatePart; exports.exportMidi = exportMidi; exports.exportMidiWithTimingMap = exportMidiWithTimingMap; exports.extractPlaybackControls = _chunkEWLB5X64js.extractPlaybackControls; exports.findBarlines = _chunkEWLB5X64js.findBarlines; exports.findDirectionsByType = _chunkEWLB5X64js.findDirectionsByType; exports.findNotes = _chunkEWLB5X64js.findNotes; exports.findNotesWithNotation = _chunkEWLB5X64js.findNotesWithNotation; exports.formatLocation = _chunkKJXV3TD4js.formatLocation; exports.generateId = _chunkKJXV3TD4js.generateId; exports.generatePlaybackSequence = _chunkEWLB5X64js.generatePlaybackSequence; exports.generatePlaybackTimeline = _chunkEWLB5X64js.generatePlaybackTimeline; exports.getAbsolutePosition = _chunkEWLB5X64js.getAbsolutePosition; exports.getAdjacentNotes = _chunkEWLB5X64js.getAdjacentNotes; exports.getAllNotes = _chunkEWLB5X64js.getAllNotes; exports.getAllPartInfos = getAllPartInfos; exports.getAttributesAtMeasure = _chunkEWLB5X64js.getAttributesAtMeasure; exports.getBeamGroups = _chunkEWLB5X64js.getBeamGroups; exports.getChordProgression = _chunkEWLB5X64js.getChordProgression; exports.getChords = _chunkEWLB5X64js.getChords; exports.getClefChanges = _chunkEWLB5X64js.getClefChanges; exports.getClefForStaff = _chunkEWLB5X64js.getClefForStaff; exports.getDirectionOfKind = getDirectionOfKind; exports.getDirections = _chunkEWLB5X64js.getDirections; exports.getDirectionsAtPosition = _chunkEWLB5X64js.getDirectionsAtPosition; exports.getDirectionsOfKind = getDirectionsOfKind; exports.getDivisions = _chunkEWLB5X64js.getDivisions; exports.getDuration = _chunkEWLB5X64js.getDuration; exports.getDynamics = _chunkEWLB5X64js.getDynamics; exports.getEffectiveStaff = _chunkEWLB5X64js.getEffectiveStaff; exports.getEndings = _chunkEWLB5X64js.getEndings; exports.getEntriesAtPosition = _chunkEWLB5X64js.getEntriesAtPosition; exports.getEntriesForStaff = _chunkEWLB5X64js.getEntriesForStaff; exports.getEntriesInRange = _chunkEWLB5X64js.getEntriesInRange; exports.getHarmonies = _chunkEWLB5X64js.getHarmonies; exports.getHarmonyAtPosition = _chunkEWLB5X64js.getHarmonyAtPosition; exports.getKeyChanges = _chunkEWLB5X64js.getKeyChanges; exports.getLyricText = _chunkEWLB5X64js.getLyricText; exports.getLyrics = _chunkEWLB5X64js.getLyrics; exports.getMeasure = _chunkEWLB5X64js.getMeasure; exports.getMeasureByIndex = _chunkEWLB5X64js.getMeasureByIndex; exports.getMeasureContext = _chunkKJXV3TD4js.getMeasureContext; exports.getMeasureCount = _chunkEWLB5X64js.getMeasureCount; exports.getMeasureEndPosition = _chunkEWLB5X64js.getMeasureEndPosition; exports.getNextNote = _chunkEWLB5X64js.getNextNote; exports.getNormalizedDuration = _chunkEWLB5X64js.getNormalizedDuration; exports.getNormalizedPosition = _chunkEWLB5X64js.getNormalizedPosition; exports.getNotesAtPosition = _chunkEWLB5X64js.getNotesAtPosition; exports.getNotesForStaff = _chunkEWLB5X64js.getNotesForStaff; exports.getNotesForVoice = _chunkEWLB5X64js.getNotesForVoice; exports.getNotesInRange = _chunkEWLB5X64js.getNotesInRange; exports.getOctaveShifts = _chunkEWLB5X64js.getOctaveShifts; exports.getPartAbbreviation = getPartAbbreviation; exports.getPartById = _chunkEWLB5X64js.getPartById; exports.getPartByIndex = _chunkEWLB5X64js.getPartByIndex; exports.getPartCount = _chunkEWLB5X64js.getPartCount; exports.getPartIds = _chunkEWLB5X64js.getPartIds; exports.getPartIndex = _chunkEWLB5X64js.getPartIndex; exports.getPartInfo = getPartInfo; exports.getPartName = getPartName; exports.getPartNameMap = getPartNameMap; exports.getPedalMarkings = _chunkEWLB5X64js.getPedalMarkings; exports.getPrevNote = _chunkEWLB5X64js.getPrevNote; exports.getRepeatStructure = _chunkEWLB5X64js.getRepeatStructure; exports.getSlurSpans = _chunkEWLB5X64js.getSlurSpans; exports.getSoundDamperPedal = getSoundDamperPedal; exports.getSoundDynamics = getSoundDynamics; exports.getSoundSoftPedal = getSoundSoftPedal; exports.getSoundSostenutoPedal = getSoundSostenutoPedal; exports.getSoundTempo = getSoundTempo; exports.getStaffRange = _chunkEWLB5X64js.getStaffRange; exports.getStaveCount = _chunkEWLB5X64js.getStaveCount; exports.getStaves = _chunkEWLB5X64js.getStaves; exports.getStructuralChanges = _chunkEWLB5X64js.getStructuralChanges; exports.getTempoMarkings = _chunkEWLB5X64js.getTempoMarkings; exports.getTiedNoteGroups = _chunkEWLB5X64js.getTiedNoteGroups; exports.getTimeChanges = _chunkEWLB5X64js.getTimeChanges; exports.getTupletGroups = _chunkEWLB5X64js.getTupletGroups; exports.getVerseCount = _chunkEWLB5X64js.getVerseCount; exports.getVerticalSlice = _chunkEWLB5X64js.getVerticalSlice; exports.getVoiceLine = _chunkEWLB5X64js.getVoiceLine; exports.getVoiceLineInRange = _chunkEWLB5X64js.getVoiceLineInRange; exports.getVoices = _chunkEWLB5X64js.getVoices; exports.getVoicesForStaff = _chunkEWLB5X64js.getVoicesForStaff; exports.getWedges = _chunkEWLB5X64js.getWedges; exports.groupByStaff = _chunkEWLB5X64js.groupByStaff; exports.groupByVoice = _chunkEWLB5X64js.groupByVoice; exports.hasBeam = hasBeam; exports.hasDirectionOfKind = hasDirectionOfKind; exports.hasLyrics = hasLyrics; exports.hasMultipleStaves = _chunkEWLB5X64js.hasMultipleStaves; exports.hasNotations = hasNotations; exports.hasNotes = _chunkEWLB5X64js.hasNotes; exports.hasPlaybackControls = _chunkEWLB5X64js.hasPlaybackControls; exports.hasTie = hasTie; exports.hasTieStart = hasTieStart; exports.hasTieStop = hasTieStop; exports.hasTuplet = hasTuplet; exports.inferStaff = _chunkEWLB5X64js.inferStaff; exports.insertClefChange = _chunkKJXV3TD4js.insertClefChange; exports.insertMeasure = _chunkKJXV3TD4js.insertMeasure; exports.insertNote = _chunkKJXV3TD4js.insertNote; exports.isChordNote = isChordNote; exports.isCompressed = isCompressed; exports.isCueNote = isCueNote; exports.isGraceNote = isGraceNote; exports.isPartInfo = isPartInfo; exports.isPitchedNote = isPitchedNote; exports.isRest = isRest; exports.isRestMeasure = _chunkEWLB5X64js.isRestMeasure; exports.isUnpitchedNote = isUnpitchedNote; exports.isValid = _chunkKJXV3TD4js.isValid; exports.iterateEntries = _chunkEWLB5X64js.iterateEntries; exports.iterateNotes = _chunkEWLB5X64js.iterateNotes; exports.lowerAccidental = _chunkKJXV3TD4js.lowerAccidental; exports.measureRoundtrip = _chunkEWLB5X64js.measureRoundtrip; exports.modifyDynamics = _chunkKJXV3TD4js.modifyDynamics; exports.modifyNoteDuration = _chunkKJXV3TD4js.modifyNoteDuration; exports.modifyNoteDurationChecked = _chunkKJXV3TD4js.modifyNoteDurationChecked; exports.modifyNotePitch = _chunkKJXV3TD4js.modifyNotePitch; exports.modifyNotePitchChecked = _chunkKJXV3TD4js.modifyNotePitchChecked; exports.modifyTempo = _chunkKJXV3TD4js.modifyTempo; exports.moveNoteToStaff = _chunkKJXV3TD4js.moveNoteToStaff; exports.parse = parse; exports.parseAbc = parseAbc; exports.parseAuto = parseAuto; exports.parseCompressed = parseCompressed; exports.parseFile = parseFile; exports.pasteNotes = _chunkKJXV3TD4js.pasteNotes; exports.pasteNotesMultiMeasure = _chunkKJXV3TD4js.pasteNotesMultiMeasure; exports.pitchToSemitone = _chunkEWLB5X64js.pitchToSemitone; exports.raiseAccidental = _chunkKJXV3TD4js.raiseAccidental; exports.removeArticulation = _chunkKJXV3TD4js.removeArticulation; exports.removeBeam = _chunkKJXV3TD4js.removeBeam; exports.removeBowing = _chunkKJXV3TD4js.removeBowing; exports.removeBreathMark = _chunkKJXV3TD4js.removeBreathMark; exports.removeCaesura = _chunkKJXV3TD4js.removeCaesura; exports.removeChordSymbol = _chunkKJXV3TD4js.removeChordSymbol; exports.removeDynamics = _chunkKJXV3TD4js.removeDynamics; exports.removeEnding = _chunkKJXV3TD4js.removeEnding; exports.removeFermata = _chunkKJXV3TD4js.removeFermata; exports.removeFingering = _chunkKJXV3TD4js.removeFingering; exports.removeGraceNote = _chunkKJXV3TD4js.removeGraceNote; exports.removeHarmony = _chunkKJXV3TD4js.removeHarmony; exports.removeLyric = _chunkKJXV3TD4js.removeLyric; exports.removeNote = _chunkKJXV3TD4js.removeNote; exports.removeOctaveShift = _chunkKJXV3TD4js.removeOctaveShift; exports.removeOrnament = _chunkKJXV3TD4js.removeOrnament; exports.removePart = _chunkKJXV3TD4js.removePart; exports.removePedal = _chunkKJXV3TD4js.removePedal; exports.removeRepeat = _chunkKJXV3TD4js.removeRepeat; exports.removeRepeatBarline = _chunkKJXV3TD4js.removeRepeatBarline; exports.removeSlur = _chunkKJXV3TD4js.removeSlur; exports.removeStringNumber = _chunkKJXV3TD4js.removeStringNumber; exports.removeTempo = _chunkKJXV3TD4js.removeTempo; exports.removeTie = _chunkKJXV3TD4js.removeTie; exports.removeTuplet = _chunkKJXV3TD4js.removeTuplet; exports.removeWedge = _chunkKJXV3TD4js.removeWedge; exports.scoresEqual = _chunkEWLB5X64js.scoresEqual; exports.serialize = serialize; exports.serializeAbc = serializeAbc; exports.serializeCompressed = serializeCompressed; exports.serializeToFile = serializeToFile; exports.setBarline = _chunkKJXV3TD4js.setBarline; exports.setBeaming = _chunkKJXV3TD4js.setBeaming; exports.setNotePitch = _chunkKJXV3TD4js.setNotePitch; exports.setNotePitchBySemitone = _chunkKJXV3TD4js.setNotePitchBySemitone; exports.setStaves = _chunkKJXV3TD4js.setStaves; exports.shiftNotePitch = _chunkKJXV3TD4js.shiftNotePitch; exports.stopOctaveShift = _chunkKJXV3TD4js.stopOctaveShift; exports.transpose = _chunkKJXV3TD4js.transpose; exports.transposeChecked = _chunkKJXV3TD4js.transposeChecked; exports.updateChordSymbol = _chunkKJXV3TD4js.updateChordSymbol; exports.updateHarmony = _chunkKJXV3TD4js.updateHarmony; exports.updateLyric = _chunkKJXV3TD4js.updateLyric; exports.validate = _chunkKJXV3TD4js.validate; exports.validateBackupForward = _chunkKJXV3TD4js.validateBackupForward; exports.validateBeams = _chunkKJXV3TD4js.validateBeams; exports.validateDivisions = _chunkKJXV3TD4js.validateDivisions; exports.validateMeasureDuration = _chunkKJXV3TD4js.validateMeasureDuration; exports.validateMeasureLocal = _chunkKJXV3TD4js.validateMeasureLocal; exports.validatePartReferences = _chunkKJXV3TD4js.validatePartReferences; exports.validatePartStructure = _chunkKJXV3TD4js.validatePartStructure; exports.validateSlurs = _chunkKJXV3TD4js.validateSlurs; exports.validateSlursAcrossMeasures = _chunkKJXV3TD4js.validateSlursAcrossMeasures; exports.validateStaffStructure = _chunkKJXV3TD4js.validateStaffStructure; exports.validateTies = _chunkKJXV3TD4js.validateTies; exports.validateTiesAcrossMeasures = _chunkKJXV3TD4js.validateTiesAcrossMeasures; exports.validateTuplets = _chunkKJXV3TD4js.validateTuplets; exports.validateVoiceStaff = _chunkKJXV3TD4js.validateVoiceStaff; exports.withAbsolutePositions = _chunkEWLB5X64js.withAbsolutePositions;
package/dist/index.mjs CHANGED
@@ -127,7 +127,7 @@ import {
127
127
  validateTiesAcrossMeasures,
128
128
  validateTuplets,
129
129
  validateVoiceStaff
130
- } from "./chunk-IM3FS32Q.mjs";
130
+ } from "./chunk-D5NOEHYN.mjs";
131
131
  import {
132
132
  STEPS,
133
133
  STEP_SEMITONES,
@@ -218,7 +218,7 @@ import {
218
218
  pitchToSemitone,
219
219
  scoresEqual,
220
220
  withAbsolutePositions
221
- } from "./chunk-VQUFSGB5.mjs";
221
+ } from "./chunk-UMEH3ENQ.mjs";
222
222
 
223
223
  // src/importers/musicxml.ts
224
224
  import { parse as txmlParse } from "txml";
@@ -6597,7 +6597,12 @@ function createConductorTrack(score, defaultTempo, grid) {
6597
6597
  events.push(...writeVariableLength(ev.tick - lastTick), ...ev.bytes);
6598
6598
  lastTick = ev.tick;
6599
6599
  }
6600
- events.push(...writeVariableLength(0), 255, 47, 0);
6600
+ events.push(
6601
+ ...writeVariableLength(Math.max(0, grid.totalTicks - lastTick)),
6602
+ 255,
6603
+ 47,
6604
+ 0
6605
+ );
6601
6606
  return new Uint8Array(events);
6602
6607
  }
6603
6608
  function createPartTrack(part, _score, channel, program, ticksPerQuarterNote, defaultVelocity, measureOrder) {
@@ -105,8 +105,8 @@
105
105
 
106
106
 
107
107
 
108
- var _chunkS5MWUJU2js = require('../chunk-S5MWUJU2.js');
109
- require('../chunk-CHMV7XWY.js');
108
+ var _chunkKJXV3TD4js = require('../chunk-KJXV3TD4.js');
109
+ require('../chunk-EWLB5X64.js');
110
110
 
111
111
 
112
112
 
@@ -214,4 +214,4 @@ require('../chunk-CHMV7XWY.js');
214
214
 
215
215
 
216
216
 
217
- exports.addArticulation = _chunkS5MWUJU2js.addArticulation; exports.addBeam = _chunkS5MWUJU2js.addBeam; exports.addBowing = _chunkS5MWUJU2js.addBowing; exports.addBreathMark = _chunkS5MWUJU2js.addBreathMark; exports.addCaesura = _chunkS5MWUJU2js.addCaesura; exports.addChord = _chunkS5MWUJU2js.addChord; exports.addChordNote = _chunkS5MWUJU2js.addChordNote; exports.addChordNoteChecked = _chunkS5MWUJU2js.addChordNoteChecked; exports.addChordSymbol = _chunkS5MWUJU2js.addChordSymbol; exports.addCoda = _chunkS5MWUJU2js.addCoda; exports.addDaCapo = _chunkS5MWUJU2js.addDaCapo; exports.addDalSegno = _chunkS5MWUJU2js.addDalSegno; exports.addDynamics = _chunkS5MWUJU2js.addDynamics; exports.addEnding = _chunkS5MWUJU2js.addEnding; exports.addFermata = _chunkS5MWUJU2js.addFermata; exports.addFine = _chunkS5MWUJU2js.addFine; exports.addFingering = _chunkS5MWUJU2js.addFingering; exports.addGraceNote = _chunkS5MWUJU2js.addGraceNote; exports.addHarmony = _chunkS5MWUJU2js.addHarmony; exports.addLyric = _chunkS5MWUJU2js.addLyric; exports.addNote = _chunkS5MWUJU2js.addNote; exports.addNoteChecked = _chunkS5MWUJU2js.addNoteChecked; exports.addOctaveShift = _chunkS5MWUJU2js.addOctaveShift; exports.addOrnament = _chunkS5MWUJU2js.addOrnament; exports.addPart = _chunkS5MWUJU2js.addPart; exports.addPedal = _chunkS5MWUJU2js.addPedal; exports.addRehearsalMark = _chunkS5MWUJU2js.addRehearsalMark; exports.addRepeat = _chunkS5MWUJU2js.addRepeat; exports.addRepeatBarline = _chunkS5MWUJU2js.addRepeatBarline; exports.addSegno = _chunkS5MWUJU2js.addSegno; exports.addSlur = _chunkS5MWUJU2js.addSlur; exports.addStringNumber = _chunkS5MWUJU2js.addStringNumber; exports.addTempo = _chunkS5MWUJU2js.addTempo; exports.addText = _chunkS5MWUJU2js.addText; exports.addTextDirection = _chunkS5MWUJU2js.addTextDirection; exports.addTie = _chunkS5MWUJU2js.addTie; exports.addToCoda = _chunkS5MWUJU2js.addToCoda; exports.addVoice = _chunkS5MWUJU2js.addVoice; exports.addWedge = _chunkS5MWUJU2js.addWedge; exports.autoBeam = _chunkS5MWUJU2js.autoBeam; exports.changeBarline = _chunkS5MWUJU2js.changeBarline; exports.changeClef = _chunkS5MWUJU2js.changeClef; exports.changeKey = _chunkS5MWUJU2js.changeKey; exports.changeNoteDuration = _chunkS5MWUJU2js.changeNoteDuration; exports.changeTime = _chunkS5MWUJU2js.changeTime; exports.convertToGrace = _chunkS5MWUJU2js.convertToGrace; exports.copyNotes = _chunkS5MWUJU2js.copyNotes; exports.copyNotesMultiMeasure = _chunkS5MWUJU2js.copyNotesMultiMeasure; exports.createTuplet = _chunkS5MWUJU2js.createTuplet; exports.cutNotes = _chunkS5MWUJU2js.cutNotes; exports.deleteMeasure = _chunkS5MWUJU2js.deleteMeasure; exports.deleteNote = _chunkS5MWUJU2js.deleteNote; exports.deleteNoteChecked = _chunkS5MWUJU2js.deleteNoteChecked; exports.duplicatePart = _chunkS5MWUJU2js.duplicatePart; exports.insertClefChange = _chunkS5MWUJU2js.insertClefChange; exports.insertMeasure = _chunkS5MWUJU2js.insertMeasure; exports.insertNote = _chunkS5MWUJU2js.insertNote; exports.lowerAccidental = _chunkS5MWUJU2js.lowerAccidental; exports.modifyDynamics = _chunkS5MWUJU2js.modifyDynamics; exports.modifyNoteDuration = _chunkS5MWUJU2js.modifyNoteDuration; exports.modifyNoteDurationChecked = _chunkS5MWUJU2js.modifyNoteDurationChecked; exports.modifyNotePitch = _chunkS5MWUJU2js.modifyNotePitch; exports.modifyNotePitchChecked = _chunkS5MWUJU2js.modifyNotePitchChecked; exports.modifyTempo = _chunkS5MWUJU2js.modifyTempo; exports.moveNoteToStaff = _chunkS5MWUJU2js.moveNoteToStaff; exports.pasteNotes = _chunkS5MWUJU2js.pasteNotes; exports.pasteNotesMultiMeasure = _chunkS5MWUJU2js.pasteNotesMultiMeasure; exports.raiseAccidental = _chunkS5MWUJU2js.raiseAccidental; exports.removeArticulation = _chunkS5MWUJU2js.removeArticulation; exports.removeBeam = _chunkS5MWUJU2js.removeBeam; exports.removeBowing = _chunkS5MWUJU2js.removeBowing; exports.removeBreathMark = _chunkS5MWUJU2js.removeBreathMark; exports.removeCaesura = _chunkS5MWUJU2js.removeCaesura; exports.removeChordSymbol = _chunkS5MWUJU2js.removeChordSymbol; exports.removeDynamics = _chunkS5MWUJU2js.removeDynamics; exports.removeEnding = _chunkS5MWUJU2js.removeEnding; exports.removeFermata = _chunkS5MWUJU2js.removeFermata; exports.removeFingering = _chunkS5MWUJU2js.removeFingering; exports.removeGraceNote = _chunkS5MWUJU2js.removeGraceNote; exports.removeHarmony = _chunkS5MWUJU2js.removeHarmony; exports.removeLyric = _chunkS5MWUJU2js.removeLyric; exports.removeNote = _chunkS5MWUJU2js.removeNote; exports.removeOctaveShift = _chunkS5MWUJU2js.removeOctaveShift; exports.removeOrnament = _chunkS5MWUJU2js.removeOrnament; exports.removePart = _chunkS5MWUJU2js.removePart; exports.removePedal = _chunkS5MWUJU2js.removePedal; exports.removeRepeat = _chunkS5MWUJU2js.removeRepeat; exports.removeRepeatBarline = _chunkS5MWUJU2js.removeRepeatBarline; exports.removeSlur = _chunkS5MWUJU2js.removeSlur; exports.removeStringNumber = _chunkS5MWUJU2js.removeStringNumber; exports.removeTempo = _chunkS5MWUJU2js.removeTempo; exports.removeTie = _chunkS5MWUJU2js.removeTie; exports.removeTuplet = _chunkS5MWUJU2js.removeTuplet; exports.removeWedge = _chunkS5MWUJU2js.removeWedge; exports.setBarline = _chunkS5MWUJU2js.setBarline; exports.setBeaming = _chunkS5MWUJU2js.setBeaming; exports.setNotePitch = _chunkS5MWUJU2js.setNotePitch; exports.setNotePitchBySemitone = _chunkS5MWUJU2js.setNotePitchBySemitone; exports.setStaves = _chunkS5MWUJU2js.setStaves; exports.shiftNotePitch = _chunkS5MWUJU2js.shiftNotePitch; exports.stopOctaveShift = _chunkS5MWUJU2js.stopOctaveShift; exports.transpose = _chunkS5MWUJU2js.transpose; exports.transposeChecked = _chunkS5MWUJU2js.transposeChecked; exports.updateChordSymbol = _chunkS5MWUJU2js.updateChordSymbol; exports.updateHarmony = _chunkS5MWUJU2js.updateHarmony; exports.updateLyric = _chunkS5MWUJU2js.updateLyric;
217
+ exports.addArticulation = _chunkKJXV3TD4js.addArticulation; exports.addBeam = _chunkKJXV3TD4js.addBeam; exports.addBowing = _chunkKJXV3TD4js.addBowing; exports.addBreathMark = _chunkKJXV3TD4js.addBreathMark; exports.addCaesura = _chunkKJXV3TD4js.addCaesura; exports.addChord = _chunkKJXV3TD4js.addChord; exports.addChordNote = _chunkKJXV3TD4js.addChordNote; exports.addChordNoteChecked = _chunkKJXV3TD4js.addChordNoteChecked; exports.addChordSymbol = _chunkKJXV3TD4js.addChordSymbol; exports.addCoda = _chunkKJXV3TD4js.addCoda; exports.addDaCapo = _chunkKJXV3TD4js.addDaCapo; exports.addDalSegno = _chunkKJXV3TD4js.addDalSegno; exports.addDynamics = _chunkKJXV3TD4js.addDynamics; exports.addEnding = _chunkKJXV3TD4js.addEnding; exports.addFermata = _chunkKJXV3TD4js.addFermata; exports.addFine = _chunkKJXV3TD4js.addFine; exports.addFingering = _chunkKJXV3TD4js.addFingering; exports.addGraceNote = _chunkKJXV3TD4js.addGraceNote; exports.addHarmony = _chunkKJXV3TD4js.addHarmony; exports.addLyric = _chunkKJXV3TD4js.addLyric; exports.addNote = _chunkKJXV3TD4js.addNote; exports.addNoteChecked = _chunkKJXV3TD4js.addNoteChecked; exports.addOctaveShift = _chunkKJXV3TD4js.addOctaveShift; exports.addOrnament = _chunkKJXV3TD4js.addOrnament; exports.addPart = _chunkKJXV3TD4js.addPart; exports.addPedal = _chunkKJXV3TD4js.addPedal; exports.addRehearsalMark = _chunkKJXV3TD4js.addRehearsalMark; exports.addRepeat = _chunkKJXV3TD4js.addRepeat; exports.addRepeatBarline = _chunkKJXV3TD4js.addRepeatBarline; exports.addSegno = _chunkKJXV3TD4js.addSegno; exports.addSlur = _chunkKJXV3TD4js.addSlur; exports.addStringNumber = _chunkKJXV3TD4js.addStringNumber; exports.addTempo = _chunkKJXV3TD4js.addTempo; exports.addText = _chunkKJXV3TD4js.addText; exports.addTextDirection = _chunkKJXV3TD4js.addTextDirection; exports.addTie = _chunkKJXV3TD4js.addTie; exports.addToCoda = _chunkKJXV3TD4js.addToCoda; exports.addVoice = _chunkKJXV3TD4js.addVoice; exports.addWedge = _chunkKJXV3TD4js.addWedge; exports.autoBeam = _chunkKJXV3TD4js.autoBeam; exports.changeBarline = _chunkKJXV3TD4js.changeBarline; exports.changeClef = _chunkKJXV3TD4js.changeClef; exports.changeKey = _chunkKJXV3TD4js.changeKey; exports.changeNoteDuration = _chunkKJXV3TD4js.changeNoteDuration; exports.changeTime = _chunkKJXV3TD4js.changeTime; exports.convertToGrace = _chunkKJXV3TD4js.convertToGrace; exports.copyNotes = _chunkKJXV3TD4js.copyNotes; exports.copyNotesMultiMeasure = _chunkKJXV3TD4js.copyNotesMultiMeasure; exports.createTuplet = _chunkKJXV3TD4js.createTuplet; exports.cutNotes = _chunkKJXV3TD4js.cutNotes; exports.deleteMeasure = _chunkKJXV3TD4js.deleteMeasure; exports.deleteNote = _chunkKJXV3TD4js.deleteNote; exports.deleteNoteChecked = _chunkKJXV3TD4js.deleteNoteChecked; exports.duplicatePart = _chunkKJXV3TD4js.duplicatePart; exports.insertClefChange = _chunkKJXV3TD4js.insertClefChange; exports.insertMeasure = _chunkKJXV3TD4js.insertMeasure; exports.insertNote = _chunkKJXV3TD4js.insertNote; exports.lowerAccidental = _chunkKJXV3TD4js.lowerAccidental; exports.modifyDynamics = _chunkKJXV3TD4js.modifyDynamics; exports.modifyNoteDuration = _chunkKJXV3TD4js.modifyNoteDuration; exports.modifyNoteDurationChecked = _chunkKJXV3TD4js.modifyNoteDurationChecked; exports.modifyNotePitch = _chunkKJXV3TD4js.modifyNotePitch; exports.modifyNotePitchChecked = _chunkKJXV3TD4js.modifyNotePitchChecked; exports.modifyTempo = _chunkKJXV3TD4js.modifyTempo; exports.moveNoteToStaff = _chunkKJXV3TD4js.moveNoteToStaff; exports.pasteNotes = _chunkKJXV3TD4js.pasteNotes; exports.pasteNotesMultiMeasure = _chunkKJXV3TD4js.pasteNotesMultiMeasure; exports.raiseAccidental = _chunkKJXV3TD4js.raiseAccidental; exports.removeArticulation = _chunkKJXV3TD4js.removeArticulation; exports.removeBeam = _chunkKJXV3TD4js.removeBeam; exports.removeBowing = _chunkKJXV3TD4js.removeBowing; exports.removeBreathMark = _chunkKJXV3TD4js.removeBreathMark; exports.removeCaesura = _chunkKJXV3TD4js.removeCaesura; exports.removeChordSymbol = _chunkKJXV3TD4js.removeChordSymbol; exports.removeDynamics = _chunkKJXV3TD4js.removeDynamics; exports.removeEnding = _chunkKJXV3TD4js.removeEnding; exports.removeFermata = _chunkKJXV3TD4js.removeFermata; exports.removeFingering = _chunkKJXV3TD4js.removeFingering; exports.removeGraceNote = _chunkKJXV3TD4js.removeGraceNote; exports.removeHarmony = _chunkKJXV3TD4js.removeHarmony; exports.removeLyric = _chunkKJXV3TD4js.removeLyric; exports.removeNote = _chunkKJXV3TD4js.removeNote; exports.removeOctaveShift = _chunkKJXV3TD4js.removeOctaveShift; exports.removeOrnament = _chunkKJXV3TD4js.removeOrnament; exports.removePart = _chunkKJXV3TD4js.removePart; exports.removePedal = _chunkKJXV3TD4js.removePedal; exports.removeRepeat = _chunkKJXV3TD4js.removeRepeat; exports.removeRepeatBarline = _chunkKJXV3TD4js.removeRepeatBarline; exports.removeSlur = _chunkKJXV3TD4js.removeSlur; exports.removeStringNumber = _chunkKJXV3TD4js.removeStringNumber; exports.removeTempo = _chunkKJXV3TD4js.removeTempo; exports.removeTie = _chunkKJXV3TD4js.removeTie; exports.removeTuplet = _chunkKJXV3TD4js.removeTuplet; exports.removeWedge = _chunkKJXV3TD4js.removeWedge; exports.setBarline = _chunkKJXV3TD4js.setBarline; exports.setBeaming = _chunkKJXV3TD4js.setBeaming; exports.setNotePitch = _chunkKJXV3TD4js.setNotePitch; exports.setNotePitchBySemitone = _chunkKJXV3TD4js.setNotePitchBySemitone; exports.setStaves = _chunkKJXV3TD4js.setStaves; exports.shiftNotePitch = _chunkKJXV3TD4js.shiftNotePitch; exports.stopOctaveShift = _chunkKJXV3TD4js.stopOctaveShift; exports.transpose = _chunkKJXV3TD4js.transpose; exports.transposeChecked = _chunkKJXV3TD4js.transposeChecked; exports.updateChordSymbol = _chunkKJXV3TD4js.updateChordSymbol; exports.updateHarmony = _chunkKJXV3TD4js.updateHarmony; exports.updateLyric = _chunkKJXV3TD4js.updateLyric;
@@ -105,8 +105,8 @@ import {
105
105
  updateChordSymbol,
106
106
  updateHarmony,
107
107
  updateLyric
108
- } from "../chunk-IM3FS32Q.mjs";
109
- import "../chunk-VQUFSGB5.mjs";
108
+ } from "../chunk-D5NOEHYN.mjs";
109
+ import "../chunk-UMEH3ENQ.mjs";
110
110
  export {
111
111
  addArticulation,
112
112
  addBeam,
@@ -80,7 +80,7 @@
80
80
 
81
81
 
82
82
 
83
- var _chunkCHMV7XWYjs = require('../chunk-CHMV7XWY.js');
83
+ var _chunkEWLB5X64js = require('../chunk-EWLB5X64.js');
84
84
 
85
85
 
86
86
 
@@ -163,4 +163,4 @@ var _chunkCHMV7XWYjs = require('../chunk-CHMV7XWY.js');
163
163
 
164
164
 
165
165
 
166
- exports.buildVoiceToStaffMap = _chunkCHMV7XWYjs.buildVoiceToStaffMap; exports.buildVoiceToStaffMapForPart = _chunkCHMV7XWYjs.buildVoiceToStaffMapForPart; exports.countNotes = _chunkCHMV7XWYjs.countNotes; exports.extractPlaybackControls = _chunkCHMV7XWYjs.extractPlaybackControls; exports.findBarlines = _chunkCHMV7XWYjs.findBarlines; exports.findDirectionsByType = _chunkCHMV7XWYjs.findDirectionsByType; exports.findNotes = _chunkCHMV7XWYjs.findNotes; exports.findNotesWithNotation = _chunkCHMV7XWYjs.findNotesWithNotation; exports.generatePlaybackSequence = _chunkCHMV7XWYjs.generatePlaybackSequence; exports.generatePlaybackTimeline = _chunkCHMV7XWYjs.generatePlaybackTimeline; exports.getAbsolutePosition = _chunkCHMV7XWYjs.getAbsolutePosition; exports.getAdjacentNotes = _chunkCHMV7XWYjs.getAdjacentNotes; exports.getAllNotes = _chunkCHMV7XWYjs.getAllNotes; exports.getAttributesAtMeasure = _chunkCHMV7XWYjs.getAttributesAtMeasure; exports.getBeamGroups = _chunkCHMV7XWYjs.getBeamGroups; exports.getChordProgression = _chunkCHMV7XWYjs.getChordProgression; exports.getChords = _chunkCHMV7XWYjs.getChords; exports.getClefChanges = _chunkCHMV7XWYjs.getClefChanges; exports.getClefForStaff = _chunkCHMV7XWYjs.getClefForStaff; exports.getDirections = _chunkCHMV7XWYjs.getDirections; exports.getDirectionsAtPosition = _chunkCHMV7XWYjs.getDirectionsAtPosition; exports.getDivisions = _chunkCHMV7XWYjs.getDivisions; exports.getDuration = _chunkCHMV7XWYjs.getDuration; exports.getDynamics = _chunkCHMV7XWYjs.getDynamics; exports.getEffectiveStaff = _chunkCHMV7XWYjs.getEffectiveStaff; exports.getEndings = _chunkCHMV7XWYjs.getEndings; exports.getEntriesAtPosition = _chunkCHMV7XWYjs.getEntriesAtPosition; exports.getEntriesForStaff = _chunkCHMV7XWYjs.getEntriesForStaff; exports.getEntriesInRange = _chunkCHMV7XWYjs.getEntriesInRange; exports.getHarmonies = _chunkCHMV7XWYjs.getHarmonies; exports.getHarmonyAtPosition = _chunkCHMV7XWYjs.getHarmonyAtPosition; exports.getKeyChanges = _chunkCHMV7XWYjs.getKeyChanges; exports.getLyricText = _chunkCHMV7XWYjs.getLyricText; exports.getLyrics = _chunkCHMV7XWYjs.getLyrics; exports.getMeasure = _chunkCHMV7XWYjs.getMeasure; exports.getMeasureByIndex = _chunkCHMV7XWYjs.getMeasureByIndex; exports.getMeasureCount = _chunkCHMV7XWYjs.getMeasureCount; exports.getNextNote = _chunkCHMV7XWYjs.getNextNote; exports.getNormalizedDuration = _chunkCHMV7XWYjs.getNormalizedDuration; exports.getNormalizedPosition = _chunkCHMV7XWYjs.getNormalizedPosition; exports.getNotesAtPosition = _chunkCHMV7XWYjs.getNotesAtPosition; exports.getNotesForStaff = _chunkCHMV7XWYjs.getNotesForStaff; exports.getNotesForVoice = _chunkCHMV7XWYjs.getNotesForVoice; exports.getNotesInRange = _chunkCHMV7XWYjs.getNotesInRange; exports.getOctaveShifts = _chunkCHMV7XWYjs.getOctaveShifts; exports.getPartById = _chunkCHMV7XWYjs.getPartById; exports.getPartByIndex = _chunkCHMV7XWYjs.getPartByIndex; exports.getPartCount = _chunkCHMV7XWYjs.getPartCount; exports.getPartIds = _chunkCHMV7XWYjs.getPartIds; exports.getPartIndex = _chunkCHMV7XWYjs.getPartIndex; exports.getPedalMarkings = _chunkCHMV7XWYjs.getPedalMarkings; exports.getPrevNote = _chunkCHMV7XWYjs.getPrevNote; exports.getRepeatStructure = _chunkCHMV7XWYjs.getRepeatStructure; exports.getSlurSpans = _chunkCHMV7XWYjs.getSlurSpans; exports.getStaffRange = _chunkCHMV7XWYjs.getStaffRange; exports.getStaveCount = _chunkCHMV7XWYjs.getStaveCount; exports.getStaves = _chunkCHMV7XWYjs.getStaves; exports.getStructuralChanges = _chunkCHMV7XWYjs.getStructuralChanges; exports.getTempoMarkings = _chunkCHMV7XWYjs.getTempoMarkings; exports.getTiedNoteGroups = _chunkCHMV7XWYjs.getTiedNoteGroups; exports.getTimeChanges = _chunkCHMV7XWYjs.getTimeChanges; exports.getTupletGroups = _chunkCHMV7XWYjs.getTupletGroups; exports.getVerseCount = _chunkCHMV7XWYjs.getVerseCount; exports.getVerticalSlice = _chunkCHMV7XWYjs.getVerticalSlice; exports.getVoiceLine = _chunkCHMV7XWYjs.getVoiceLine; exports.getVoiceLineInRange = _chunkCHMV7XWYjs.getVoiceLineInRange; exports.getVoices = _chunkCHMV7XWYjs.getVoices; exports.getVoicesForStaff = _chunkCHMV7XWYjs.getVoicesForStaff; exports.getWedges = _chunkCHMV7XWYjs.getWedges; exports.groupByStaff = _chunkCHMV7XWYjs.groupByStaff; exports.groupByVoice = _chunkCHMV7XWYjs.groupByVoice; exports.hasMultipleStaves = _chunkCHMV7XWYjs.hasMultipleStaves; exports.hasNotes = _chunkCHMV7XWYjs.hasNotes; exports.hasPlaybackControls = _chunkCHMV7XWYjs.hasPlaybackControls; exports.inferStaff = _chunkCHMV7XWYjs.inferStaff; exports.isRestMeasure = _chunkCHMV7XWYjs.isRestMeasure; exports.iterateEntries = _chunkCHMV7XWYjs.iterateEntries; exports.iterateNotes = _chunkCHMV7XWYjs.iterateNotes; exports.measureRoundtrip = _chunkCHMV7XWYjs.measureRoundtrip; exports.scoresEqual = _chunkCHMV7XWYjs.scoresEqual; exports.withAbsolutePositions = _chunkCHMV7XWYjs.withAbsolutePositions;
166
+ exports.buildVoiceToStaffMap = _chunkEWLB5X64js.buildVoiceToStaffMap; exports.buildVoiceToStaffMapForPart = _chunkEWLB5X64js.buildVoiceToStaffMapForPart; exports.countNotes = _chunkEWLB5X64js.countNotes; exports.extractPlaybackControls = _chunkEWLB5X64js.extractPlaybackControls; exports.findBarlines = _chunkEWLB5X64js.findBarlines; exports.findDirectionsByType = _chunkEWLB5X64js.findDirectionsByType; exports.findNotes = _chunkEWLB5X64js.findNotes; exports.findNotesWithNotation = _chunkEWLB5X64js.findNotesWithNotation; exports.generatePlaybackSequence = _chunkEWLB5X64js.generatePlaybackSequence; exports.generatePlaybackTimeline = _chunkEWLB5X64js.generatePlaybackTimeline; exports.getAbsolutePosition = _chunkEWLB5X64js.getAbsolutePosition; exports.getAdjacentNotes = _chunkEWLB5X64js.getAdjacentNotes; exports.getAllNotes = _chunkEWLB5X64js.getAllNotes; exports.getAttributesAtMeasure = _chunkEWLB5X64js.getAttributesAtMeasure; exports.getBeamGroups = _chunkEWLB5X64js.getBeamGroups; exports.getChordProgression = _chunkEWLB5X64js.getChordProgression; exports.getChords = _chunkEWLB5X64js.getChords; exports.getClefChanges = _chunkEWLB5X64js.getClefChanges; exports.getClefForStaff = _chunkEWLB5X64js.getClefForStaff; exports.getDirections = _chunkEWLB5X64js.getDirections; exports.getDirectionsAtPosition = _chunkEWLB5X64js.getDirectionsAtPosition; exports.getDivisions = _chunkEWLB5X64js.getDivisions; exports.getDuration = _chunkEWLB5X64js.getDuration; exports.getDynamics = _chunkEWLB5X64js.getDynamics; exports.getEffectiveStaff = _chunkEWLB5X64js.getEffectiveStaff; exports.getEndings = _chunkEWLB5X64js.getEndings; exports.getEntriesAtPosition = _chunkEWLB5X64js.getEntriesAtPosition; exports.getEntriesForStaff = _chunkEWLB5X64js.getEntriesForStaff; exports.getEntriesInRange = _chunkEWLB5X64js.getEntriesInRange; exports.getHarmonies = _chunkEWLB5X64js.getHarmonies; exports.getHarmonyAtPosition = _chunkEWLB5X64js.getHarmonyAtPosition; exports.getKeyChanges = _chunkEWLB5X64js.getKeyChanges; exports.getLyricText = _chunkEWLB5X64js.getLyricText; exports.getLyrics = _chunkEWLB5X64js.getLyrics; exports.getMeasure = _chunkEWLB5X64js.getMeasure; exports.getMeasureByIndex = _chunkEWLB5X64js.getMeasureByIndex; exports.getMeasureCount = _chunkEWLB5X64js.getMeasureCount; exports.getNextNote = _chunkEWLB5X64js.getNextNote; exports.getNormalizedDuration = _chunkEWLB5X64js.getNormalizedDuration; exports.getNormalizedPosition = _chunkEWLB5X64js.getNormalizedPosition; exports.getNotesAtPosition = _chunkEWLB5X64js.getNotesAtPosition; exports.getNotesForStaff = _chunkEWLB5X64js.getNotesForStaff; exports.getNotesForVoice = _chunkEWLB5X64js.getNotesForVoice; exports.getNotesInRange = _chunkEWLB5X64js.getNotesInRange; exports.getOctaveShifts = _chunkEWLB5X64js.getOctaveShifts; exports.getPartById = _chunkEWLB5X64js.getPartById; exports.getPartByIndex = _chunkEWLB5X64js.getPartByIndex; exports.getPartCount = _chunkEWLB5X64js.getPartCount; exports.getPartIds = _chunkEWLB5X64js.getPartIds; exports.getPartIndex = _chunkEWLB5X64js.getPartIndex; exports.getPedalMarkings = _chunkEWLB5X64js.getPedalMarkings; exports.getPrevNote = _chunkEWLB5X64js.getPrevNote; exports.getRepeatStructure = _chunkEWLB5X64js.getRepeatStructure; exports.getSlurSpans = _chunkEWLB5X64js.getSlurSpans; exports.getStaffRange = _chunkEWLB5X64js.getStaffRange; exports.getStaveCount = _chunkEWLB5X64js.getStaveCount; exports.getStaves = _chunkEWLB5X64js.getStaves; exports.getStructuralChanges = _chunkEWLB5X64js.getStructuralChanges; exports.getTempoMarkings = _chunkEWLB5X64js.getTempoMarkings; exports.getTiedNoteGroups = _chunkEWLB5X64js.getTiedNoteGroups; exports.getTimeChanges = _chunkEWLB5X64js.getTimeChanges; exports.getTupletGroups = _chunkEWLB5X64js.getTupletGroups; exports.getVerseCount = _chunkEWLB5X64js.getVerseCount; exports.getVerticalSlice = _chunkEWLB5X64js.getVerticalSlice; exports.getVoiceLine = _chunkEWLB5X64js.getVoiceLine; exports.getVoiceLineInRange = _chunkEWLB5X64js.getVoiceLineInRange; exports.getVoices = _chunkEWLB5X64js.getVoices; exports.getVoicesForStaff = _chunkEWLB5X64js.getVoicesForStaff; exports.getWedges = _chunkEWLB5X64js.getWedges; exports.groupByStaff = _chunkEWLB5X64js.groupByStaff; exports.groupByVoice = _chunkEWLB5X64js.groupByVoice; exports.hasMultipleStaves = _chunkEWLB5X64js.hasMultipleStaves; exports.hasNotes = _chunkEWLB5X64js.hasNotes; exports.hasPlaybackControls = _chunkEWLB5X64js.hasPlaybackControls; exports.inferStaff = _chunkEWLB5X64js.inferStaff; exports.isRestMeasure = _chunkEWLB5X64js.isRestMeasure; exports.iterateEntries = _chunkEWLB5X64js.iterateEntries; exports.iterateNotes = _chunkEWLB5X64js.iterateNotes; exports.measureRoundtrip = _chunkEWLB5X64js.measureRoundtrip; exports.scoresEqual = _chunkEWLB5X64js.scoresEqual; exports.withAbsolutePositions = _chunkEWLB5X64js.withAbsolutePositions;
@@ -80,7 +80,7 @@ import {
80
80
  measureRoundtrip,
81
81
  scoresEqual,
82
82
  withAbsolutePositions
83
- } from "../chunk-VQUFSGB5.mjs";
83
+ } from "../chunk-UMEH3ENQ.mjs";
84
84
  export {
85
85
  buildVoiceToStaffMap,
86
86
  buildVoiceToStaffMapForPart,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musicxml-io",
3
- "version": "0.7.2",
3
+ "version": "0.7.4",
4
4
  "description": "Parse and serialize MusicXML (.xml/.mxl) and ABC notation with high round-trip fidelity",
5
5
  "author": "tan-z-tan",
6
6
  "license": "MIT",