@viritura/score-engine 0.2.1-next.48 → 0.2.1-next.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2265,9 +2265,9 @@ function interpolateBeatAnchors(bounds, beat, endX) {
2265
2265
 
2266
2266
  // packages/score-engine/src/buildInfo.ts
2267
2267
  init_define_import_meta_env();
2268
- var PACKAGE_VERSION = "0.2.1-next.48", BUNDLE_WORKER_FILE = "score-engine.worker.js";
2268
+ var PACKAGE_VERSION = "0.2.1-next.49", BUNDLE_WORKER_FILE = "score-engine.worker.js";
2269
2269
  function buildCommit() {
2270
- return "d1e7ed69e15b4fdf82971bccf1ea9b980402da33";
2270
+ return "64fa84f3cf8ed55a83bb113ee0808b72ea32c059";
2271
2271
  }
2272
2272
  function bundledAssetBase() {
2273
2273
  let moduleUrl = import.meta.url;
@@ -18368,16 +18368,13 @@ function compileChordPlayback(score, includeGlobalChords = !0) {
18368
18368
  if (!includeGlobalChords) return;
18369
18369
  let part = getChordPlaybackPart(score);
18370
18370
  if (!part) return;
18371
- let carry = [], measures = score.global.measures.map((measure) => {
18372
- let changes = (measure.chordSymbols ?? []).map((chord) => {
18373
- let voicing = voiceChordSymbol(chord);
18374
- return {
18375
- beat: chord.position.fraction[0] / chord.position.fraction[1] * 4,
18376
- pitches: [...voicing.leftHand, ...voicing.rightHand]
18377
- };
18378
- }).sort((a, b) => a.beat - b.beat), result = { carry, changes };
18379
- return changes.length > 0 && (carry = changes[changes.length - 1].pitches), result;
18380
- });
18371
+ let measures = score.global.measures.map((measure) => ({ changes: (measure.chordSymbols ?? []).map((chord) => {
18372
+ let voicing = voiceChordSymbol(chord);
18373
+ return {
18374
+ beat: chord.position.fraction[0] / chord.position.fraction[1] * 4,
18375
+ pitches: [...voicing.leftHand, ...voicing.rightHand]
18376
+ };
18377
+ }).sort((a, b) => a.beat - b.beat) }));
18381
18378
  return { part, measures };
18382
18379
  }
18383
18380
  function realizeChordPlayback(program, measureOrder, timing) {
@@ -18390,13 +18387,14 @@ function realizeChordPlayback(program, measureOrder, timing) {
18390
18387
  };
18391
18388
  for (let expandedIndex = 0; expandedIndex < measureOrder.length; expandedIndex++) {
18392
18389
  let originalIndex = measureOrder[expandedIndex], measure = program.measures[originalIndex], measureStart = timing.measureStartBeats[expandedIndex];
18393
- (expandedIndex === 0 || originalIndex !== measureOrder[expandedIndex - 1] + 1) && (finish(measureStart), pitches = measure.carry, startBeat = measureStart);
18390
+ pitches = [], startBeat = measureStart;
18394
18391
  for (let change of measure.changes) {
18395
18392
  let beat = measureStart + change.beat;
18396
18393
  finish(beat), pitches = change.pitches, startBeat = beat;
18397
18394
  }
18395
+ finish(timing.measureStartBeats[expandedIndex + 1] ?? timing.totalBeats);
18398
18396
  }
18399
- return finish(timing.totalBeats), notes;
18397
+ return notes;
18400
18398
  }
18401
18399
  function chordMidiEvents(program, measureOrder, timing) {
18402
18400
  return realizeChordPlayback(program, measureOrder, timing).flatMap((note) => {