alphaTab.EngravingSettings
This class holds all all spacing, thickness and scaling metrics related to engraving the music notation. While general layout settings are configurable via the display settings, these settings go deeper into how the individual music symbols are scaled and aligned targeting specification compliance with the Standard Music Font Layout (SMuFL).
Unless specified differently the settings here are available since 1.7.0
If properties are marked with a SMuFl tag, it means that the values are part of the SMuFL specification and should be filled from the respective metadata files shipped with the fonts or aligned generally with the specification. Other properties are custom to alphaTab.
In SmuFL Sizes and coordinates are expressed in "staff space" units which is 1/4 of the configured font size. In this data structure the values are converted to pixels.
class EngravingSettingsPropertiesโ
accidentalPaddingโ
The horizontal padding between individual accidentals when multiple ones are applied.
- JavaScript
- C#
- Kotlin
accidentalPadding: number;double AccidentalPadding { get; set; }var accidentalPadding: DoublealternateEndingsPaddingโ
The padding used for aligning the alternate ending brackets and texts.
- JavaScript
- C#
- Kotlin
alternateEndingsPadding: number;double AlternateEndingsPadding { get; set; }var alternateEndingsPadding: DoublearrowShaftThicknessโ
The thickness of the line used for the shaft of an arrow
- JavaScript
- C#
- Kotlin
arrowShaftThickness: number;double ArrowShaftThickness { get; set; }var arrowShaftThickness: DoublebarlineContentPaddingโ
The minimum horizontal padding between the content of the last beat in a bar and the bar line. Additional space is only added where the content would come closer than this. Behind Bars: stems must never come closer to a barline than one stave-space.
- JavaScript
- C#
- Kotlin
barlineContentPadding: number;double BarlineContentPadding { get; set; }var barlineContentPadding: DoublebarlineSeparationโ
The default distance between multiple thin barlines when locked together, e.g. between two thin barlines making a double barline, measured from the right-hand edge of the left barline to the left-hand edge of the right barline.
- JavaScript
- C#
- Kotlin
barlineSeparation: number;double BarlineSeparation { get; set; }var barlineSeparation: DoublebeamSpacingโ
The distance between the inner edge of the primary and outer edge of subsequent secondary beams
- JavaScript
- C#
- Kotlin
beamSpacing: number;double BeamSpacing { get; set; }var beamSpacing: DoublebeamThicknessโ
The thickness of a beam
- JavaScript
- C#
- Kotlin
beamThickness: number;double BeamThickness { get; set; }var beamThickness: DoublebeatContentPaddingโ
The minimum horizontal padding between the content of two adjacent beats (e.g. a notehead and the accidental or grace notes of the following beat). Additional space is only added between beats where their content would come closer than this. Behind Bars: where space is limited, characters should not be closer than 1/2 stave-space and never collide.
- JavaScript
- C#
- Kotlin
beatContentPadding: number;double BeatContentPadding { get; set; }var beatContentPadding: DoublebeatTimerPaddingโ
The padding between the border and text of beat timers.
- JavaScript
- C#
- Kotlin
beatTimerPadding: number;double BeatTimerPadding { get; set; }var beatTimerPadding: DoublebendNoteHeadElementPaddingโ
The additional padding applied to helper note heads shown on bends.
- JavaScript
- C#
- Kotlin
bendNoteHeadElementPadding: number;double BendNoteHeadElementPadding { get; set; }var bendNoteHeadElementPadding: DoublebracketThicknessโ
The thickness of the vertical line of a bracket grouping staves together
- JavaScript
- C#
- Kotlin
bracketThickness: number;double BracketThickness { get; set; }var bracketThickness: DoublebravuraDefaultsโ
A EngravingSettings copy filled with the settings of the Bravura font used by default in alphaTab.
- JavaScript
- C#
- Kotlin
static readonly bravuraDefaults: EngravingSettings;static EngravingSettings BravuraDefaults { get; }companion object { val bravuraDefaults: EngravingSettings }bravuraMetadataโ
(no description)
- JavaScript
- C#
- Kotlin
static readonly bravuraMetadata: SmuflMetadata;static SmuflMetadata BravuraMetadata { get; }companion object { val bravuraMetadata: SmuflMetadata }brokenBeamWidthโ
The width of broken beams e.g. when combining a 32nd and 16th note
- JavaScript
- C#
- Kotlin
brokenBeamWidth: number;double BrokenBeamWidth { get; set; }var brokenBeamWidth: DoublechordDiagramFretHeightโ
The height of the individual fret lines.
- JavaScript
- C#
- Kotlin
chordDiagramFretHeight: number;double ChordDiagramFretHeight { get; set; }var chordDiagramFretHeight: DoublechordDiagramFretSpacingโ
The spacing between frets on chord diagrams.
- JavaScript
- C#
- Kotlin
chordDiagramFretSpacing: number;double ChordDiagramFretSpacing { get; set; }var chordDiagramFretSpacing: DoublechordDiagramLineWidthโ
The width of all other lines drawn on chord diagrams.
- JavaScript
- C#
- Kotlin
chordDiagramLineWidth: number;double ChordDiagramLineWidth { get; set; }var chordDiagramLineWidth: DoublechordDiagramNutHeightโ
The height of the nut on chord diagrams..
- JavaScript
- C#
- Kotlin
chordDiagramNutHeight: number;double ChordDiagramNutHeight { get; set; }var chordDiagramNutHeight: DoublechordDiagramPaddingXโ
The horizontal padding applied to individual chord diagrams.
- JavaScript
- C#
- Kotlin
chordDiagramPaddingX: number;double ChordDiagramPaddingX { get; set; }var chordDiagramPaddingX: DoublechordDiagramPaddingYโ
The vertical padding applied to individual chord diagrams.
- JavaScript
- C#
- Kotlin
chordDiagramPaddingY: number;double ChordDiagramPaddingY { get; set; }var chordDiagramPaddingY: DoublechordDiagramStringSpacingโ
The spacing between strings on chord diagrams.
- JavaScript
- C#
- Kotlin
chordDiagramStringSpacing: number;double ChordDiagramStringSpacing { get; set; }var chordDiagramStringSpacing: DoubledashedBarlineDashLengthโ
The length of the dashes to be used in a dashed barline
- JavaScript
- C#
- Kotlin
dashedBarlineDashLength: number;double DashedBarlineDashLength { get; set; }var dashedBarlineDashLength: DoubledashedBarlineGapLengthโ
The length of the gap between dashes in a dashed barline
- JavaScript
- C#
- Kotlin
dashedBarlineGapLength: number;double DashedBarlineGapLength { get; set; }var dashedBarlineGapLength: DoubledashedBarlineThicknessโ
The thickness of a dashed barline
- JavaScript
- C#
- Kotlin
dashedBarlineThickness: number;double DashedBarlineThickness { get; set; }var dashedBarlineThickness: DoubledeadSlappedLineWidthโ
The width of the lines drawn for dead slapped beats.
- JavaScript
- C#
- Kotlin
deadSlappedLineWidth: number;double DeadSlappedLineWidth { get; set; }var deadSlappedLineWidth: DoubledirectionsScaleโ
The relative scale of any directions glyphs drawn like coda or segno.
- JavaScript
- C#
- Kotlin
directionsScale: number;double DirectionsScale { get; set; }var directionsScale: DoubleghostParenthesisPaddingโ
The padding between the parenthesis and wrapped elements on ghost notes and free time time signatures
- JavaScript
- C#
- Kotlin
ghostParenthesisPadding: number;double GhostParenthesisPadding { get; set; }var ghostParenthesisPadding: DoubleghostParenthesisWidthโ
The width of the parenthesis shown on ghost notes and free time time signatures.
- JavaScript
- C#
- Kotlin
ghostParenthesisWidth: number;double GhostParenthesisWidth { get; set; }var ghostParenthesisWidth: DoubleglyphBottomโ
A lookup containing the offset from the glyph center to the visual bottom of the glyph. The glyph center is the origin coordinate at which the glyph paths start when drawn on the alphabetic baseline.
- JavaScript
- C#
- Kotlin
glyphBottom: Map<MusicFontSymbol, number>;Map<MusicFontSymbol, double> GlyphBottom { get; set; }var glyphBottom: alphaTab.collections.ObjectDoubleMap<MusicFontSymbol, Double>glyphHeightsโ
A lookup for the heights of the visual bounding box for the glyphs.
- JavaScript
- C#
- Kotlin
glyphHeights: Map<MusicFontSymbol, number>;Map<MusicFontSymbol, double> GlyphHeights { get; set; }var glyphHeights: alphaTab.collections.ObjectDoubleMap<MusicFontSymbol, Double>glyphTopโ
A lookup containing the offset from the visual top to the glyph center. The glyph center is the origin coordinate at which the glyph paths start when drawn on the alphabetic baseline.
- JavaScript
- C#
- Kotlin
glyphTop: Map<MusicFontSymbol, number>;Map<MusicFontSymbol, double> GlyphTop { get; set; }var glyphTop: alphaTab.collections.ObjectDoubleMap<MusicFontSymbol, Double>glyphWidthsโ
A lookup for the widths of the visual bounding box for the glyphs.
- JavaScript
- C#
- Kotlin
glyphWidths: Map<MusicFontSymbol, number>;Map<MusicFontSymbol, double> GlyphWidths { get; set; }var glyphWidths: alphaTab.collections.ObjectDoubleMap<MusicFontSymbol, Double>hairpinThicknessโ
The thickness of a crescendo/diminuendo hairpin
- JavaScript
- C#
- Kotlin
hairpinThickness: number;double HairpinThickness { get; set; }var hairpinThickness: DoubleleftHandTabTieWidthโ
The width of ties drawn for left-hand-tapped notes.
- JavaScript
- C#
- Kotlin
leftHandTabTieWidth: number;double LeftHandTabTieWidth { get; set; }var leftHandTabTieWidth: DoublelegerLineExtensionโ
The amount by which a leger line should extend either side of a notehead, scaled proportionally with the notehead's size, e.g. when scaled down as a grace note
- JavaScript
- C#
- Kotlin
legerLineExtension: number;double LegerLineExtension { get; set; }var legerLineExtension: DoublelegerLineThicknessโ
The thickness of a leger line (normally somewhat thicker than a staff line)
- JavaScript
- C#
- Kotlin
legerLineThickness: number;double LegerLineThickness { get; set; }var legerLineThickness: DoublelineRangedGlyphDashGapโ
The gap between dashes on line ranged glyphs (like let-ring)
- JavaScript
- C#
- Kotlin
lineRangedGlyphDashGap: number;double LineRangedGlyphDashGap { get; set; }var lineRangedGlyphDashGap: DoublelineRangedGlyphDashSizeโ
The size between dashes on line ranged glyphs (like let-ring)
- JavaScript
- C#
- Kotlin
lineRangedGlyphDashSize: number;double LineRangedGlyphDashSize { get; set; }var lineRangedGlyphDashSize: DoublemultiVoiceDisplacedNoteHeadSpacingโ
The spacing between displaced displaced note heads in case of multi-voice note head overlaps.
- JavaScript
- C#
- Kotlin
multiVoiceDisplacedNoteHeadSpacing: number;double MultiVoiceDisplacedNoteHeadSpacing { get; set; }var multiVoiceDisplacedNoteHeadSpacing: DoublemusicFontSizeโ
The font size of the music font in pixel.
- JavaScript
- C#
- Kotlin
musicFontSize: number;double MusicFontSize { get; set; }var musicFontSize: DoublenumberedBarRendererBarSizeโ
The size of the bars drawn in numbered notation to indicate the durations.
- JavaScript
- C#
- Kotlin
numberedBarRendererBarSize: number;double NumberedBarRendererBarSize { get; set; }var numberedBarRendererBarSize: DoublenumberedBarRendererBarSpacingโ
The spacing between the bars drawn in numbered notation to indicate the durations.
- JavaScript
- C#
- Kotlin
numberedBarRendererBarSpacing: number;double NumberedBarRendererBarSpacing { get; set; }var numberedBarRendererBarSpacing: DoublenumberedDashGlyphPaddingโ
The padding minimum between the duration dashes.
- JavaScript
- C#
- Kotlin
numberedDashGlyphPadding: number;double NumberedDashGlyphPadding { get; set; }var numberedDashGlyphPadding: DoublenumberedDashGlyphWidthโ
The width of the dashed drawn in numbered notation to indicate the durations.
- JavaScript
- C#
- Kotlin
numberedDashGlyphWidth: number;double NumberedDashGlyphWidth { get; set; }var numberedDashGlyphWidth: DoubleoctaveLineThicknessโ
The thickness of the dashed line used for an octave line
- JavaScript
- C#
- Kotlin
octaveLineThickness: number;double OctaveLineThickness { get; set; }var octaveLineThickness: DoubleoneStaffSpaceโ
The staff space in pixel
- JavaScript
- C#
- Kotlin
oneStaffSpace: number;double OneStaffSpace { get; set; }var oneStaffSpace: DoubleonNoteEffectPaddingโ
The padding between effects and glyphs placed above/blow the note heads e.g. staccato
- JavaScript
- C#
- Kotlin
onNoteEffectPadding: number;double OnNoteEffectPadding { get; set; }var onNoteEffectPadding: DoublepedalLineThicknessโ
The thickness of the line used for piano pedaling
- JavaScript
- C#
- Kotlin
pedalLineThickness: number;double PedalLineThickness { get; set; }var pedalLineThickness: DoublepostNoteEffectPaddingโ
The padding between effects and glyphs placed after the note heads, e.g. slides or bends
- JavaScript
- C#
- Kotlin
postNoteEffectPadding: number;double PostNoteEffectPadding { get; set; }var postNoteEffectPadding: DoublepreBeatGlyphSpacingโ
The padding between glyphs shown before any beats e.g. clefs and time signatures
- JavaScript
- C#
- Kotlin
preBeatGlyphSpacing: number;double PreBeatGlyphSpacing { get; set; }var preBeatGlyphSpacing: DoublepreNoteEffectPaddingโ
The padding between effects and glyphs placed before the note heads, e.g. accidentals or brushes
- JavaScript
- C#
- Kotlin
preNoteEffectPadding: number;double PreNoteEffectPadding { get; set; }var preNoteEffectPadding: DoublerepeatBarlineDotSeparationโ
The default horizontal distance between the dots and the inner barline of a repeat barline, measured from the edge of the dots to the edge of the barline.
- JavaScript
- C#
- Kotlin
repeatBarlineDotSeparation: number;double RepeatBarlineDotSeparation { get; set; }var repeatBarlineDotSeparation: DoublerepeatEndingLineThicknessโ
The thickness of the brackets drawn to indicate repeat endings
- JavaScript
- C#
- Kotlin
repeatEndingLineThickness: number;double RepeatEndingLineThickness { get; set; }var repeatEndingLineThickness: DoublerepeatOffsetXโ
Holds the x-coordinate offsets for glyphs which are drawn repeatedly (like vibrato waves).
- JavaScript
- C#
- Kotlin
repeatOffsetX: Map<MusicFontSymbol, number>;Map<MusicFontSymbol, double> RepeatOffsetX { get; set; }var repeatOffsetX: alphaTab.collections.ObjectDoubleMap<MusicFontSymbol, Double>rowContainerGapโ
The innter gap for glyphs arranged in a grid like fashion, like the tunings and chord diagrams.
- JavaScript
- C#
- Kotlin
rowContainerGap: number;double RowContainerGap { get; set; }var rowContainerGap: DoublerowContainerPaddingโ
The outer padding for glyphs arranged in a grid like fashion, like the tunings and chord diagrams.
- JavaScript
- C#
- Kotlin
rowContainerPadding: number;double RowContainerPadding { get; set; }var rowContainerPadding: DoublesimpleSlideHeightโ
The height of simple slides like slide out down which do slide to a defined target note.
- JavaScript
- C#
- Kotlin
simpleSlideHeight: number;double SimpleSlideHeight { get; set; }var simpleSlideHeight: DoublesimpleSlideWidthโ
The width of simple slides like slide out down which do slide to a defined target note.
- JavaScript
- C#
- Kotlin
simpleSlideWidth: number;double SimpleSlideWidth { get; set; }var simpleSlideWidth: DoubleslurMidpointThicknessโ
The thickness of the mid-point of a slur (i.e. its thickest point)
- JavaScript
- C#
- Kotlin
slurMidpointThickness: number;double SlurMidpointThickness { get; set; }var slurMidpointThickness: DoublesongBookWhammyDipHeightโ
The height of simple dip whammys when using the songbook mode.
- JavaScript
- C#
- Kotlin
songBookWhammyDipHeight: number;double SongBookWhammyDipHeight { get; set; }var songBookWhammyDipHeight: DoublestaffContentPaddingโ
The minimum vertical padding between the content of two adjacent staves (e.g. a stem below one staff and a fret number above the next one). Additional space is only added between staves where their content would come closer than this. Behind Bars: characters should not be closer than 1/2 stave-space and never collide.
- JavaScript
- C#
- Kotlin
staffContentPadding: number;double StaffContentPadding { get; set; }var staffContentPadding: DoublestaffLineThicknessโ
The thickness of each staff line
- JavaScript
- C#
- Kotlin
staffLineThickness: number;double StaffLineThickness { get; set; }var staffLineThickness: DoublestandardStemLengthโ
The standard stem length of a quarter note.
- JavaScript
- C#
- Kotlin
standardStemLength: number;double StandardStemLength { get; set; }var standardStemLength: DoublestemDownโ
Holds information about where to place downwards pointing stems on glyphs.
- JavaScript
- C#
- Kotlin
stemDown: Map<MusicFontSymbol, EngravingStemInfo>;Map<MusicFontSymbol, EngravingStemInfo> StemDown { get; set; }var stemDown: alphaTab.collections.Map<MusicFontSymbol, EngravingStemInfo>stemFlagHeightโ
The space needed by flags on the stem-side from top to bottom to place.
stemFlagOffsetsโ
The additional offsets stems need to have enough space for flags.
stemThicknessโ
The thickness of a stem
- JavaScript
- C#
- Kotlin
stemThickness: number;double StemThickness { get; set; }var stemThickness: DoublestemUpโ
Holds information about where to place upwards pointing stems on glyphs.
- JavaScript
- C#
- Kotlin
stemUp: Map<MusicFontSymbol, EngravingStemInfo>;Map<MusicFontSymbol, EngravingStemInfo> StemUp { get; set; }var stemUp: alphaTab.collections.Map<MusicFontSymbol, EngravingStemInfo>stringNumberCirclePaddingโ
The padding between the circles around string numbers.
- JavaScript
- C#
- Kotlin
stringNumberCirclePadding: number;double StringNumberCirclePadding { get; set; }var stringNumberCirclePadding: DoublesustainPedalLinePaddingโ
The padding between the sustain pedal glyphs and lines.
- JavaScript
- C#
- Kotlin
sustainPedalLinePadding: number;double SustainPedalLinePadding { get; set; }var sustainPedalLinePadding: DoubletabBendDashSizeโ
The size of the dashes on bends (e.g. on holds)
- JavaScript
- C#
- Kotlin
tabBendDashSize: number;double TabBendDashSize { get; set; }var tabBendDashSize: DoubletabBendLabelPaddingโ
The padding applied between the line and text of bends.
- JavaScript
- C#
- Kotlin
tabBendLabelPadding: number;double TabBendLabelPadding { get; set; }var tabBendLabelPadding: DoubletabBendPerValueHeightโ
The height applied per quarter-note.
- JavaScript
- C#
- Kotlin
tabBendPerValueHeight: number;double TabBendPerValueHeight { get; set; }var tabBendPerValueHeight: DoubletabBendStaffPaddingโ
The additional padding between the staff and the point where bend values are calculated from.
- JavaScript
- C#
- Kotlin
tabBendStaffPadding: number;double TabBendStaffPadding { get; set; }var tabBendStaffPadding: DoubletabLineSpacingโ
The staff space in pixel for tablature fonts. This is typically 1.5 of the standard staff space.
- JavaScript
- C#
- Kotlin
tabLineSpacing: number;double TabLineSpacing { get; set; }var tabLineSpacing: DoubletabWhammyDashSizeโ
The size of the dashes on whammys (e.g. on holds)
- JavaScript
- C#
- Kotlin
tabWhammyDashSize: number;double TabWhammyDashSize { get; set; }var tabWhammyDashSize: DoubletabWhammyPerHalfHeightโ
The height applied per half-note whammy.
- JavaScript
- C#
- Kotlin
tabWhammyPerHalfHeight: number;double TabWhammyPerHalfHeight { get; set; }var tabWhammyPerHalfHeight: DoubletabWhammyTextPaddingโ
The padding between the text and whammy lines.
- JavaScript
- C#
- Kotlin
tabWhammyTextPadding: number;double TabWhammyTextPadding { get; set; }var tabWhammyTextPadding: DoubletempoNoteScaleโ
The relative scale of the note drawn on tempo markers
- JavaScript
- C#
- Kotlin
tempoNoteScale: number;double TempoNoteScale { get; set; }var tempoNoteScale: DoublethickBarlineThicknessโ
The thickness of a thick barline, e.g. in a final barline or a repeat barline
- JavaScript
- C#
- Kotlin
thickBarlineThickness: number;double ThickBarlineThickness { get; set; }var thickBarlineThickness: DoublethinBarlineThicknessโ
The thickness of a dashed barline
- JavaScript
- C#
- Kotlin
thinBarlineThickness: number;double ThinBarlineThickness { get; set; }var thinBarlineThickness: DoublethinThickBarlineSeparationโ
The default distance between a pair of thin and thick barlines when locked together, e.g. between the thin and thick barlines making a final barline, or between the thick and thin barlines making a start repeat barline.
- JavaScript
- C#
- Kotlin
thinThickBarlineSeparation: number;double ThinThickBarlineSeparation { get; set; }var thinThickBarlineSeparation: DoubletieHeightโ
The height of ties.
- JavaScript
- C#
- Kotlin
tieHeight: number;double TieHeight { get; set; }var tieHeight: DoubletieMidpointThicknessโ
The thickness of the mid-point of a tie
- JavaScript
- C#
- Kotlin
tieMidpointThickness: number;double TieMidpointThickness { get; set; }var tieMidpointThickness: DoubletripletFeelBracketPaddingโ
The padding between the bracket lines and numbers of tuplets
- JavaScript
- C#
- Kotlin
tripletFeelBracketPadding: number;double TripletFeelBracketPadding { get; set; }var tripletFeelBracketPadding: DoubletuningGlyphCircleNumberScaleโ
The scale of string numbers shown on tuning glyphs.
- JavaScript
- C#
- Kotlin
tuningGlyphCircleNumberScale: number;double TuningGlyphCircleNumberScale { get; set; }var tuningGlyphCircleNumberScale: DoubletuningGlyphStringColumnScaleโ
The scale factor applied to the width of the columns of string on tuning glyphs.
- JavaScript
- C#
- Kotlin
tuningGlyphStringColumnScale: number;double TuningGlyphStringColumnScale { get; set; }var tuningGlyphStringColumnScale: DoubletuningGlyphStringRowPaddingโ
The padding between rows of strings on tuning glyphs.
- JavaScript
- C#
- Kotlin
tuningGlyphStringRowPadding: number;double TuningGlyphStringRowPadding { get; set; }var tuningGlyphStringRowPadding: DoubletupletBracketThicknessโ
The thickness of the brackets drawn either side of tuplet numbers
- JavaScript
- C#
- Kotlin
tupletBracketThickness: number;double TupletBracketThickness { get; set; }var tupletBracketThickness: DoubleMethodsโ
fillFromSmuflโ
Fills the engraving settings from the provided smufl metdata.
- JavaScript
- C#
- Kotlin
fillFromSmufl(smufl: SmuflMetadata, musicFontSize?: number): voidvoid FillFromSmufl(SmuflMetadata smufl, double? musicFontSize)fun fillFromSmufl(smufl: SmuflMetadata, musicFontSize: Double?): Unit| Parameter | Summary |
|---|---|
smuflAll | The metadata shipped together with the SMuFL fonts. |
musicFontSizeAll | The font size to configure in alphaTab for the music font. |
getStemLengthโ
Calculates the stem height for a note of the given duration.
| Parameter | Summary |
|---|---|
durationAll | The duration to calculate the height respecting flag sizes. |
hasFlagAll | True if we need to respect flags, false if we have beams. |
Returnsโ
The total stem height