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
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
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
|
-
|
|
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));
|