smoosic 1.0.16 → 1.0.18

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.
@@ -244,16 +244,18 @@ export class ScoreRoadMapBuilder {
244
244
  }
245
245
  }
246
246
  // Done with repeats and voltas. Continue with the score from after the last volta
247
- skipTo = currentJump.endMeasure + 1;
248
- this.lastSkip = skipTo;
249
- currentJump = {
250
- startMeasure: skipTo,
251
- endMeasure,
252
- startReason: 'startRepeat',
253
- endReason: 'scoreEnd',
254
- ending: -1
247
+ if (currentJump.endMeasure < endMeasure) {
248
+ skipTo = currentJump.endMeasure + 1;
249
+ this.lastSkip = skipTo;
250
+ currentJump = {
251
+ startMeasure: skipTo,
252
+ endMeasure,
253
+ startReason: 'startRepeat',
254
+ endReason: 'scoreEnd',
255
+ ending: -1
256
+ }
257
+ this.jumpQueue.push(currentJump);
255
258
  }
256
- this.jumpQueue.push(currentJump);
257
259
  }
258
260
  }
259
261
  }
@@ -384,6 +384,10 @@ export class VxMeasure implements VxMeasureIf {
384
384
  for (let smoNote of this.smoMeasure.tupletNotes(parentTuplet)) {
385
385
  vexNotes.push(this.noteToVexMap[smoNote.attrs.id]);
386
386
  }
387
+ // If the tuplet has been deleted, the measure might not be updated.
388
+ if (vexNotes.length < 2) {
389
+ return;
390
+ }
387
391
  const location = this.smoMeasure.getStemDirectionForTuplet(parentTuplet) === SmoNote.flagStates.up ?
388
392
  VF.Tuplet.LOCATION_TOP : VF.Tuplet.LOCATION_BOTTOM;
389
393
  const smoTupletParams = {
@@ -38,12 +38,14 @@ export class SuiKeySignatureAdapter extends SuiComponentAdapter {
38
38
  async apply() {
39
39
  let minSel = this.view.tracker.getExtremeSelection(-1).selector.measure;
40
40
  let maxSel = minSel;
41
- const maxMeasure = this.view.score.staves[0].measures.length - 1;
41
+ let maxMeasure = this.view.score.staves[0].measures.length - 1;
42
42
  if (this.applyToAll) {
43
43
  minSel = 0;
44
44
  maxSel = maxMeasure;
45
45
  } else if (this.applyToRemaining) {
46
46
  maxSel = maxMeasure;
47
+ } else {
48
+ maxSel = this.view.tracker.getExtremeSelection(1).selector.measure;
47
49
  }
48
50
  const selections = SmoSelection.getMeasuresBetween(this.view.score,
49
51
  SmoSelector.measureSelector(0, minSel), SmoSelector.measureSelector(0, maxSel));