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: 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: 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: 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