@coderline/alphatab 1.7.0-alpha.1510 → 1.7.0-alpha.1515

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -264,7 +264,7 @@ declare abstract class AlphaSynthWebAudioOutputBase implements ISynthOutput {
264
264
  get sampleRate(): number;
265
265
  activate(resumedCallback?: () => void): void;
266
266
  private patchIosSampleRate;
267
- open(bufferTimeInMilliseconds: number): void;
267
+ open(_bufferTimeInMilliseconds: number): void;
268
268
  private registerResumeHandler;
269
269
  private unregisterResumeHandler;
270
270
  play(): void;
@@ -3040,44 +3040,67 @@ declare enum AlphaTabSystemExclusiveEvents {
3040
3040
  Rest = 1
3041
3041
  }
3042
3042
 
3043
+ /**
3044
+ * This ScoreExporter can write alphaTex strings.
3045
+ */
3046
+ declare class AlphaTexExporter extends ScoreExporter {
3047
+ private static readonly DefaultScore;
3048
+ private static readonly DefaultTrack;
3049
+ get name(): string;
3050
+ exportToString(score: Score, settings?: Settings | null): string;
3051
+ writeScore(score: Score): void;
3052
+ scoreToAlphaTexString(score: Score): string;
3053
+ private writeScoreTo;
3054
+ private writeStyleSheetTo;
3055
+ private writeTrackTo;
3056
+ private writeStaffTo;
3057
+ private writeBarTo;
3058
+ private writeTrackMetaTo;
3059
+ private writePlaybackInfoTo;
3060
+ private writeStaffMetaTo;
3061
+ private writeChordTo;
3062
+ private writeMasterBarMetaTo;
3063
+ private writeBarMetaTo;
3064
+ private writeVoiceTo;
3065
+ private writeBeatTo;
3066
+ private writeBeatEffectsTo;
3067
+ private writeNoteTo;
3068
+ private writeNoteEffectsTo;
3069
+ }
3070
+
3043
3071
  /**
3044
3072
  * This importer can parse alphaTex markup into a score structure.
3045
3073
  */
3046
3074
  declare class AlphaTexImporter extends ScoreImporter {
3047
- private static readonly Eof;
3048
3075
  private _trackChannel;
3049
3076
  private _score;
3050
3077
  private _currentTrack;
3051
3078
  private _currentStaff;
3052
3079
  private _barIndex;
3053
3080
  private _voiceIndex;
3054
- private _input;
3055
- private _ch;
3056
- private _curChPos;
3057
- private _line;
3058
- private _col;
3059
- private _lastValidSpot;
3060
- private _sy;
3061
- private _syData;
3062
- private _allowNegatives;
3063
- private _allowFloat;
3064
- private _allowTuning;
3065
3081
  private _currentDuration;
3066
3082
  private _currentDynamics;
3067
3083
  private _currentTuplet;
3068
3084
  private _lyrics;
3085
+ private _ignoredInitialVoice;
3069
3086
  private _staffHasExplicitDisplayTransposition;
3087
+ private _staffDisplayTranspositionApplied;
3070
3088
  private _staffHasExplicitTuning;
3071
3089
  private _staffTuningApplied;
3072
3090
  private _percussionArticulationNames;
3073
3091
  private _sustainPedalToBeat;
3074
3092
  private _slurs;
3075
3093
  private _articulationValueToIndex;
3094
+ private _lexer;
3076
3095
  private _accidentalMode;
3077
3096
  private _syncPoints;
3078
3097
  logErrors: boolean;
3079
3098
  get name(): string;
3080
3099
  initFromString(tex: string, settings: Settings): void;
3100
+ private get sy();
3101
+ private get syData();
3102
+ private set sy(value);
3103
+ private newSy;
3081
3104
  readScore(): Score;
3082
3105
  private syncPoints;
3083
3106
  private syncPoint;
@@ -3110,33 +3133,6 @@ declare class AlphaTexImporter extends ScoreImporter {
3110
3133
  */
3111
3134
  private parseKeySignature;
3112
3135
  private parseKeySignatureType;
3113
- /**
3114
- * Reads, saves, and returns the next character of the source stream.
3115
- */
3116
- private nextChar;
3117
- /**
3118
- * Saves the current position, line, and column.
3119
- * All parsed data until this point is assumed to be valid.
3120
- */
3121
- private saveValidSpot;
3122
- /**
3123
- * Reads, saves, and returns the next terminal symbol.
3124
- */
3125
- private newSy;
3126
- private readNumberOrName;
3127
- /**
3128
- * Checks if the given character is a valid letter for a name.
3129
- * (no control characters, whitespaces, numbers or dots)
3130
- */
3131
- private static isNameLetter;
3132
- private static isTerminal;
3133
- private static isWhiteSpace;
3134
- private isDigit;
3135
- /**
3136
- * Reads a string from the stream.
3137
- * @returns the read string.
3138
- */
3139
- private readName;
3140
3136
  private metaData;
3141
3137
  headerFooterStyle(element: ScoreSubElement): void;
3142
3138
  private parseTrackNamePolicy;
@@ -3448,11 +3444,17 @@ declare class Bar {
3448
3444
  * Gets or sets the simile mark on this bar.
3449
3445
  */
3450
3446
  simileMark: SimileMark;
3447
+ private _filledVoices;
3451
3448
  /**
3452
3449
  * Gets a value indicating whether this bar contains multiple voices with notes.
3453
3450
  * @json_ignore
3454
3451
  */
3455
- isMultiVoice: boolean;
3452
+ get isMultiVoice(): boolean;
3453
+ /**
3454
+ * Gets the number of voices which have content within this stuff.
3455
+ * @json_ignore
3456
+ */
3457
+ get filledVoices(): Set<number>;
3456
3458
  /**
3457
3459
  * A relative scale for the size of the bar when displayed. The scale is relative
3458
3460
  * within a single line (system). The sum of all scales in one line make the total width,
@@ -3514,7 +3516,6 @@ declare class Bar {
3514
3516
  getActualBarLineLeft(isFirstOfSystem: boolean): BarLineStyle;
3515
3517
  /**
3516
3518
  * The bar line to draw on the right side of the bar with an "automatic" type resolved to the actual one.
3517
- * @param isFirstOfSystem Whether the bar is the first one in the system.
3518
3519
  */
3519
3520
  getActualBarLineRight(): BarLineStyle;
3520
3521
  private static automaticToActualType;
@@ -3655,11 +3656,6 @@ declare enum BarLineStyle {
3655
3656
  * This is the base public class for creating blocks which can render bars.
3656
3657
  */
3657
3658
  declare class BarRendererBase {
3658
- protected static readonly RawLineSpacing: number;
3659
- static readonly StemWidth: number;
3660
- static readonly StaffLineThickness: number;
3661
- static readonly BeamThickness: number;
3662
- static readonly BeamSpacing: number;
3663
3659
  private _preBeatGlyphs;
3664
3660
  private _voiceContainers;
3665
3661
  private _postBeatGlyphs;
@@ -3700,6 +3696,7 @@ declare class BarRendererBase {
3700
3696
  registerOverflowBottom(bottomOverflow: number): boolean;
3701
3697
  scaleToWidth(width: number): void;
3702
3698
  get resources(): RenderingResources;
3699
+ get smuflMetrics(): EngravingSettings;
3703
3700
  get settings(): Settings;
3704
3701
  /**
3705
3702
  * Gets the scale with which the bar should be displayed in case the model
@@ -3745,7 +3742,7 @@ declare class BarRendererBase {
3745
3742
  protected addPostBeatGlyph(g: Glyph): void;
3746
3743
  protected createPreBeatGlyphs(): void;
3747
3744
  protected createBeatGlyphs(): void;
3748
- protected createVoiceGlyphs(v: Voice): void;
3745
+ protected createVoiceGlyphs(_v: Voice): void;
3749
3746
  protected createPostBeatGlyphs(): void;
3750
3747
  get beatGlyphsStart(): number;
3751
3748
  get postBeatGlyphsStart(): number;
@@ -3756,7 +3753,7 @@ declare class BarRendererBase {
3756
3753
  reLayout(): void;
3757
3754
  protected recreatePreBeatGlyphs(): void;
3758
3755
  protected paintSimileMark(cx: number, cy: number, canvas: ICanvas): void;
3759
- completeBeamingHelper(helper: BeamingHelper): void;
3756
+ completeBeamingHelper(_helper: BeamingHelper): void;
3760
3757
  getBeatDirection(beat: Beat): BeamDirection;
3761
3758
  }
3762
3759
 
@@ -3771,7 +3768,7 @@ declare abstract class BarRendererFactory {
3771
3768
  abstract get staffId(): string;
3772
3769
  abstract getStaffPaddingTop(staff: RenderStaff): number;
3773
3770
  abstract getStaffPaddingBottom(staff: RenderStaff): number;
3774
- canCreate(track: Track, staff: Staff): boolean;
3771
+ canCreate(_track: Track, staff: Staff): boolean;
3775
3772
  abstract create(renderer: ScoreRenderer, bar: Bar): BarRendererBase;
3776
3773
  }
3777
3774
 
@@ -3920,22 +3917,19 @@ declare class BeamingHelper {
3920
3917
  voice: Voice | null;
3921
3918
  beats: Beat[];
3922
3919
  shortestDuration: Duration;
3920
+ tremoloDuration?: Duration;
3923
3921
  /**
3924
3922
  * an indicator whether any beat has a tuplet on it.
3925
3923
  */
3926
3924
  hasTuplet: boolean;
3927
3925
  slashBeats: Beat[];
3928
- private _firstBeatLowestNoteCompareValue;
3929
- private _firstBeatHighestNoteCompareValue;
3930
- private _lastBeatLowestNoteCompareValue;
3931
- private _lastBeatHighestNoteCompareValue;
3932
3926
  lowestNoteInHelper: Note | null;
3933
3927
  private _lowestNoteCompareValueInHelper;
3934
3928
  highestNoteInHelper: Note | null;
3935
3929
  private _highestNoteCompareValueInHelper;
3936
3930
  invertBeamDirection: boolean;
3937
3931
  preferredBeamDirection: BeamDirection | null;
3938
- isGrace: boolean;
3932
+ graceType: GraceType;
3939
3933
  minRestLine: number | null;
3940
3934
  beatOfMinRestLine: Beat | null;
3941
3935
  maxRestLine: number | null;
@@ -4112,7 +4106,7 @@ declare class Beat {
4112
4106
  */
4113
4107
  isLetRing: boolean;
4114
4108
  /**
4115
- * Gets or sets whether any note in this beat has a palm-mute paplied.
4109
+ * Gets or sets whether any note in this beat has a palm-mute applied.
4116
4110
  * @json_ignore
4117
4111
  */
4118
4112
  isPalmMute: boolean;
@@ -4460,7 +4454,6 @@ declare class BeatBounds {
4460
4454
  }
4461
4455
 
4462
4456
  declare class BeatContainerGlyph extends Glyph {
4463
- static readonly GraceBeatPadding: number;
4464
4457
  voiceContainer: VoiceContainerGlyph;
4465
4458
  beat: Beat;
4466
4459
  preNotes: BeatGlyphBase;
@@ -4472,14 +4465,14 @@ declare class BeatContainerGlyph extends Glyph {
4472
4465
  addTie(tie: Glyph): void;
4473
4466
  protected drawBeamHelperAsFlags(helper: BeamingHelper): boolean;
4474
4467
  registerLayoutingInfo(layoutings: BarLayoutingInfo): void;
4475
- applyLayoutingInfo(info: BarLayoutingInfo): void;
4468
+ applyLayoutingInfo(_info: BarLayoutingInfo): void;
4476
4469
  doLayout(): void;
4477
4470
  protected updateWidth(): void;
4478
4471
  scaleToWidth(beatWidth: number): void;
4479
- protected createTies(n: Note): void;
4472
+ protected createTies(_n: Note): void;
4480
4473
  static getGroupId(beat: Beat): string;
4481
4474
  paint(cx: number, cy: number, canvas: ICanvas): void;
4482
- buildBoundingsLookup(barBounds: BarBounds, cx: number, cy: number, isEmptyBar: boolean): void;
4475
+ buildBoundingsLookup(barBounds: BarBounds, cx: number, cy: number, _isEmptyBar: boolean): void;
4483
4476
  }
4484
4477
 
4485
4478
  declare class BeatGlyphBase extends GlyphGroup {
@@ -4502,9 +4495,11 @@ declare class BeatOnNoteGlyphBase extends BeatGlyphBase {
4502
4495
  beamingHelper: BeamingHelper;
4503
4496
  centerX: number;
4504
4497
  updateBeamingHelper(): void;
4505
- buildBoundingsLookup(beatBounds: BeatBounds, cx: number, cy: number): void;
4506
- getNoteX(note: Note, requestedPosition: NoteXPosition): number;
4507
- getNoteY(note: Note, requestedPosition: NoteYPosition): number;
4498
+ buildBoundingsLookup(_beatBounds: BeatBounds, _cx: number, _cy: number): void;
4499
+ getNoteX(_note: Note, _requestedPosition: NoteXPosition): number;
4500
+ getNoteY(_note: Note, _requestedPosition: NoteYPosition): number;
4501
+ getHighestNoteY(): number;
4502
+ getLowestNoteY(): number;
4508
4503
  }
4509
4504
 
4510
4505
  /**
@@ -5295,6 +5290,11 @@ export declare class CoreSettings {
5295
5290
  * they are available for rendering the music sheet. The sources can be set to any
5296
5291
  * CSS compatible URL which can be passed into `url()`.
5297
5292
  * See https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src#url
5293
+ *
5294
+ * If you customize the SmuFL font used in alphaTab, you will also need to provide
5295
+ * the respective SMuFL Metadata information to alphaTab.
5296
+ * Set the metadata via {@link EngravingSettings.fillFromSmufl} on the rendering resources.
5297
+ *
5298
5298
  * @defaultValue Bravura files located at {@link fontDirectory} .
5299
5299
  * @category Core - JavaScript Specific
5300
5300
  * @target web
@@ -5471,6 +5471,11 @@ declare interface CoreSettingsJson {
5471
5471
  * they are available for rendering the music sheet. The sources can be set to any
5472
5472
  * CSS compatible URL which can be passed into `url()`.
5473
5473
  * See https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src#url
5474
+ *
5475
+ * If you customize the SmuFL font used in alphaTab, you will also need to provide
5476
+ * the respective SMuFL Metadata information to alphaTab.
5477
+ * Set the metadata via {@link EngravingSettings.fillFromSmufl} on the rendering resources.
5478
+ *
5474
5479
  * @defaultValue Bravura files located at {@link fontDirectory} .
5475
5480
  * @category Core - JavaScript Specific
5476
5481
  * @target web
@@ -5655,7 +5660,7 @@ declare class Cursors {
5655
5660
  */
5656
5661
  declare class DeprecatedMidiEvent extends MidiEvent {
5657
5662
  constructor();
5658
- writeTo(s: IWriteable): void;
5663
+ writeTo(_s: IWriteable): void;
5659
5664
  }
5660
5665
 
5661
5666
  /**
@@ -5933,6 +5938,13 @@ export declare class DisplaySettings {
5933
5938
  * @defaultValue `2`
5934
5939
  */
5935
5940
  staffPaddingLeft: number;
5941
+ /**
5942
+ * The padding between individual effect bands.
5943
+ * @since 1.7.0
5944
+ * @category Display
5945
+ * @defaultValue `2`
5946
+ */
5947
+ effectBandPaddingBottom: number;
5936
5948
  /**
5937
5949
  * The mode used to arrange staves and systems.
5938
5950
  * @since 1.3.0
@@ -6250,6 +6262,13 @@ declare interface DisplaySettingsJson {
6250
6262
  * @defaultValue `2`
6251
6263
  */
6252
6264
  staffPaddingLeft?: number;
6265
+ /**
6266
+ * The padding between individual effect bands.
6267
+ * @since 1.7.0
6268
+ * @category Display
6269
+ * @defaultValue `2`
6270
+ */
6271
+ effectBandPaddingBottom?: number;
6253
6272
  /**
6254
6273
  * The mode used to arrange staves and systems.
6255
6274
  * @since 1.3.0
@@ -6500,6 +6519,829 @@ declare class EndOfTrackEvent extends MidiEvent {
6500
6519
  writeTo(s: IWriteable): void;
6501
6520
  }
6502
6521
 
6522
+ /**
6523
+ * This class holds all all spacing, thickness and scaling metrics
6524
+ * related to engraving the music notation.
6525
+ *
6526
+ * @remarks
6527
+ * While general layout settings are configurable via the display settings,
6528
+ * these settings go deeper into how the individual music symbols are scaled and aligned targeting
6529
+ * specification compliance with the Standard Music Font Layout (SMuFL).
6530
+ *
6531
+ * Unless specified differently the settings here are available {@since 1.7.0}
6532
+ *
6533
+ * If properties are marked with a SMuFl tag, it means that the values are part of the SMuFL specification
6534
+ * and should be filled from the respective metadata files shipped with the fonts or aligned generally with the specification.
6535
+ * Other properties are custom to alphaTab.
6536
+ *
6537
+ * In SmuFL Sizes and coordinates are expressed in "staff space" units which is 1/4 of the configured font size. In this data structure
6538
+ * the values are converted to pixels.
6539
+ *
6540
+ * @json
6541
+ * @json_declaration
6542
+ * @cloneable
6543
+ */
6544
+ export declare class EngravingSettings {
6545
+ private static _bravuraDefaults?;
6546
+ /**
6547
+ * A {@link EngravingSettings} copy filled with the settings of the Bravura font used by default in alphaTab.
6548
+ */
6549
+ static get bravuraDefaults(): EngravingSettings;
6550
+ /**
6551
+ * The font size of the music font in pixel.
6552
+ */
6553
+ musicFontSize: number;
6554
+ /**
6555
+ * The staff space in pixel
6556
+ * @smufl 1.4
6557
+ */
6558
+ oneStaffSpace: number;
6559
+ /**
6560
+ * The staff space in pixel for tablature fonts. This is typically 1.5 of the standard staff space.
6561
+ * @smufl 1.4
6562
+ */
6563
+ tabLineSpacing: number;
6564
+ /**
6565
+ * The thickness of the line used for the shaft of an arrow
6566
+ * @smufl 1.4
6567
+ */
6568
+ arrowShaftThickness: number;
6569
+ /**
6570
+ * 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.
6571
+ * @smufl 1.4
6572
+ */
6573
+ barlineSeparation: number;
6574
+ /**
6575
+ * The distance between the inner edge of the primary and outer edge of subsequent secondary beams
6576
+ * @smufl 1.4
6577
+ */
6578
+ beamSpacing: number;
6579
+ /**
6580
+ * The thickness of a beam
6581
+ * @smufl 1.4
6582
+ */
6583
+ beamThickness: number;
6584
+ /**
6585
+ * The thickness of the vertical line of a bracket grouping staves together
6586
+ * @smufl 1.4
6587
+ */
6588
+ bracketThickness: number;
6589
+ /**
6590
+ * The length of the dashes to be used in a dashed barline
6591
+ * @smufl 1.4
6592
+ */
6593
+ dashedBarlineDashLength: number;
6594
+ /**
6595
+ * The length of the gap between dashes in a dashed barline
6596
+ */
6597
+ dashedBarlineGapLength: number;
6598
+ /**
6599
+ * The thickness of a dashed barline
6600
+ * @smufl 1.4
6601
+ */
6602
+ dashedBarlineThickness: number;
6603
+ /**
6604
+ * The thickness of a crescendo/diminuendo hairpin
6605
+ * @smufl 1.4
6606
+ */
6607
+ hairpinThickness: number;
6608
+ /**
6609
+ * The thickness of a leger line (normally somewhat thicker than a staff line)
6610
+ * @smufl 1.4
6611
+ */
6612
+ legerLineThickness: number;
6613
+ /**
6614
+ * 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
6615
+ * @smufl 1.4
6616
+ */
6617
+ legerLineExtension: number;
6618
+ /**
6619
+ * The thickness of the dashed line used for an octave line
6620
+ * @smufl 1.4
6621
+ */
6622
+ octaveLineThickness: number;
6623
+ /**
6624
+ * The thickness of the line used for piano pedaling
6625
+ * @smufl 1.4
6626
+ */
6627
+ pedalLineThickness: number;
6628
+ /**
6629
+ * 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.
6630
+ * @smufl 1.4
6631
+ */
6632
+ repeatBarlineDotSeparation: number;
6633
+ /**
6634
+ * The thickness of the brackets drawn to indicate repeat endings
6635
+ * @smufl 1.4
6636
+ */
6637
+ repeatEndingLineThickness: number;
6638
+ /**
6639
+ * The thickness of the mid-point of a slur (i.e. its thickest point)
6640
+ * @smufl 1.4
6641
+ */
6642
+ slurMidpointThickness: number;
6643
+ /**
6644
+ * The thickness of each staff line
6645
+ * @smufl 1.4
6646
+ */
6647
+ staffLineThickness: number;
6648
+ /**
6649
+ * The thickness of a stem
6650
+ * @smufl 1.4
6651
+ */
6652
+ stemThickness: number;
6653
+ /**
6654
+ * The thickness of a thick barline, e.g. in a final barline or a repeat barline
6655
+ * @smufl 1.4
6656
+ */
6657
+ thickBarlineThickness: number;
6658
+ /**
6659
+ * The thickness of a dashed barline
6660
+ * @smufl 1.4
6661
+ */
6662
+ thinBarlineThickness: number;
6663
+ /**
6664
+ * 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.
6665
+ * @smufl 1.4
6666
+ */
6667
+ thinThickBarlineSeparation: number;
6668
+ /**
6669
+ * The thickness of the mid-point of a tie
6670
+ * @smufl 1.4
6671
+ */
6672
+ tieMidpointThickness: number;
6673
+ /**
6674
+ * The thickness of the brackets drawn either side of tuplet numbers
6675
+ * @smufl 1.4
6676
+ */
6677
+ tupletBracketThickness: number;
6678
+ /**
6679
+ * Holds information about where to place upwards pointing stems on glyphs.
6680
+ * @smufl 1.4
6681
+ */
6682
+ stemUp: Map<MusicFontSymbol, EngravingStemInfo>;
6683
+ /**
6684
+ * Holds information about where to place downwards pointing stems on glyphs.
6685
+ * @smufl 1.4
6686
+ */
6687
+ stemDown: Map<MusicFontSymbol, EngravingStemInfo>;
6688
+ /**
6689
+ * Holds the x-coordinate offsets for glyphs which are drawn repeatedly (like vibrato waves).
6690
+ * @smufl 1.4
6691
+ */
6692
+ repeatOffsetX: Map<MusicFontSymbol, number>;
6693
+ /**
6694
+ * The standard stem length of a quarter note.
6695
+ * @smufl 1.4
6696
+ */
6697
+ standardStemLength: number;
6698
+ /**
6699
+ * The additional offsets stems need to have enough space for flags.
6700
+ * @smufl 1.4
6701
+ */
6702
+ stemFlagOffsets: Map<Duration, number>;
6703
+ /**
6704
+ * A lookup containing the offset from the visual top to the glyph center.
6705
+ * The glyph center is the origin coordinate at which the glyph paths start when drawn on the alphabetic baseline.
6706
+ * @smufl 1.4
6707
+ */
6708
+ glyphTop: Map<MusicFontSymbol, number>;
6709
+ /**
6710
+ * A lookup containing the offset from the glyph center to the visual bottom of the glyph.
6711
+ * The glyph center is the origin coordinate at which the glyph paths start when drawn on the alphabetic baseline.
6712
+ * @smufl 1.4
6713
+ */
6714
+ glyphBottom: Map<MusicFontSymbol, number>;
6715
+ /**
6716
+ * A lookup for the widths of the visual bounding box for the glyphs.
6717
+ * @smufl 1.4
6718
+ */
6719
+ glyphWidths: Map<MusicFontSymbol, number>;
6720
+ /**
6721
+ * A lookup for the heights of the visual bounding box for the glyphs.
6722
+ * @smufl 1.4
6723
+ */
6724
+ glyphHeights: Map<MusicFontSymbol, number>;
6725
+ /* Excluded from this release type: hasSymbol */
6726
+ /**
6727
+ * Fills the engraving settings from the provided smufl metdata.
6728
+ * @param smufl The metadata shipped together with the SMuFL fonts.
6729
+ * @param musicFontSize The font size to configure in alphaTab for the music font.
6730
+ */
6731
+ fillFromSmufl(smufl: SmuflMetadata, musicFontSize?: number): void;
6732
+ /* Excluded from this release type: smuflNameToGlyphNameMapping */
6733
+ private static smuflNameToMusicFontSymbol;
6734
+ /**
6735
+ * The size of the bars drawn in numbered notation to indicate the durations.
6736
+ */
6737
+ numberedBarRendererBarSize: number;
6738
+ /**
6739
+ * The spacing between the bars drawn in numbered notation to indicate the durations.
6740
+ */
6741
+ numberedBarRendererBarSpacing: number;
6742
+ /**
6743
+ * The size of the dashed drawn in numbered notation to indicate the durations.
6744
+ */
6745
+ numberedDashGlyphPadding: number;
6746
+ /**
6747
+ * The width of the dashed drawn in numbered notation to indicate the durations.
6748
+ */
6749
+ numberedDashGlyphWidth: number;
6750
+ /**
6751
+ * The gap between dashes on line ranged glyphs (like let-ring)
6752
+ */
6753
+ lineRangedGlyphDashGap: number;
6754
+ /**
6755
+ * The size between dashes on line ranged glyphs (like let-ring)
6756
+ */
6757
+ lineRangedGlyphDashSize: number;
6758
+ /**
6759
+ * The padding between effects and glyphs placed before the note heads, e.g. accidentals or brushes
6760
+ */
6761
+ preNoteEffectPadding: number;
6762
+ /**
6763
+ * The padding between effects and glyphs placed after the note heads, e.g. slides or bends
6764
+ */
6765
+ postNoteEffectPadding: number;
6766
+ /**
6767
+ * The padding between effects and glyphs placed above/blow the note heads e.g. staccato
6768
+ */
6769
+ onNoteEffectPadding: number;
6770
+ /**
6771
+ * The padding between the circles around string numbers.
6772
+ */
6773
+ stringNumberCirclePadding: number;
6774
+ /**
6775
+ * The outer padding for glyphs arranged in a grid like fashion, like the tunings and chord diagrams.
6776
+ */
6777
+ rowContainerPadding: number;
6778
+ /**
6779
+ * The innter gap for glyphs arranged in a grid like fashion, like the tunings and chord diagrams.
6780
+ */
6781
+ rowContainerGap: number;
6782
+ /**
6783
+ * The padding used for aligning the alternate ending brackets and texts.
6784
+ */
6785
+ alternateEndingsPadding: number;
6786
+ /**
6787
+ * The padding between the sustain pedal glyphs and lines.
6788
+ */
6789
+ sustainPedalLinePadding: number;
6790
+ /**
6791
+ * The height of ties.
6792
+ */
6793
+ tieHeight: number;
6794
+ /**
6795
+ * The padding between the border and text of beat timers.
6796
+ */
6797
+ beatTimerPadding: number;
6798
+ /**
6799
+ * The additional padding applied to helper note heads shown on bends.
6800
+ */
6801
+ bendNoteHeadElementPadding: number;
6802
+ /**
6803
+ * The width of the parenthesis shown on ghost notes and free time time signatures.
6804
+ */
6805
+ ghostParenthesisWidth: number;
6806
+ /**
6807
+ * The padding between the parenthesis and wrapped elements on ghost notes and free time time signatures
6808
+ */
6809
+ ghostParenthesisPadding: number;
6810
+ /**
6811
+ * The width of broken beams e.g. when combining a 32nd and 16th note
6812
+ */
6813
+ brokenBeamWidth: number;
6814
+ /**
6815
+ * The padding between the text and whammy lines.
6816
+ */
6817
+ tabWhammyTextPadding: number;
6818
+ /**
6819
+ * The height applied per half-note whammy.
6820
+ */
6821
+ tabWhammyPerHalfHeight: number;
6822
+ /**
6823
+ * The size of the dashes on whammys (e.g. on holds)
6824
+ */
6825
+ tabWhammyDashSize: number;
6826
+ /**
6827
+ * The height of simple dip whammys when using the songbook mode.
6828
+ */
6829
+ songBookWhammyDipHeight: number;
6830
+ /**
6831
+ * The width of the lines drawn for dead slapped beats.
6832
+ */
6833
+ deadSlappedLineWidth: number;
6834
+ /**
6835
+ * The width of ties drawn for left-hand-tapped notes.
6836
+ */
6837
+ leftHandTabTieWidth: number;
6838
+ /**
6839
+ * The size of the dashes on bends (e.g. on holds)
6840
+ */
6841
+ tabBendDashSize: number;
6842
+ /**
6843
+ * The height applied per quarter-note.
6844
+ */
6845
+ tabBendPerValueHeight: number;
6846
+ /**
6847
+ * The padding applied between the line and text of bends.
6848
+ */
6849
+ tabBendLabelPadding: number;
6850
+ /**
6851
+ * The width of simple slides like slide out down which do slide to a defined target note.
6852
+ */
6853
+ simpleSlideWidth: number;
6854
+ /**
6855
+ * The height of simple slides like slide out down which do slide to a defined target note.
6856
+ */
6857
+ simpleSlideHeight: number;
6858
+ /**
6859
+ * The horizontal padding applied to individual chord diagrams.
6860
+ */
6861
+ chordDiagramPaddingX: number;
6862
+ /**
6863
+ * The vertical padding applied to individual chord diagrams.
6864
+ */
6865
+ chordDiagramPaddingY: number;
6866
+ /**
6867
+ * The spacing between strings on chord diagrams.
6868
+ */
6869
+ chordDiagramStringSpacing: number;
6870
+ /**
6871
+ * The spacing between frets on chord diagrams.
6872
+ */
6873
+ chordDiagramFretSpacing: number;
6874
+ /**
6875
+ * The height of the nut on chord diagrams..
6876
+ */
6877
+ chordDiagramNutHeight: number;
6878
+ /**
6879
+ * The height of the individual fret lines.
6880
+ */
6881
+ chordDiagramFretHeight: number;
6882
+ /**
6883
+ * The width of all other lines drawn on chord diagrams.
6884
+ */
6885
+ chordDiagramLineWidth: number;
6886
+ /**
6887
+ * The padding between the bracket lines and numbers of tuplets
6888
+ */
6889
+ tripletFeelBracketPadding: number;
6890
+ /**
6891
+ * The horizontal padding between individual accidentals when multiple ones are applied.
6892
+ */
6893
+ accidentalPadding: number;
6894
+ /**
6895
+ * The padding between glyphs shown before any beats e.g. clefs and time signatures
6896
+ */
6897
+ preBeatGlyphSpacing: number;
6898
+ /**
6899
+ * The relative scale of the note drawn on tempo markers
6900
+ */
6901
+ tempoNoteScale: number;
6902
+ /**
6903
+ * The scale of string numbers shown on tuning glyphs.
6904
+ */
6905
+ tuningGlyphCircleNumberScale: number;
6906
+ /**
6907
+ * The scale factor applied to the width of the columns of string on tuning glyphs.
6908
+ */
6909
+ tuningGlyphStringColumnScale: number;
6910
+ /**
6911
+ * The padding between rows of strings on tuning glyphs.
6912
+ */
6913
+ tuningGlyphStringRowPadding: number;
6914
+ /**
6915
+ * The relative scale of any directions glyphs drawn like coda or segno.
6916
+ */
6917
+ directionsScale: number;
6918
+ static readonly bravuraMetadata: SmuflMetadata;
6919
+ }
6920
+
6921
+ /**
6922
+ * This class holds all all spacing, thickness and scaling metrics
6923
+ * related to engraving the music notation.
6924
+ *
6925
+ * @remarks
6926
+ * While general layout settings are configurable via the display settings,
6927
+ * these settings go deeper into how the individual music symbols are scaled and aligned targeting
6928
+ * specification compliance with the Standard Music Font Layout (SMuFL).
6929
+ *
6930
+ * Unless specified differently the settings here are available {@since 1.7.0}
6931
+ *
6932
+ * If properties are marked with a SMuFl tag, it means that the values are part of the SMuFL specification
6933
+ * and should be filled from the respective metadata files shipped with the fonts or aligned generally with the specification.
6934
+ * Other properties are custom to alphaTab.
6935
+ *
6936
+ * In SmuFL Sizes and coordinates are expressed in "staff space" units which is 1/4 of the configured font size. In this data structure
6937
+ * the values are converted to pixels.
6938
+ *
6939
+ * @json
6940
+ * @json_declaration
6941
+ * @cloneable
6942
+ * @target web
6943
+ */
6944
+ declare interface EngravingSettingsJson {
6945
+ /**
6946
+ * The font size of the music font in pixel.
6947
+ */
6948
+ musicFontSize?: number;
6949
+ /**
6950
+ * The staff space in pixel
6951
+ * @smufl 1.4
6952
+ */
6953
+ oneStaffSpace?: number;
6954
+ /**
6955
+ * The staff space in pixel for tablature fonts. This is typically 1.5 of the standard staff space.
6956
+ * @smufl 1.4
6957
+ */
6958
+ tabLineSpacing?: number;
6959
+ /**
6960
+ * The thickness of the line used for the shaft of an arrow
6961
+ * @smufl 1.4
6962
+ */
6963
+ arrowShaftThickness?: number;
6964
+ /**
6965
+ * 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.
6966
+ * @smufl 1.4
6967
+ */
6968
+ barlineSeparation?: number;
6969
+ /**
6970
+ * The distance between the inner edge of the primary and outer edge of subsequent secondary beams
6971
+ * @smufl 1.4
6972
+ */
6973
+ beamSpacing?: number;
6974
+ /**
6975
+ * The thickness of a beam
6976
+ * @smufl 1.4
6977
+ */
6978
+ beamThickness?: number;
6979
+ /**
6980
+ * The thickness of the vertical line of a bracket grouping staves together
6981
+ * @smufl 1.4
6982
+ */
6983
+ bracketThickness?: number;
6984
+ /**
6985
+ * The length of the dashes to be used in a dashed barline
6986
+ * @smufl 1.4
6987
+ */
6988
+ dashedBarlineDashLength?: number;
6989
+ /**
6990
+ * The length of the gap between dashes in a dashed barline
6991
+ */
6992
+ dashedBarlineGapLength?: number;
6993
+ /**
6994
+ * The thickness of a dashed barline
6995
+ * @smufl 1.4
6996
+ */
6997
+ dashedBarlineThickness?: number;
6998
+ /**
6999
+ * The thickness of a crescendo/diminuendo hairpin
7000
+ * @smufl 1.4
7001
+ */
7002
+ hairpinThickness?: number;
7003
+ /**
7004
+ * The thickness of a leger line (normally somewhat thicker than a staff line)
7005
+ * @smufl 1.4
7006
+ */
7007
+ legerLineThickness?: number;
7008
+ /**
7009
+ * 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
7010
+ * @smufl 1.4
7011
+ */
7012
+ legerLineExtension?: number;
7013
+ /**
7014
+ * The thickness of the dashed line used for an octave line
7015
+ * @smufl 1.4
7016
+ */
7017
+ octaveLineThickness?: number;
7018
+ /**
7019
+ * The thickness of the line used for piano pedaling
7020
+ * @smufl 1.4
7021
+ */
7022
+ pedalLineThickness?: number;
7023
+ /**
7024
+ * 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.
7025
+ * @smufl 1.4
7026
+ */
7027
+ repeatBarlineDotSeparation?: number;
7028
+ /**
7029
+ * The thickness of the brackets drawn to indicate repeat endings
7030
+ * @smufl 1.4
7031
+ */
7032
+ repeatEndingLineThickness?: number;
7033
+ /**
7034
+ * The thickness of the mid-point of a slur (i.e. its thickest point)
7035
+ * @smufl 1.4
7036
+ */
7037
+ slurMidpointThickness?: number;
7038
+ /**
7039
+ * The thickness of each staff line
7040
+ * @smufl 1.4
7041
+ */
7042
+ staffLineThickness?: number;
7043
+ /**
7044
+ * The thickness of a stem
7045
+ * @smufl 1.4
7046
+ */
7047
+ stemThickness?: number;
7048
+ /**
7049
+ * The thickness of a thick barline, e.g. in a final barline or a repeat barline
7050
+ * @smufl 1.4
7051
+ */
7052
+ thickBarlineThickness?: number;
7053
+ /**
7054
+ * The thickness of a dashed barline
7055
+ * @smufl 1.4
7056
+ */
7057
+ thinBarlineThickness?: number;
7058
+ /**
7059
+ * 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.
7060
+ * @smufl 1.4
7061
+ */
7062
+ thinThickBarlineSeparation?: number;
7063
+ /**
7064
+ * The thickness of the mid-point of a tie
7065
+ * @smufl 1.4
7066
+ */
7067
+ tieMidpointThickness?: number;
7068
+ /**
7069
+ * The thickness of the brackets drawn either side of tuplet numbers
7070
+ * @smufl 1.4
7071
+ */
7072
+ tupletBracketThickness?: number;
7073
+ /**
7074
+ * Holds information about where to place upwards pointing stems on glyphs.
7075
+ * @smufl 1.4
7076
+ */
7077
+ stemUp?: Map<MusicFontSymbol | keyof typeof MusicFontSymbol | Lowercase<keyof typeof MusicFontSymbol>, EngravingStemInfoJson>;
7078
+ /**
7079
+ * Holds information about where to place downwards pointing stems on glyphs.
7080
+ * @smufl 1.4
7081
+ */
7082
+ stemDown?: Map<MusicFontSymbol | keyof typeof MusicFontSymbol | Lowercase<keyof typeof MusicFontSymbol>, EngravingStemInfoJson>;
7083
+ /**
7084
+ * Holds the x-coordinate offsets for glyphs which are drawn repeatedly (like vibrato waves).
7085
+ * @smufl 1.4
7086
+ */
7087
+ repeatOffsetX?: Map<MusicFontSymbol | keyof typeof MusicFontSymbol | Lowercase<keyof typeof MusicFontSymbol>, number>;
7088
+ /**
7089
+ * The standard stem length of a quarter note.
7090
+ * @smufl 1.4
7091
+ */
7092
+ standardStemLength?: number;
7093
+ /**
7094
+ * The additional offsets stems need to have enough space for flags.
7095
+ * @smufl 1.4
7096
+ */
7097
+ stemFlagOffsets?: Map<Duration | keyof typeof Duration | Lowercase<keyof typeof Duration>, number>;
7098
+ /**
7099
+ * A lookup containing the offset from the visual top to the glyph center.
7100
+ * The glyph center is the origin coordinate at which the glyph paths start when drawn on the alphabetic baseline.
7101
+ * @smufl 1.4
7102
+ */
7103
+ glyphTop?: Map<MusicFontSymbol | keyof typeof MusicFontSymbol | Lowercase<keyof typeof MusicFontSymbol>, number>;
7104
+ /**
7105
+ * A lookup containing the offset from the glyph center to the visual bottom of the glyph.
7106
+ * The glyph center is the origin coordinate at which the glyph paths start when drawn on the alphabetic baseline.
7107
+ * @smufl 1.4
7108
+ */
7109
+ glyphBottom?: Map<MusicFontSymbol | keyof typeof MusicFontSymbol | Lowercase<keyof typeof MusicFontSymbol>, number>;
7110
+ /**
7111
+ * A lookup for the widths of the visual bounding box for the glyphs.
7112
+ * @smufl 1.4
7113
+ */
7114
+ glyphWidths?: Map<MusicFontSymbol | keyof typeof MusicFontSymbol | Lowercase<keyof typeof MusicFontSymbol>, number>;
7115
+ /**
7116
+ * A lookup for the heights of the visual bounding box for the glyphs.
7117
+ * @smufl 1.4
7118
+ */
7119
+ glyphHeights?: Map<MusicFontSymbol | keyof typeof MusicFontSymbol | Lowercase<keyof typeof MusicFontSymbol>, number>;
7120
+ /**
7121
+ * The size of the bars drawn in numbered notation to indicate the durations.
7122
+ */
7123
+ numberedBarRendererBarSize?: number;
7124
+ /**
7125
+ * The spacing between the bars drawn in numbered notation to indicate the durations.
7126
+ */
7127
+ numberedBarRendererBarSpacing?: number;
7128
+ /**
7129
+ * The size of the dashed drawn in numbered notation to indicate the durations.
7130
+ */
7131
+ numberedDashGlyphPadding?: number;
7132
+ /**
7133
+ * The width of the dashed drawn in numbered notation to indicate the durations.
7134
+ */
7135
+ numberedDashGlyphWidth?: number;
7136
+ /**
7137
+ * The gap between dashes on line ranged glyphs (like let-ring)
7138
+ */
7139
+ lineRangedGlyphDashGap?: number;
7140
+ /**
7141
+ * The size between dashes on line ranged glyphs (like let-ring)
7142
+ */
7143
+ lineRangedGlyphDashSize?: number;
7144
+ /**
7145
+ * The padding between effects and glyphs placed before the note heads, e.g. accidentals or brushes
7146
+ */
7147
+ preNoteEffectPadding?: number;
7148
+ /**
7149
+ * The padding between effects and glyphs placed after the note heads, e.g. slides or bends
7150
+ */
7151
+ postNoteEffectPadding?: number;
7152
+ /**
7153
+ * The padding between effects and glyphs placed above/blow the note heads e.g. staccato
7154
+ */
7155
+ onNoteEffectPadding?: number;
7156
+ /**
7157
+ * The padding between the circles around string numbers.
7158
+ */
7159
+ stringNumberCirclePadding?: number;
7160
+ /**
7161
+ * The outer padding for glyphs arranged in a grid like fashion, like the tunings and chord diagrams.
7162
+ */
7163
+ rowContainerPadding?: number;
7164
+ /**
7165
+ * The innter gap for glyphs arranged in a grid like fashion, like the tunings and chord diagrams.
7166
+ */
7167
+ rowContainerGap?: number;
7168
+ /**
7169
+ * The padding used for aligning the alternate ending brackets and texts.
7170
+ */
7171
+ alternateEndingsPadding?: number;
7172
+ /**
7173
+ * The padding between the sustain pedal glyphs and lines.
7174
+ */
7175
+ sustainPedalLinePadding?: number;
7176
+ /**
7177
+ * The height of ties.
7178
+ */
7179
+ tieHeight?: number;
7180
+ /**
7181
+ * The padding between the border and text of beat timers.
7182
+ */
7183
+ beatTimerPadding?: number;
7184
+ /**
7185
+ * The additional padding applied to helper note heads shown on bends.
7186
+ */
7187
+ bendNoteHeadElementPadding?: number;
7188
+ /**
7189
+ * The width of the parenthesis shown on ghost notes and free time time signatures.
7190
+ */
7191
+ ghostParenthesisWidth?: number;
7192
+ /**
7193
+ * The padding between the parenthesis and wrapped elements on ghost notes and free time time signatures
7194
+ */
7195
+ ghostParenthesisPadding?: number;
7196
+ /**
7197
+ * The width of broken beams e.g. when combining a 32nd and 16th note
7198
+ */
7199
+ brokenBeamWidth?: number;
7200
+ /**
7201
+ * The padding between the text and whammy lines.
7202
+ */
7203
+ tabWhammyTextPadding?: number;
7204
+ /**
7205
+ * The height applied per half-note whammy.
7206
+ */
7207
+ tabWhammyPerHalfHeight?: number;
7208
+ /**
7209
+ * The size of the dashes on whammys (e.g. on holds)
7210
+ */
7211
+ tabWhammyDashSize?: number;
7212
+ /**
7213
+ * The height of simple dip whammys when using the songbook mode.
7214
+ */
7215
+ songBookWhammyDipHeight?: number;
7216
+ /**
7217
+ * The width of the lines drawn for dead slapped beats.
7218
+ */
7219
+ deadSlappedLineWidth?: number;
7220
+ /**
7221
+ * The width of ties drawn for left-hand-tapped notes.
7222
+ */
7223
+ leftHandTabTieWidth?: number;
7224
+ /**
7225
+ * The size of the dashes on bends (e.g. on holds)
7226
+ */
7227
+ tabBendDashSize?: number;
7228
+ /**
7229
+ * The height applied per quarter-note.
7230
+ */
7231
+ tabBendPerValueHeight?: number;
7232
+ /**
7233
+ * The padding applied between the line and text of bends.
7234
+ */
7235
+ tabBendLabelPadding?: number;
7236
+ /**
7237
+ * The width of simple slides like slide out down which do slide to a defined target note.
7238
+ */
7239
+ simpleSlideWidth?: number;
7240
+ /**
7241
+ * The height of simple slides like slide out down which do slide to a defined target note.
7242
+ */
7243
+ simpleSlideHeight?: number;
7244
+ /**
7245
+ * The horizontal padding applied to individual chord diagrams.
7246
+ */
7247
+ chordDiagramPaddingX?: number;
7248
+ /**
7249
+ * The vertical padding applied to individual chord diagrams.
7250
+ */
7251
+ chordDiagramPaddingY?: number;
7252
+ /**
7253
+ * The spacing between strings on chord diagrams.
7254
+ */
7255
+ chordDiagramStringSpacing?: number;
7256
+ /**
7257
+ * The spacing between frets on chord diagrams.
7258
+ */
7259
+ chordDiagramFretSpacing?: number;
7260
+ /**
7261
+ * The height of the nut on chord diagrams..
7262
+ */
7263
+ chordDiagramNutHeight?: number;
7264
+ /**
7265
+ * The height of the individual fret lines.
7266
+ */
7267
+ chordDiagramFretHeight?: number;
7268
+ /**
7269
+ * The width of all other lines drawn on chord diagrams.
7270
+ */
7271
+ chordDiagramLineWidth?: number;
7272
+ /**
7273
+ * The padding between the bracket lines and numbers of tuplets
7274
+ */
7275
+ tripletFeelBracketPadding?: number;
7276
+ /**
7277
+ * The horizontal padding between individual accidentals when multiple ones are applied.
7278
+ */
7279
+ accidentalPadding?: number;
7280
+ /**
7281
+ * The padding between glyphs shown before any beats e.g. clefs and time signatures
7282
+ */
7283
+ preBeatGlyphSpacing?: number;
7284
+ /**
7285
+ * The relative scale of the note drawn on tempo markers
7286
+ */
7287
+ tempoNoteScale?: number;
7288
+ /**
7289
+ * The scale of string numbers shown on tuning glyphs.
7290
+ */
7291
+ tuningGlyphCircleNumberScale?: number;
7292
+ /**
7293
+ * The scale factor applied to the width of the columns of string on tuning glyphs.
7294
+ */
7295
+ tuningGlyphStringColumnScale?: number;
7296
+ /**
7297
+ * The padding between rows of strings on tuning glyphs.
7298
+ */
7299
+ tuningGlyphStringRowPadding?: number;
7300
+ /**
7301
+ * The relative scale of any directions glyphs drawn like coda or segno.
7302
+ */
7303
+ directionsScale?: number;
7304
+ }
7305
+
7306
+ /**
7307
+ * @json
7308
+ * @json_declaration
7309
+ */
7310
+ export declare class EngravingStemInfo {
7311
+ /**
7312
+ * The top Y coordinate where the stem should start/end.
7313
+ */
7314
+ topY: number;
7315
+ /**
7316
+ * The bottom Y coordinate where the stem should start/end.
7317
+ */
7318
+ bottomY: number;
7319
+ /**
7320
+ * The x-coordinate of the stem.
7321
+ */
7322
+ x: number;
7323
+ }
7324
+
7325
+ /**
7326
+ * @json
7327
+ * @json_declaration
7328
+ * @target web
7329
+ */
7330
+ declare interface EngravingStemInfoJson {
7331
+ /**
7332
+ * The top Y coordinate where the stem should start/end.
7333
+ */
7334
+ topY?: number;
7335
+ /**
7336
+ * The bottom Y coordinate where the stem should start/end.
7337
+ */
7338
+ bottomY?: number;
7339
+ /**
7340
+ * The x-coordinate of the stem.
7341
+ */
7342
+ x?: number;
7343
+ }
7344
+
6503
7345
  /**
6504
7346
  * This public class represents the global alphaTab environment where
6505
7347
  * alphaTab looks for information like available layout engines
@@ -6517,7 +7359,6 @@ export declare class Environment {
6517
7359
  private static readonly StaffIdBeforeTabAlways;
6518
7360
  private static readonly StaffIdBeforeTabHideable;
6519
7361
  private static readonly StaffIdBeforeEndAlways;
6520
- /* Excluded from this release type: MusicFontSize */
6521
7362
  /* Excluded from this release type: HighDpiFactor */
6522
7363
  /**
6523
7364
  * @target web
@@ -6641,15 +7482,64 @@ export declare class Environment {
6641
7482
  */
6642
7483
  private static printPlatformInfo;
6643
7484
  /* Excluded from this release type: prepareForPostMessage */
7485
+ /* Excluded from this release type: quoteJsonString */
6644
7486
  }
6645
7487
 
6646
7488
  export declare namespace exporter {
6647
7489
  export {
6648
- ScoreExporter,
6649
- Gp7Exporter
7490
+ AlphaTexExporter,
7491
+ Gp7Exporter,
7492
+ ScoreExporter
6650
7493
  }
6651
7494
  }
6652
7495
 
7496
+ /**
7497
+ * All settings related to exporters that encode file formats.
7498
+ * @json
7499
+ * @json_declaration
7500
+ */
7501
+ export declare class ExporterSettings {
7502
+ /**
7503
+ * How many characters should be indented on formatted outputs. If set to negative values
7504
+ * formatted outputs are disabled.
7505
+ * @since 1.7.0
7506
+ * @defaultValue `2`
7507
+ * @category Exporter
7508
+ */
7509
+ indent: number;
7510
+ /**
7511
+ * Whether to write extended comments into the exported file (e.g. to in alphaTex to mark where certain metadata or bars starts)
7512
+ * @since 1.7.0
7513
+ * @defaultValue `false`
7514
+ * @category Exporter
7515
+ */
7516
+ comments: boolean;
7517
+ }
7518
+
7519
+ /**
7520
+ * All settings related to exporters that encode file formats.
7521
+ * @json
7522
+ * @json_declaration
7523
+ * @target web
7524
+ */
7525
+ declare interface ExporterSettingsJson {
7526
+ /**
7527
+ * How many characters should be indented on formatted outputs. If set to negative values
7528
+ * formatted outputs are disabled.
7529
+ * @since 1.7.0
7530
+ * @defaultValue `2`
7531
+ * @category Exporter
7532
+ */
7533
+ indent?: number;
7534
+ /**
7535
+ * Whether to write extended comments into the exported file (e.g. to in alphaTex to mark where certain metadata or bars starts)
7536
+ * @since 1.7.0
7537
+ * @defaultValue `false`
7538
+ * @category Exporter
7539
+ */
7540
+ comments?: boolean;
7541
+ }
7542
+
6653
7543
  /**
6654
7544
  * Lists the different fade types.
6655
7545
  */
@@ -6927,11 +7817,10 @@ declare class FontSizeDefinition {
6927
7817
  */
6928
7818
  characterWidths: Uint8Array;
6929
7819
  /**
6930
- * A factor to translate a given font size to an actual text height.
6931
- * This is not precise but just an estimation for reserving spaces.
7820
+ * The heights of each character starting with the ascii code 0x20 at index 0.
6932
7821
  */
6933
- fontSizeToHeight: number;
6934
- constructor(characterWidths: Uint8Array, fontSizeToHeight: number);
7822
+ characterHeights: Uint8Array;
7823
+ constructor(characterWidths: Uint8Array, characterHeights: Uint8Array);
6935
7824
  }
6936
7825
 
6937
7826
  /**
@@ -6995,8 +7884,9 @@ declare class Glyph {
6995
7884
  height: number;
6996
7885
  renderer: BarRendererBase;
6997
7886
  constructor(x: number, y: number);
7887
+ getBoundingBoxTop(): number;
6998
7888
  doLayout(): void;
6999
- paint(cx: number, cy: number, canvas: ICanvas): void;
7889
+ paint(_cx: number, _cy: number, _canvas: ICanvas): void;
7000
7890
  }
7001
7891
 
7002
7892
  /**
@@ -7004,8 +7894,9 @@ declare class Glyph {
7004
7894
  * drawn at the same x position
7005
7895
  */
7006
7896
  declare class GlyphGroup extends Glyph {
7007
- protected glyphs: Glyph[] | null;
7897
+ glyphs: Glyph[] | null;
7008
7898
  get isEmpty(): boolean;
7899
+ getBoundingBoxTop(): number;
7009
7900
  doLayout(): void;
7010
7901
  addGlyph(g: Glyph): void;
7011
7902
  paint(cx: number, cy: number, canvas: ICanvas): void;
@@ -8166,12 +9057,12 @@ declare class InstrumentArticulation {
8166
9057
  /**
8167
9058
  * Gets or sets where the technique symbol should be placed.
8168
9059
  */
8169
- techniqueSymbolPlacement: TextBaseline;
9060
+ techniqueSymbolPlacement: TechniqueSymbolPlacement;
8170
9061
  /**
8171
9062
  * Gets or sets which midi key to use when playing the note.
8172
9063
  */
8173
9064
  outputMidiNumber: number;
8174
- constructor(elementType?: string, staffLine?: number, outputMidiNumber?: number, noteHeadDefault?: MusicFontSymbol, noteHeadHalf?: MusicFontSymbol, noteHeadWhole?: MusicFontSymbol, techniqueSymbol?: MusicFontSymbol, techniqueSymbolPlacement?: TextBaseline);
9065
+ constructor(elementType?: string, staffLine?: number, outputMidiNumber?: number, noteHeadDefault?: MusicFontSymbol, noteHeadHalf?: MusicFontSymbol, noteHeadWhole?: MusicFontSymbol, techniqueSymbol?: MusicFontSymbol, techniqueSymbolPlacement?: TechniqueSymbolPlacement);
8175
9066
  getSymbol(duration: Duration): MusicFontSymbol;
8176
9067
  }
8177
9068
 
@@ -8231,6 +9122,9 @@ declare class IOHelper {
8231
9122
  static writeInt16LE(o: IWriteable, v: number): void;
8232
9123
  static writeInt16BE(o: IWriteable, v: number): void;
8233
9124
  static writeFloat32BE(o: IWriteable, v: number): void;
9125
+ static iterateCodepoints(input: string): Generator<number, void, unknown>;
9126
+ static isLeadingSurrogate(charCode: number): boolean;
9127
+ static isTrailingSurrogate(charCode: number): boolean;
8234
9128
  }
8235
9129
 
8236
9130
  /**
@@ -8701,6 +9595,9 @@ export declare namespace json {
8701
9595
  CoreSettingsJson,
8702
9596
  RenderingResourcesJson,
8703
9597
  DisplaySettingsJson,
9598
+ EngravingStemInfoJson,
9599
+ EngravingSettingsJson,
9600
+ ExporterSettingsJson,
8704
9601
  ImporterSettingsJson,
8705
9602
  NotationSettingsJson,
8706
9603
  VibratoPlaybackSettingsJson,
@@ -9206,10 +10103,9 @@ declare class MasterBarBounds {
9206
10103
  /**
9207
10104
  * Tries to find a beat at the given location.
9208
10105
  * @param x The absolute X position where the beat spans across.
9209
- * @param y The absolute Y position where the beat spans across.
9210
10106
  * @returns The beat that spans across the given point, or null if none of the contained bars had a beat at this position.
9211
10107
  */
9212
- findBeatAtPos(x: number, y: number): Beat | null;
10108
+ findBeatAtPos(x: number): Beat | null;
9213
10109
  /**
9214
10110
  * Finishes the lookup object and optimizes itself for fast access.
9215
10111
  */
@@ -10083,11 +10979,22 @@ declare enum MusicFontSymbol {
10083
10979
  BracketBottom = 57348,
10084
10980
  SystemDivider = 57351,
10085
10981
  GClef = 57424,
10982
+ GClef15mb = 57425,
10983
+ GClef8vb = 57426,
10984
+ GClef8va = 57427,
10985
+ GClef15ma = 57428,
10086
10986
  CClef = 57436,
10987
+ CClef8vb = 57437,
10087
10988
  FClef = 57442,
10989
+ FClef15mb = 57443,
10990
+ FClef8vb = 57444,
10991
+ FClef8va = 57445,
10992
+ FClef15ma = 57446,
10088
10993
  UnpitchedPercussionClef1 = 57449,
10089
10994
  SixStringTabClef = 57453,
10090
10995
  FourStringTabClef = 57454,
10996
+ Clef8 = 57469,
10997
+ Clef15 = 57470,
10091
10998
  TimeSig0 = 57472,
10092
10999
  TimeSig1 = 57473,
10093
11000
  TimeSig2 = 57474,
@@ -10154,7 +11061,7 @@ declare enum MusicFontSymbol {
10154
11061
  NoteheadCircleSlash = 57591,
10155
11062
  NoteheadHeavyX = 57592,
10156
11063
  NoteheadHeavyXHat = 57593,
10157
- NoteheadSlashVerticalEnds = 57600,
11064
+ NoteheadSlashHorizontalEnds = 57601,
10158
11065
  NoteheadSlashWhiteWhole = 57602,
10159
11066
  NoteheadSlashWhiteHalf = 57603,
10160
11067
  NoteheadRoundWhiteWithDot = 57621,
@@ -10181,7 +11088,13 @@ declare enum MusicFontSymbol {
10181
11088
  NoteShapeTriangleRoundWhite = 57790,
10182
11089
  NoteShapeTriangleRoundBlack = 57791,
10183
11090
  NoteQuarterUp = 57813,
10184
- NoteEighthUp = 57815,
11091
+ Note8thUp = 57815,
11092
+ MetNoteQuarterUp = 60581,
11093
+ MetNote8thUp = 60583,
11094
+ MetAugmentationDot = 60599,
11095
+ ArrowheadBlackUp = 60280,
11096
+ ArrowheadBlackDown = 60284,
11097
+ AugmentationDot = 57831,
10185
11098
  TextBlackNoteLongStem = 57841,
10186
11099
  TextBlackNoteFrac8thLongStem = 57843,
10187
11100
  TextBlackNoteFrac16thLongStem = 57845,
@@ -10196,26 +11109,27 @@ declare enum MusicFontSymbol {
10196
11109
  Tremolo3 = 57890,
10197
11110
  Tremolo2 = 57889,
10198
11111
  Tremolo1 = 57888,
10199
- FlagEighthUp = 57920,
10200
- FlagEighthDown = 57921,
10201
- FlagSixteenthUp = 57922,
10202
- FlagSixteenthDown = 57923,
10203
- FlagThirtySecondUp = 57924,
10204
- FlagThirtySecondDown = 57925,
10205
- FlagSixtyFourthUp = 57926,
10206
- FlagSixtyFourthDown = 57927,
10207
- FlagOneHundredTwentyEighthUp = 57928,
10208
- FlagOneHundredTwentyEighthDown = 57929,
10209
- FlagTwoHundredFiftySixthUp = 57930,
10210
- FlagTwoHundredFiftySixthDown = 57931,
11112
+ Flag8thUp = 57920,
11113
+ Flag8thDown = 57921,
11114
+ Flag16thUp = 57922,
11115
+ Flag16thDown = 57923,
11116
+ Flag32ndUp = 57924,
11117
+ Flag32ndDown = 57925,
11118
+ Flag64thUp = 57926,
11119
+ Flag64thDown = 57927,
11120
+ Flag128thUp = 57928,
11121
+ Flag128thDown = 57929,
11122
+ Flag256thUp = 57930,
11123
+ Flag256thDown = 57931,
10211
11124
  AccidentalFlat = 57952,
10212
11125
  AccidentalNatural = 57953,
10213
11126
  AccidentalSharp = 57954,
10214
11127
  AccidentalDoubleSharp = 57955,
10215
11128
  AccidentalDoubleFlat = 57956,
10216
11129
  AccidentalQuarterToneFlatArrowUp = 57968,
10217
- AccidentalQuarterToneSharpArrowUp = 57972,
10218
- AccidentalQuarterToneNaturalArrowUp = 57970,
11130
+ AccidentalQuarterToneSharpNaturalArrowUp = 57970,
11131
+ AccidentalThreeQuarterTonesSharpArrowUp = 57972,
11132
+ RepeatDot = 57412,
10219
11133
  Segno = 57415,
10220
11134
  Coda = 57416,
10221
11135
  ArticAccentAbove = 58528,
@@ -10234,12 +11148,12 @@ declare enum MusicFontSymbol {
10234
11148
  RestWhole = 58595,
10235
11149
  RestHalf = 58596,
10236
11150
  RestQuarter = 58597,
10237
- RestEighth = 58598,
10238
- RestSixteenth = 58599,
10239
- RestThirtySecond = 58600,
10240
- RestSixtyFourth = 58601,
10241
- RestOneHundredTwentyEighth = 58602,
10242
- RestTwoHundredFiftySixth = 58603,
11151
+ Rest8th = 58598,
11152
+ Rest16th = 58599,
11153
+ Rest32nd = 58600,
11154
+ Rest64th = 58601,
11155
+ Rest128th = 58602,
11156
+ Rest256th = 58603,
10243
11157
  RestHBarLeft = 58607,
10244
11158
  RestHBarMiddle = 58608,
10245
11159
  RestHBarRight = 58609,
@@ -10276,6 +11190,9 @@ declare enum MusicFontSymbol {
10276
11190
  DynamicRinforzando1 = 58684,
10277
11191
  DynamicRinforzando2 = 58685,
10278
11192
  DynamicForzando = 58677,
11193
+ DynamicCrescendoHairpin = 58686,
11194
+ GraceNoteSlashStemUp = 58724,
11195
+ GraceNoteSlashStemDown = 58725,
10279
11196
  OrnamentTrill = 58726,
10280
11197
  OrnamentTurn = 58727,
10281
11198
  OrnamentTurnInverted = 58728,
@@ -10302,12 +11219,41 @@ declare enum MusicFontSymbol {
10302
11219
  GuitarFadeIn = 59459,
10303
11220
  GuitarFadeOut = 59460,
10304
11221
  GuitarVolumeSwell = 59461,
11222
+ FretboardFilledCircle = 59480,
10305
11223
  FretboardX = 59481,
10306
11224
  FretboardO = 59482,
11225
+ Tuplet0 = 59520,
11226
+ Tuplet1 = 59521,
11227
+ Tuplet2 = 59522,
11228
+ Tuplet3 = 59523,
11229
+ Tuplet4 = 59524,
11230
+ Tuplet5 = 59525,
11231
+ Tuplet6 = 59526,
11232
+ Tuplet7 = 59527,
11233
+ Tuplet8 = 59528,
11234
+ Tuplet9 = 59529,
11235
+ TupletColon = 59530,
10307
11236
  WiggleTrill = 60068,
11237
+ GuitarVibratoStroke = 60082,
11238
+ GuitarWideVibratoStroke = 60083,
10308
11239
  WiggleVibratoMediumFast = 60126,
11240
+ WiggleSawtoothNarrow = 60090,
11241
+ WiggleSawtooth = 60091,
10309
11242
  OctaveBaselineM = 60565,
10310
- OctaveBaselineB = 60563
11243
+ OctaveBaselineB = 60563,
11244
+ GuitarLeftHandTapping = 59456,
11245
+ Fingering0 = 60688,
11246
+ Fingering1 = 60689,
11247
+ Fingering2 = 60690,
11248
+ Fingering3 = 60691,
11249
+ Fingering4 = 60692,
11250
+ Fingering5 = 60693,
11251
+ FingeringPLower = 60695,
11252
+ FingeringTLower = 60696,
11253
+ FingeringILower = 60697,
11254
+ FingeringMLower = 60698,
11255
+ FingeringALower = 60699,
11256
+ FingeringCLower = 60700
10311
11257
  }
10312
11258
 
10313
11259
  /**
@@ -11442,7 +12388,7 @@ declare class NoteBendEvent extends MidiEvent {
11442
12388
  */
11443
12389
  value: number;
11444
12390
  constructor(track: number, tick: number, channel: number, noteKey: number, value: number);
11445
- writeTo(s: IWriteable): void;
12391
+ writeTo(_s: IWriteable): void;
11446
12392
  }
11447
12393
 
11448
12394
  /**
@@ -11627,7 +12573,15 @@ declare enum NoteYPosition {
11627
12573
  /**
11628
12574
  * Gets the note y-position on the bottom of the note stem or tab number.
11629
12575
  */
11630
- BottomWithStem = 4
12576
+ BottomWithStem = 4,
12577
+ /**
12578
+ * The position where the upwards stem should be placed.
12579
+ */
12580
+ StemUp = 5,
12581
+ /**
12582
+ * The position where the downwards stem should be placed.
12583
+ */
12584
+ StemDown = 6
11631
12585
  }
11632
12586
 
11633
12587
  /**
@@ -12600,7 +13554,13 @@ export declare namespace rendering {
12600
13554
  export declare class RenderingResources {
12601
13555
  private static sansFont;
12602
13556
  private static serifFont;
12603
- /* Excluded from this release type: smuflFont */
13557
+ /* Excluded from this release type: smuflFontFamilyName */
13558
+ /**
13559
+ * The SMuFL Metrics to use for rendering music symbols.
13560
+ * @defaultValue `alphaTab`
13561
+ * @since 1.7.0
13562
+ */
13563
+ engravingSettings: EngravingSettings;
12604
13564
  /**
12605
13565
  * The font to use for displaying the songs copyright information in the header of the music sheet.
12606
13566
  * @defaultValue `bold 12px Arial, sans-serif`
@@ -12701,12 +13661,14 @@ export declare class RenderingResources {
12701
13661
  * The font to use for displaying finger information in the music sheet.
12702
13662
  * @defaultValue `14px Georgia, serif`
12703
13663
  * @since 0.9.6
13664
+ * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
12704
13665
  */
12705
13666
  fingeringFont: Font;
12706
13667
  /**
12707
13668
  * The font to use for displaying finger information when inline into the music sheet.
12708
13669
  * @defaultValue `12px Georgia, serif`
12709
13670
  * @since 1.4.0
13671
+ * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
12710
13672
  */
12711
13673
  inlineFingeringFont: Font;
12712
13674
  /**
@@ -12743,7 +13705,13 @@ export declare class RenderingResources {
12743
13705
  * @target web
12744
13706
  */
12745
13707
  declare interface RenderingResourcesJson {
12746
- /* Excluded from this release type: smuflFont */
13708
+ /* Excluded from this release type: smuflFontFamilyName */
13709
+ /**
13710
+ * The SMuFL Metrics to use for rendering music symbols.
13711
+ * @defaultValue `alphaTab`
13712
+ * @since 1.7.0
13713
+ */
13714
+ engravingSettings?: EngravingSettingsJson;
12747
13715
  /**
12748
13716
  * The font to use for displaying the songs copyright information in the header of the music sheet.
12749
13717
  * @defaultValue `bold 12px Arial, sans-serif`
@@ -12844,12 +13812,14 @@ declare interface RenderingResourcesJson {
12844
13812
  * The font to use for displaying finger information in the music sheet.
12845
13813
  * @defaultValue `14px Georgia, serif`
12846
13814
  * @since 0.9.6
13815
+ * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
12847
13816
  */
12848
13817
  fingeringFont?: FontJson;
12849
13818
  /**
12850
13819
  * The font to use for displaying finger information when inline into the music sheet.
12851
13820
  * @defaultValue `12px Georgia, serif`
12852
13821
  * @since 1.4.0
13822
+ * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
12853
13823
  */
12854
13824
  inlineFingeringFont?: FontJson;
12855
13825
  /**
@@ -13079,7 +14049,6 @@ export declare class ResizeEventArgs {
13079
14049
  }
13080
14050
 
13081
14051
  declare class RowContainerGlyph extends GlyphGroup {
13082
- private static readonly Padding;
13083
14052
  private _rows;
13084
14053
  private _align;
13085
14054
  constructor(x: number, y: number, align?: TextAlign);
@@ -13501,6 +14470,11 @@ export declare class Settings {
13501
14470
  * @json_partial_names
13502
14471
  */
13503
14472
  readonly player: PlayerSettings;
14473
+ /**
14474
+ * All settings related to exporter that export file formats.
14475
+ * @json_partial_names
14476
+ */
14477
+ readonly exporter: ExporterSettings;
13504
14478
  setSongBookModeSettings(): void;
13505
14479
  static get songBook(): Settings;
13506
14480
  /**
@@ -13545,6 +14519,11 @@ declare interface SettingsJson {
13545
14519
  * @json_partial_names
13546
14520
  */
13547
14521
  player?: PlayerSettingsJson;
14522
+ /**
14523
+ * All settings related to exporter that export file formats.
14524
+ * @json_partial_names
14525
+ */
14526
+ exporter?: ExporterSettingsJson;
13548
14527
  }
13549
14528
 
13550
14529
  /**
@@ -13684,6 +14663,90 @@ declare interface SlidePlaybackSettingsJson {
13684
14663
  shiftSlideDurationRatio?: number;
13685
14664
  }
13686
14665
 
14666
+ /**
14667
+ * https://w3c.github.io/smufl/latest/specification/engravingdefaults.html
14668
+ * @record
14669
+ */
14670
+ export declare interface SmuflEngravingDefaults {
14671
+ arrowShaftThickness: number;
14672
+ barlineSeparation: number;
14673
+ beamSpacing: number;
14674
+ beamThickness: number;
14675
+ bracketThickness: number;
14676
+ dashedBarlineDashLength: number;
14677
+ dashedBarlineGapLength: number;
14678
+ dashedBarlineThickness: number;
14679
+ hairpinThickness: number;
14680
+ legerLineExtension: number;
14681
+ legerLineThickness: number;
14682
+ lyricLineThickness: number;
14683
+ octaveLineThickness: number;
14684
+ pedalLineThickness: number;
14685
+ repeatBarlineDotSeparation: number;
14686
+ repeatEndingLineThickness: number;
14687
+ slurEndpointThickness: number;
14688
+ slurMidpointThickness: number;
14689
+ staffLineThickness: number;
14690
+ stemThickness: number;
14691
+ subBracketThickness: number;
14692
+ textEnclosureThickness: number;
14693
+ thickBarlineThickness: number;
14694
+ thinBarlineThickness: number;
14695
+ thinThickBarlineSeparation?: number;
14696
+ tieEndpointThickness: number;
14697
+ tieMidpointThickness: number;
14698
+ tupletBracketThickness: number;
14699
+ }
14700
+
14701
+ /**
14702
+ * https://w3c.github.io/smufl/latest/specification/glyphbboxes.html
14703
+ * @record
14704
+ */
14705
+ export declare interface SmuflGlyphBoundingBox {
14706
+ bBoxNE: [number, number];
14707
+ bBoxSW: [number, number];
14708
+ }
14709
+
14710
+ /**
14711
+ * https://w3c.github.io/smufl/latest/specification/glyphswithanchors.html#glyphswithanchors
14712
+ * @record
14713
+ */
14714
+ export declare interface SmuflGlyphWithAnchor {
14715
+ splitStemUpSE?: [number, number];
14716
+ splitStemUpSW?: [number, number];
14717
+ splitStemDownNE?: [number, number];
14718
+ splitStemDownNW?: [number, number];
14719
+ stemUpSE?: [number, number];
14720
+ stemDownNW?: [number, number];
14721
+ stemUpNW?: [number, number];
14722
+ stemDownSW?: [number, number];
14723
+ nominalWidth?: [number, number];
14724
+ numeralTop?: [number, number];
14725
+ numeralBottom?: [number, number];
14726
+ cutOutNE?: [number, number];
14727
+ cutOutSE?: [number, number];
14728
+ cutOutSW?: [number, number];
14729
+ cutOutNW?: [number, number];
14730
+ graceNoteSlashSW?: [number, number];
14731
+ graceNoteSlashNE?: [number, number];
14732
+ graceNoteSlashNW?: [number, number];
14733
+ graceNoteSlashSE?: [number, number];
14734
+ repeatOffset?: [number, number];
14735
+ noteheadOrigin?: [number, number];
14736
+ opticalCenter?: [number, number];
14737
+ }
14738
+
14739
+ /**
14740
+ * The SmuFL Metadata object describing the structure needed by alphaTab.
14741
+ * https://w3c.github.io/smufl/latest/specification/font-specific-metadata.html
14742
+ * @record
14743
+ */
14744
+ export declare interface SmuflMetadata {
14745
+ engravingDefaults: SmuflEngravingDefaults;
14746
+ glyphBBoxes?: Record<string, SmuflGlyphBoundingBox>;
14747
+ glyphsWithAnchors: Record<string, SmuflGlyphWithAnchor>;
14748
+ }
14749
+
13687
14750
  declare class Spring {
13688
14751
  timePosition: number;
13689
14752
  longestDuration: number;
@@ -13780,6 +14843,12 @@ declare class Staff {
13780
14843
  * For some percussion instruments this number might vary.
13781
14844
  */
13782
14845
  standardNotationLineCount: number;
14846
+ private _filledVoices;
14847
+ /**
14848
+ * The indexes of the non-empty voices in this staff..
14849
+ * @json_ignore
14850
+ */
14851
+ get filledVoices(): Set<number>;
13783
14852
  finish(settings: Settings, sharedDataBag?: Map<string, unknown> | null): void;
13784
14853
  addChord(chordId: string, chord: Chord): void;
13785
14854
  hasChord(chordId: string): boolean;
@@ -13837,9 +14906,6 @@ declare class StaffSystem {
13837
14906
  scaleToWidth(width: number): void;
13838
14907
  paint(cx: number, cy: number, canvas: ICanvas): void;
13839
14908
  paintPartial(cx: number, cy: number, canvas: ICanvas, startIndex: number, count: number): void;
13840
- private static readonly SystemSignSeparatorHeight;
13841
- private static readonly SystemSignSeparatorPadding;
13842
- private static readonly SystemSignSeparatorWidth;
13843
14909
  finalizeSystem(): void;
13844
14910
  buildBoundingsLookup(cx: number, cy: number): void;
13845
14911
  getBarX(index: number): number;
@@ -14093,7 +15159,7 @@ declare abstract class SystemBracket {
14093
15159
  width: number;
14094
15160
  index: number;
14095
15161
  abstract includesStaff(s: RenderStaff): boolean;
14096
- finalizeBracket(): void;
15162
+ finalizeBracket(smuflMetrics: EngravingSettings): void;
14097
15163
  }
14098
15164
 
14099
15165
  /**
@@ -14165,6 +15231,28 @@ export declare enum TabRhythmMode {
14165
15231
  Automatic = 3
14166
15232
  }
14167
15233
 
15234
+ /**
15235
+ * This public enum lists all base line modes
15236
+ */
15237
+ declare enum TechniqueSymbolPlacement {
15238
+ /**
15239
+ * Symbol is shown above
15240
+ */
15241
+ Above = 0,
15242
+ /**
15243
+ * Symbol is shown inside.
15244
+ */
15245
+ Inside = 1,
15246
+ /**
15247
+ * Symbol is shown below.
15248
+ */
15249
+ Below = 2,
15250
+ /**
15251
+ * Symbol is shown outside.
15252
+ */
15253
+ Outside = 3
15254
+ }
15255
+
14168
15256
  /**
14169
15257
  * Represents a change of the tempo in the song.
14170
15258
  */
@@ -14214,9 +15302,13 @@ declare enum TextBaseline {
14214
15302
  */
14215
15303
  Middle = 1,
14216
15304
  /**
14217
- * Text is aligend on the bottom.
15305
+ * Text is aligned on the bottom.
15306
+ */
15307
+ Bottom = 2,
15308
+ /**
15309
+ * Text is aligned on the alphabetic baseline.
14218
15310
  */
14219
- Bottom = 2
15311
+ Alphabetic = 3
14220
15312
  }
14221
15313
 
14222
15314
  declare class TextGlyph extends EffectGlyph {