|
@@ -78,6 +78,10 @@ export class EngravingRules {
|
|
public PercussionUseXMLDisplayStep: boolean;
|
|
public PercussionUseXMLDisplayStep: boolean;
|
|
public PercussionXMLDisplayStepNoteValueShift: number;
|
|
public PercussionXMLDisplayStepNoteValueShift: number;
|
|
public PercussionOneLineXMLDisplayStepOctaveOffset: number;
|
|
public PercussionOneLineXMLDisplayStepOctaveOffset: number;
|
|
|
|
+ /** Makes the score position notes on the 2 cajon stafflines, and use 2 stafflines even if PercussionOneLineCutoff set.
|
|
|
|
+ * Should only be set for cajon scores, as this will disable the PercussionOneLineCutoff.
|
|
|
|
+ */
|
|
|
|
+ public PercussionUseCajon2NoteSystem: boolean;
|
|
public BetweenKeySymbolsDistance: number;
|
|
public BetweenKeySymbolsDistance: number;
|
|
public KeyRightMargin: number;
|
|
public KeyRightMargin: number;
|
|
public RhythmRightMargin: number;
|
|
public RhythmRightMargin: number;
|
|
@@ -175,6 +179,7 @@ export class EngravingRules {
|
|
public TupletVerticalLineLength: number;
|
|
public TupletVerticalLineLength: number;
|
|
public TupletNumbersInTabs: boolean;
|
|
public TupletNumbersInTabs: boolean;
|
|
|
|
|
|
|
|
+ public RepetitionAllowFirstMeasureBeginningRepeatBarline: boolean;
|
|
public RepetitionEndingLabelHeight: number;
|
|
public RepetitionEndingLabelHeight: number;
|
|
public RepetitionEndingLabelXOffset: number;
|
|
public RepetitionEndingLabelXOffset: number;
|
|
public RepetitionEndingLabelYOffset: number;
|
|
public RepetitionEndingLabelYOffset: number;
|
|
@@ -189,6 +194,12 @@ export class EngravingRules {
|
|
public LyricsHeight: number;
|
|
public LyricsHeight: number;
|
|
public LyricsYOffsetToStaffHeight: number;
|
|
public LyricsYOffsetToStaffHeight: number;
|
|
public LyricsYMarginToBottomLine: number;
|
|
public LyricsYMarginToBottomLine: number;
|
|
|
|
+ /** Extra x-shift (to the right) for short lyrics to be better vertically aligned.
|
|
|
|
+ * Also see ChordSymbolExtraXShiftForShortChordSymbols, same principle, same default value.
|
|
|
|
+ */
|
|
|
|
+ public LyricsExtraXShiftForShortLyrics: number;
|
|
|
|
+ /** Threshold of the lyric entry's width below which the x-shift is applied. Default 1.4. */
|
|
|
|
+ public LyricsExtraXShiftForShortLyricsWidthThreshold: number;
|
|
/** Whether to enable x padding (to the right) for short notes, see LyricsXPaddingFactorForLongLyrics for the degree. */
|
|
/** Whether to enable x padding (to the right) for short notes, see LyricsXPaddingFactorForLongLyrics for the degree. */
|
|
public LyricsUseXPaddingForShortNotes: boolean;
|
|
public LyricsUseXPaddingForShortNotes: boolean;
|
|
/** How much spacing/padding should be added after notes with long lyrics on short notes
|
|
/** How much spacing/padding should be added after notes with long lyrics on short notes
|
|
@@ -210,6 +221,8 @@ export class EngravingRules {
|
|
public MaximumLyricsElongationFactor: number;
|
|
public MaximumLyricsElongationFactor: number;
|
|
|
|
|
|
public SlurPlacementFromXML: boolean;
|
|
public SlurPlacementFromXML: boolean;
|
|
|
|
+ public SlurPlacementAtStems: boolean;
|
|
|
|
+ public SlurPlacementUseSkyBottomLine: boolean;
|
|
public BezierCurveStepSize: number;
|
|
public BezierCurveStepSize: number;
|
|
public TPower3: number[];
|
|
public TPower3: number[];
|
|
public OneMinusTPower3: number[];
|
|
public OneMinusTPower3: number[];
|
|
@@ -251,6 +264,7 @@ export class EngravingRules {
|
|
public VexFlowDefaultTabFontScale: number;
|
|
public VexFlowDefaultTabFontScale: number;
|
|
public TremoloStrokeScale: number;
|
|
public TremoloStrokeScale: number;
|
|
public TremoloYSpacingScale: number;
|
|
public TremoloYSpacingScale: number;
|
|
|
|
+ public TremoloBuzzRollThickness: number;
|
|
public StaffLineWidth: number;
|
|
public StaffLineWidth: number;
|
|
public StaffLineColor: string;
|
|
public StaffLineColor: string;
|
|
public LedgerLineWidth: number;
|
|
public LedgerLineWidth: number;
|
|
@@ -276,6 +290,7 @@ export class EngravingRules {
|
|
* in the target score are, because using a too low width will cause overlaps in Vexflow.
|
|
* in the target score are, because using a too low width will cause overlaps in Vexflow.
|
|
*/
|
|
*/
|
|
public FixedMeasureWidthFixedValue: number;
|
|
public FixedMeasureWidthFixedValue: number;
|
|
|
|
+ public FixedMeasureWidthUseForPickupMeasures: boolean;
|
|
public DistanceBetweenVerticalSystemLines: number;
|
|
public DistanceBetweenVerticalSystemLines: number;
|
|
public DistanceBetweenDotAndLine: number;
|
|
public DistanceBetweenDotAndLine: number;
|
|
public RepeatEndStartPadding: number;
|
|
public RepeatEndStartPadding: number;
|
|
@@ -412,6 +427,8 @@ export class EngravingRules {
|
|
* but were inserted as a words element in the MusicXML, which can't be matched to the note anymore,
|
|
* but were inserted as a words element in the MusicXML, which can't be matched to the note anymore,
|
|
* and would otherwise just be placed somewhere else. See OSMD Issue 1251. */
|
|
* and would otherwise just be placed somewhere else. See OSMD Issue 1251. */
|
|
public IgnoreBracketsWords: boolean;
|
|
public IgnoreBracketsWords: boolean;
|
|
|
|
+ public PlaceWordsInsideStafflineFromXml: boolean;
|
|
|
|
+ public PlaceWordsInsideStafflineYOffset: number;
|
|
// public PositionMarcatoCloseToNote: boolean;
|
|
// public PositionMarcatoCloseToNote: boolean;
|
|
public SpacingBetweenTextLines: number;
|
|
public SpacingBetweenTextLines: number;
|
|
|
|
|
|
@@ -525,6 +542,7 @@ export class EngravingRules {
|
|
this.PercussionUseXMLDisplayStep = true;
|
|
this.PercussionUseXMLDisplayStep = true;
|
|
this.PercussionXMLDisplayStepNoteValueShift = 0;
|
|
this.PercussionXMLDisplayStepNoteValueShift = 0;
|
|
this.PercussionOneLineXMLDisplayStepOctaveOffset = 0;
|
|
this.PercussionOneLineXMLDisplayStepOctaveOffset = 0;
|
|
|
|
+ this.PercussionUseCajon2NoteSystem = false;
|
|
this.BetweenKeySymbolsDistance = 0.2;
|
|
this.BetweenKeySymbolsDistance = 0.2;
|
|
this.KeyRightMargin = 0.75;
|
|
this.KeyRightMargin = 0.75;
|
|
this.RhythmRightMargin = 1.25;
|
|
this.RhythmRightMargin = 1.25;
|
|
@@ -584,7 +602,7 @@ export class EngravingRules {
|
|
this.ChordSymbolTextHeight = 2.0;
|
|
this.ChordSymbolTextHeight = 2.0;
|
|
this.ChordSymbolTextAlignment = TextAlignmentEnum.LeftBottom;
|
|
this.ChordSymbolTextAlignment = TextAlignmentEnum.LeftBottom;
|
|
this.ChordSymbolRelativeXOffset = -1.0;
|
|
this.ChordSymbolRelativeXOffset = -1.0;
|
|
- this.ChordSymbolExtraXShiftForShortChordSymbols = 0.3;
|
|
|
|
|
|
+ this.ChordSymbolExtraXShiftForShortChordSymbols = 0.3; // also see LyricsExtraXShiftForShortLyrics, same principle
|
|
this.ChordSymbolExtraXShiftWidthThreshold = 2.0;
|
|
this.ChordSymbolExtraXShiftWidthThreshold = 2.0;
|
|
this.ChordSymbolXSpacing = 1.0;
|
|
this.ChordSymbolXSpacing = 1.0;
|
|
this.ChordOverlapAllowedIntoNextMeasure = 0;
|
|
this.ChordOverlapAllowedIntoNextMeasure = 0;
|
|
@@ -626,6 +644,8 @@ export class EngravingRules {
|
|
|
|
|
|
// Slur and Tie variables
|
|
// Slur and Tie variables
|
|
this.SlurPlacementFromXML = true;
|
|
this.SlurPlacementFromXML = true;
|
|
|
|
+ this.SlurPlacementAtStems = false;
|
|
|
|
+ this.SlurPlacementUseSkyBottomLine = false;
|
|
this.BezierCurveStepSize = 1000;
|
|
this.BezierCurveStepSize = 1000;
|
|
this.calculateCurveParametersArrays();
|
|
this.calculateCurveParametersArrays();
|
|
this.TieGhostObjectWidth = 0.75;
|
|
this.TieGhostObjectWidth = 0.75;
|
|
@@ -659,6 +679,7 @@ export class EngravingRules {
|
|
this.GlissandoDefaultWidth = 0.1;
|
|
this.GlissandoDefaultWidth = 0.1;
|
|
|
|
|
|
// Repetitions
|
|
// Repetitions
|
|
|
|
+ this.RepetitionAllowFirstMeasureBeginningRepeatBarline = true;
|
|
this.RepetitionEndingLabelHeight = 2.0;
|
|
this.RepetitionEndingLabelHeight = 2.0;
|
|
this.RepetitionEndingLabelXOffset = 0.5;
|
|
this.RepetitionEndingLabelXOffset = 0.5;
|
|
this.RepetitionEndingLabelYOffset = 0.3;
|
|
this.RepetitionEndingLabelYOffset = 0.3;
|
|
@@ -671,6 +692,8 @@ export class EngravingRules {
|
|
this.LyricsHeight = 2.0; // actually size of lyrics
|
|
this.LyricsHeight = 2.0; // actually size of lyrics
|
|
this.LyricsYOffsetToStaffHeight = 0.0; // distance between lyrics and staff. could partly be even lower/dynamic
|
|
this.LyricsYOffsetToStaffHeight = 0.0; // distance between lyrics and staff. could partly be even lower/dynamic
|
|
this.LyricsYMarginToBottomLine = 0.2;
|
|
this.LyricsYMarginToBottomLine = 0.2;
|
|
|
|
+ this.LyricsExtraXShiftForShortLyrics = 0.5; // also see ChordSymbolExtraXShiftForShortChordSymbols, same principle
|
|
|
|
+ this.LyricsExtraXShiftForShortLyricsWidthThreshold = 1.4; // width of '+': 1.12, 'II': 1.33 (benefits from x-shift), 'III': 1.99 (doesn't benefit)
|
|
this.LyricsUseXPaddingForShortNotes = true;
|
|
this.LyricsUseXPaddingForShortNotes = true;
|
|
this.LyricsXPaddingFactorForLongLyrics = 0.8;
|
|
this.LyricsXPaddingFactorForLongLyrics = 0.8;
|
|
this.LyricsXPaddingWidthThreshold = 3.3;
|
|
this.LyricsXPaddingWidthThreshold = 3.3;
|
|
@@ -698,6 +721,7 @@ export class EngravingRules {
|
|
this.VexFlowDefaultTabFontScale = 39;
|
|
this.VexFlowDefaultTabFontScale = 39;
|
|
this.TremoloStrokeScale = 1;
|
|
this.TremoloStrokeScale = 1;
|
|
this.TremoloYSpacingScale = 1;
|
|
this.TremoloYSpacingScale = 1;
|
|
|
|
+ this.TremoloBuzzRollThickness = 0.25;
|
|
this.StemWidth = 0.15; // originally 0.13. vexflow default 0.15. should probably be adjusted when increasing vexFlowDefaultNotationFontScale,
|
|
this.StemWidth = 0.15; // originally 0.13. vexflow default 0.15. should probably be adjusted when increasing vexFlowDefaultNotationFontScale,
|
|
this.StaffLineWidth = 0.10; // originally 0.12, but this will be pixels in Vexflow (*10).
|
|
this.StaffLineWidth = 0.10; // originally 0.12, but this will be pixels in Vexflow (*10).
|
|
this.StaffLineColor = undefined; // if undefined, vexflow default (grey). not a width, but affects visual line clarity.
|
|
this.StaffLineColor = undefined; // if undefined, vexflow default (grey). not a width, but affects visual line clarity.
|
|
@@ -723,6 +747,7 @@ export class EngravingRules {
|
|
|
|
|
|
this.FixedMeasureWidth = false;
|
|
this.FixedMeasureWidth = false;
|
|
this.FixedMeasureWidthFixedValue = undefined; // only set to a number x if the width should be always x
|
|
this.FixedMeasureWidthFixedValue = undefined; // only set to a number x if the width should be always x
|
|
|
|
+ this.FixedMeasureWidthUseForPickupMeasures = false;
|
|
|
|
|
|
// Line Widths
|
|
// Line Widths
|
|
this.MinimumCrossedBeamDifferenceMargin = 0.0001;
|
|
this.MinimumCrossedBeamDifferenceMargin = 0.0001;
|
|
@@ -810,6 +835,8 @@ export class EngravingRules {
|
|
this.RestoreCursorAfterRerender = true;
|
|
this.RestoreCursorAfterRerender = true;
|
|
this.StretchLastSystemLine = false;
|
|
this.StretchLastSystemLine = false;
|
|
this.IgnoreBracketsWords = true;
|
|
this.IgnoreBracketsWords = true;
|
|
|
|
+ this.PlaceWordsInsideStafflineFromXml = false;
|
|
|
|
+ this.PlaceWordsInsideStafflineYOffset = 0.9;
|
|
// this.PositionMarcatoCloseToNote = true;
|
|
// this.PositionMarcatoCloseToNote = true;
|
|
|
|
|
|
this.UseJustifiedBuilder = true;
|
|
this.UseJustifiedBuilder = true;
|