Ver código fonte

feat(Options): Add PickupMeasureWidthMultiplier to EngravingRules (#938)

sschmid 4 anos atrás
pai
commit
530d078a94

+ 2 - 0
src/MusicalScore/Graphical/EngravingRules.ts

@@ -195,6 +195,7 @@ export class EngravingRules {
 
     public VoiceSpacingMultiplierVexflow: number;
     public VoiceSpacingAddendVexflow: number;
+    public PickupMeasureWidthMultiplier: number;
     public DisplacedNoteMargin: number;
     public MinNoteDistance: number;
     public SubMeasureXSpacingThreshold: number;
@@ -484,6 +485,7 @@ export class EngravingRules {
         // xSpacing Variables
         this.VoiceSpacingMultiplierVexflow = 0.85;
         this.VoiceSpacingAddendVexflow = 3.0;
+        this.PickupMeasureWidthMultiplier = 1.0;
         this.DisplacedNoteMargin = 0.1;
         this.MinNoteDistance = 2.0;
         this.SubMeasureXSpacingThreshold = 35;

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

@@ -199,6 +199,7 @@ export class VexFlowMusicSheetCalculator extends MusicSheetCalculator {
           minStaffEntriesWidth += maxStaffEntries * staffEntryFactor; // don't scale this for implicit measures
           // in fact overscale it, this needs a lot of space the more staffEntries there are
         }
+        minStaffEntriesWidth *= this.rules.PickupMeasureWidthMultiplier;
       }
 
         // TODO this could use some fine-tuning. currently using *1.5 + 1 by default, results in decent spacing.