Browse Source

fix(VexFlowMeasure): missing engraving rules instance

This `measure` instance does not carry an engraving rules instance.
Daniel Fürst 5 years ago
parent
commit
c55c37377f

+ 1 - 1
src/MusicalScore/Graphical/VexFlow/VexFlowMeasure.ts

@@ -69,7 +69,7 @@ export class VexFlowMeasure extends GraphicalMeasure {
     /** VexFlow Tuplets */
     private vftuplets: { [voiceID: number]: Vex.Flow.Tuplet[]; } = {};
     // The engraving rules of OSMD.
-    private rules: EngravingRules = this.parentMusicSystem.rules;
+    public rules: EngravingRules;
 
     // Sets the absolute coordinates of the VFStave on the canvas
     public setAbsoluteCoordinates(x: number, y: number): void {

+ 1 - 0
src/MusicalScore/Graphical/VexFlow/VexFlowMusicSheetCalculator.ts

@@ -366,6 +366,7 @@ export class VexFlowMusicSheetCalculator extends MusicSheetCalculator {
   }
 
   protected graphicalMeasureCreatedCalculations(measure: GraphicalMeasure): void {
+    (measure as VexFlowMeasure).rules = this.rules;
     (measure as VexFlowMeasure).graphicalMeasureCreatedCalculations();
   }