@coderline/alphatab 1.8.0-alpha.1632 → 1.8.0-alpha.1637

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.
@@ -217,12 +217,19 @@ declare class AlphaSynthBase implements IAlphaSynth {
217
217
  declare class AlphaSynthMidiFileHandler implements IMidiFileHandler {
218
218
  private _midiFile;
219
219
  private _smf1Mode;
220
+ /**
221
+ * An indicator by how many midi-ticks the song contents are shifted.
222
+ * Grace beats at start might require a shift for the first beat to start at 0.
223
+ * This information can be used to translate back the player time axis to the music notation.
224
+ */
225
+ tickShift: number;
220
226
  /**
221
227
  * Initializes a new instance of the {@link AlphaSynthMidiFileHandler} class.
222
228
  * @param midiFile The midi file.
223
229
  * @param smf1Mode Whether to generate a SMF1 compatible midi file. This might break multi note bends.
224
230
  */
225
231
  constructor(midiFile: MidiFile, smf1Mode?: boolean);
232
+ addTickShift(tickShift: number): void;
226
233
  addTimeSignature(tick: number, timeSignatureNumerator: number, timeSignatureDenominator: number): void;
227
234
  addRest(track: number, tick: number, channel: number): void;
228
235
  addNote(track: number, start: number, length: number, key: number, velocity: number, channel: number): void;
@@ -356,6 +363,12 @@ export declare class AlphaTabApiBase<TSettings> {
356
363
  private _actualPlayerMode;
357
364
  private _player;
358
365
  private _renderer;
366
+ /**
367
+ * An indicator by how many midi-ticks the song contents are shifted.
368
+ * Grace beats at start might require a shift for the first beat to start at 0.
369
+ * This information can be used to translate back the player time axis to the music notation.
370
+ */
371
+ get midiTickShift(): number;
359
372
  /**
360
373
  * The actual player mode which is currently active.
361
374
  * @remarks
@@ -1732,8 +1745,8 @@ export declare class AlphaTabApiBase<TSettings> {
1732
1745
  private _onActiveBeatsChanged;
1733
1746
  private _isBeatMouseDown;
1734
1747
  private _isNoteMouseDown;
1735
- private _selectionStart;
1736
- private _selectionEnd;
1748
+ private _selectionStart?;
1749
+ private _selectionEnd?;
1737
1750
  /**
1738
1751
  * This event is fired whenever a the user presses the mouse button on a beat.
1739
1752
  * @eventProperty
@@ -1977,6 +1990,163 @@ export declare class AlphaTabApiBase<TSettings> {
1977
1990
  private _onNoteMouseUp;
1978
1991
  private _updateSelectionCursor;
1979
1992
  private _setupClickHandling;
1993
+ /**
1994
+ * Places the highlight markers at the specified start and end-beat range.
1995
+ * @param startBeat The start beat where the selection should start
1996
+ * @param endBeat The end beat where the selection should end.
1997
+ *
1998
+ * @remarks
1999
+ * Unlike actually setting {@link playbackRange} this method only places the selection markers without actually
2000
+ * changing the playback range. This method can be used when building custom selection systems (e.g. having draggable handles).
2001
+ *
2002
+ * @category Methods - Player
2003
+ * @since 1.8.0
2004
+ *
2005
+ * @example
2006
+ * JavaScript
2007
+ * ```js
2008
+ * const api = new alphaTab.AlphaTabApi(document.querySelector('#alphaTab'));
2009
+ * const startBeat = api.score.tracks[0].staves[0].bars[0].voices[0].beats[0];
2010
+ * const endBeat = api.score.tracks[0].staves[0].bars[3].voices[0].beats[0];
2011
+ * api.highlightPlaybackRange(startBeat, endBeat);
2012
+ * ```
2013
+ *
2014
+ * @example
2015
+ * C#
2016
+ * ```cs
2017
+ * var api = new AlphaTabApi<MyControl>(...);
2018
+ * api.ChangeTrackVolume(new Track[] { api.Score.Tracks[0], api.Score.Tracks[1] }, 1.5);
2019
+ * api.ChangeTrackVolume(new Track[] { api.Score.Tracks[2] }, 0.5);
2020
+ * var startBeat = api.Score.Tracks[0].Staves[0].Bars[0].Voices[0].Beats[0];
2021
+ * var endBeat = api.Score.Tracks[0].Staves[0].Bars[3].Voices[0].Beats[0];
2022
+ * api.HighlightPlaybackRange(startBeat, endBeat);
2023
+ * ```
2024
+ *
2025
+ * @example
2026
+ * Android
2027
+ * ```kotlin
2028
+ * val api = AlphaTabApi<MyControl>(...)
2029
+ * val startBeat = api.score.tracks[0].staves[0].bars[0].voices[0].beats[0]
2030
+ * val endBeat = api.score.tracks[0].staves[0].bars[3].voices[0].beats[0]
2031
+ * api.highlightPlaybackRange(startBeat, endBeat)
2032
+ * ```
2033
+ */
2034
+ highlightPlaybackRange(startBeat: Beat, endBeat: Beat): void;
2035
+ /**
2036
+ * Applies the playback range from the currently highlighted range.
2037
+ *
2038
+ * @remarks
2039
+ * This method can be used when building custom selection systems (e.g. having draggable handles).
2040
+ *
2041
+ * @category Methods - Player
2042
+ * @since 1.8.0
2043
+ *
2044
+ * @example
2045
+ * JavaScript
2046
+ * ```js
2047
+ * const api = new alphaTab.AlphaTabApi(document.querySelector('#alphaTab'));
2048
+ * const startBeat = api.score.tracks[0].staves[0].bars[0].voices[0].beats[0];
2049
+ * const endBeat = api.score.tracks[0].staves[0].bars[3].voices[0].beats[0];
2050
+ * api.highlightPlaybackRange(startBeat, endBeat);
2051
+ * api.applyPlaybackRangeFromHighlight();
2052
+ * ```
2053
+ *
2054
+ * @example
2055
+ * C#
2056
+ * ```cs
2057
+ * var api = new AlphaTabApi<MyControl>(...);
2058
+ * api.ChangeTrackVolume(new Track[] { api.Score.Tracks[0], api.Score.Tracks[1] }, 1.5);
2059
+ * api.ChangeTrackVolume(new Track[] { api.Score.Tracks[2] }, 0.5);
2060
+ * var startBeat = api.Score.Tracks[0].Staves[0].Bars[0].Voices[0].Beats[0];
2061
+ * var endBeat = api.Score.Tracks[0].Staves[0].Bars[3].Voices[0].Beats[0];
2062
+ * api.HighlightPlaybackRange(startBeat, endBeat);
2063
+ * api.ApplyPlaybackRangeFromHighlight();
2064
+ * ```
2065
+ *
2066
+ * @example
2067
+ * Android
2068
+ * ```kotlin
2069
+ * val api = AlphaTabApi<MyControl>(...)
2070
+ * val startBeat = api.score.tracks[0].staves[0].bars[0].voices[0].beats[0]
2071
+ * val endBeat = api.score.tracks[0].staves[0].bars[3].voices[0].beats[0]
2072
+ * api.highlightPlaybackRange(startBeat, endBeat)
2073
+ * api.applyPlaybackRangeFromHighlight()
2074
+ * ```
2075
+ */
2076
+ applyPlaybackRangeFromHighlight(): void;
2077
+ /**
2078
+ * Clears the highlight markers marking the currently selected playback range.
2079
+ *
2080
+ * @remarks
2081
+ * Unlike actually setting {@link playbackRange} this method only clears the selection markers without actually
2082
+ * changing the playback range. This method can be used when building custom selection systems (e.g. having draggable handles).
2083
+ *
2084
+ * @category Methods - Player
2085
+ * @since 1.8.0
2086
+ *
2087
+ * @example
2088
+ * JavaScript
2089
+ * ```js
2090
+ * const api = new alphaTab.AlphaTabApi(document.querySelector('#alphaTab'));
2091
+ * api.clearPlaybackRangeHighlight();
2092
+ * ```
2093
+ *
2094
+ * @example
2095
+ * C#
2096
+ * ```cs
2097
+ * var api = new AlphaTabApi<MyControl>(...);
2098
+ * api.clearPlaybackRangeHighlight();
2099
+ * ```
2100
+ *
2101
+ * @example
2102
+ * Android
2103
+ * ```kotlin
2104
+ * val api = AlphaTabApi<MyControl>(...)
2105
+ * api.clearPlaybackRangeHighlight()
2106
+ * ```
2107
+ */
2108
+ clearPlaybackRangeHighlight(): void;
2109
+ /**
2110
+ * This event is fired the shown highlights for the selected playback range changes.
2111
+ *
2112
+ * @remarks
2113
+ * This event is fired already during selection and not only when the selection is completed.
2114
+ * This event can be used to place additional custom selection markers (like drag handles).
2115
+ *
2116
+ * @eventProperty
2117
+ * @category Events - Player
2118
+ * @since 1.8.0
2119
+ *
2120
+ * @example
2121
+ * JavaScript
2122
+ * ```js
2123
+ * const api = new alphaTab.AlphaTabApi(document.querySelector('#alphaTab'));
2124
+ * api.playbackRangeHighlightChanged.on(e => {
2125
+ * updateSelectionHandles(e);
2126
+ * });
2127
+ * ```
2128
+ *
2129
+ * @example
2130
+ * C#
2131
+ * ```cs
2132
+ * var api = new AlphaTabApi<MyControl>(...);
2133
+ * api.PlaybackRangeHighlightChanged.On(e =>
2134
+ * {
2135
+ * UpdateSelectionHandles(e);
2136
+ * });
2137
+ * ```
2138
+ *
2139
+ * @example
2140
+ * Android
2141
+ * ```kotlin
2142
+ * val api = AlphaTabApi<MyControl>(...)
2143
+ * api.playbackRangeHighlightChanged.on { e ->
2144
+ * updateSelectionHandles(e)
2145
+ * }
2146
+ * ```
2147
+ *
2148
+ */
2149
+ readonly playbackRangeHighlightChanged: IEventEmitterOfT<PlaybackHighlightChangeEventArgs>;
1980
2150
  private _cursorSelectRange;
1981
2151
  /**
1982
2152
  * This event is fired whenever a new song is loaded.
@@ -3744,6 +3914,7 @@ declare class AlphaTexParser {
3744
3914
  private _beatMultiplier;
3745
3915
  private _noteList;
3746
3916
  private _note;
3917
+ private static readonly _allowValuesAfterProperties;
3747
3918
  private _metaData;
3748
3919
  private _properties;
3749
3920
  private _property;
@@ -5216,6 +5387,7 @@ declare class Bounds {
5216
5387
  */
5217
5388
  h: number;
5218
5389
  scaleWith(scale: number): void;
5390
+ constructor(x?: number, y?: number, w?: number, h?: number);
5219
5391
  }
5220
5392
 
5221
5393
  /**
@@ -6106,6 +6278,7 @@ export declare class DisplaySettings {
6106
6278
  * @remarks
6107
6279
  * AlphaTab has various stave profiles that define which staves will be shown in for the rendered tracks. Its recommended
6108
6280
  * to keep this on {@link StaveProfile.Default} and rather rely on the options available ob {@link Staff} level
6281
+ * @deprecated Set the notation visibility by modifying the {@link Staff} properties.
6109
6282
  */
6110
6283
  staveProfile: StaveProfile;
6111
6284
  /**
@@ -6221,7 +6394,7 @@ export declare class DisplaySettings {
6221
6394
  * The top padding applied to first system.
6222
6395
  * @since 1.4.0
6223
6396
  * @category Display
6224
- * @defaultValue `5`
6397
+ * @defaultValue `0`
6225
6398
  */
6226
6399
  firstSystemPaddingTop: number;
6227
6400
  /**
@@ -6235,14 +6408,14 @@ export declare class DisplaySettings {
6235
6408
  * The bottom padding applied to systems beside the last one.
6236
6409
  * @since 1.4.0
6237
6410
  * @category Display
6238
- * @defaultValue `20`
6411
+ * @defaultValue `10`
6239
6412
  */
6240
6413
  systemPaddingBottom: number;
6241
6414
  /**
6242
6415
  * The bottom padding applied to the last system.
6243
6416
  * @since 1.4.0
6244
6417
  * @category Display
6245
- * @defaultValue `0`
6418
+ * @defaultValue `5`
6246
6419
  */
6247
6420
  lastSystemPaddingBottom: number;
6248
6421
  /**
@@ -6267,17 +6440,31 @@ export declare class DisplaySettings {
6267
6440
  */
6268
6441
  accoladeBarPaddingRight: number;
6269
6442
  /**
6270
- * The bottom padding applied to main notation staves (standard, tabs, numbered, slash).
6443
+ * The top padding applied to the first main notation staff (standard, tabs, numbered, slash).
6444
+ * @since 1.8.0
6445
+ * @category Display
6446
+ * @defaultValue `0`
6447
+ */
6448
+ firstNotationStaffPaddingTop: number;
6449
+ /**
6450
+ * The bottom padding applied to last main notation staff (standard, tabs, numbered, slash).
6451
+ * @since 1.8.0
6452
+ * @category Display
6453
+ * @defaultValue `0`
6454
+ */
6455
+ lastNotationStaffPaddingBottom: number;
6456
+ /**
6457
+ * The top padding applied to main notation staves (standard, tabs, numbered, slash).
6271
6458
  * @since 1.4.0
6272
6459
  * @category Display
6273
- * @defaultValue `5`
6460
+ * @defaultValue `0`
6274
6461
  */
6275
6462
  notationStaffPaddingTop: number;
6276
6463
  /**
6277
6464
  * The bottom padding applied to main notation staves (standard, tabs, numbered, slash).
6278
6465
  * @since 1.4.0
6279
6466
  * @category Display
6280
- * @defaultValue `5`
6467
+ * @defaultValue `0`
6281
6468
  */
6282
6469
  notationStaffPaddingBottom: number;
6283
6470
  /**
@@ -6285,6 +6472,8 @@ export declare class DisplaySettings {
6285
6472
  * @since 1.4.0
6286
6473
  * @category Display
6287
6474
  * @defaultValue `0`
6475
+ * @deprecated Effect staves do not exist anymore, effects are now part of the main notation staves. This value has no effect anymore.
6476
+ * Use {@link effectBandPaddingBottom} to control the padding after effect bands.
6288
6477
  */
6289
6478
  effectStaffPaddingTop: number;
6290
6479
  /**
@@ -6292,6 +6481,8 @@ export declare class DisplaySettings {
6292
6481
  * @since 1.4.0
6293
6482
  * @category Display
6294
6483
  * @defaultValue `0`
6484
+ * @deprecated Effect staves do not exist anymore, effects are now part of the main notation staves. This value has no effect anymore.
6485
+ * Use {@link effectBandPaddingBottom} to control the padding after effect bands.
6295
6486
  */
6296
6487
  effectStaffPaddingBottom: number;
6297
6488
  /**
@@ -6315,6 +6506,13 @@ export declare class DisplaySettings {
6315
6506
  * @defaultValue `2`
6316
6507
  */
6317
6508
  effectBandPaddingBottom: number;
6509
+ /**
6510
+ * The additional padding to apply between the staves of two separate tracks.
6511
+ * @since 1.8.0
6512
+ * @category Display
6513
+ * @defaultValue `5`
6514
+ */
6515
+ trackStaffPaddingBetween: number;
6318
6516
  /**
6319
6517
  * The mode used to arrange staves and systems.
6320
6518
  * @since 1.3.0
@@ -6431,6 +6629,7 @@ declare interface DisplaySettingsJson {
6431
6629
  * @remarks
6432
6630
  * AlphaTab has various stave profiles that define which staves will be shown in for the rendered tracks. Its recommended
6433
6631
  * to keep this on {@link StaveProfile.Default} and rather rely on the options available ob {@link Staff} level
6632
+ * @deprecated Set the notation visibility by modifying the {@link Staff} properties.
6434
6633
  */
6435
6634
  staveProfile?: StaveProfile | keyof typeof StaveProfile | Lowercase<keyof typeof StaveProfile>;
6436
6635
  /**
@@ -6546,7 +6745,7 @@ declare interface DisplaySettingsJson {
6546
6745
  * The top padding applied to first system.
6547
6746
  * @since 1.4.0
6548
6747
  * @category Display
6549
- * @defaultValue `5`
6748
+ * @defaultValue `0`
6550
6749
  */
6551
6750
  firstSystemPaddingTop?: number;
6552
6751
  /**
@@ -6560,14 +6759,14 @@ declare interface DisplaySettingsJson {
6560
6759
  * The bottom padding applied to systems beside the last one.
6561
6760
  * @since 1.4.0
6562
6761
  * @category Display
6563
- * @defaultValue `20`
6762
+ * @defaultValue `10`
6564
6763
  */
6565
6764
  systemPaddingBottom?: number;
6566
6765
  /**
6567
6766
  * The bottom padding applied to the last system.
6568
6767
  * @since 1.4.0
6569
6768
  * @category Display
6570
- * @defaultValue `0`
6769
+ * @defaultValue `5`
6571
6770
  */
6572
6771
  lastSystemPaddingBottom?: number;
6573
6772
  /**
@@ -6592,17 +6791,31 @@ declare interface DisplaySettingsJson {
6592
6791
  */
6593
6792
  accoladeBarPaddingRight?: number;
6594
6793
  /**
6595
- * The bottom padding applied to main notation staves (standard, tabs, numbered, slash).
6794
+ * The top padding applied to the first main notation staff (standard, tabs, numbered, slash).
6795
+ * @since 1.8.0
6796
+ * @category Display
6797
+ * @defaultValue `0`
6798
+ */
6799
+ firstNotationStaffPaddingTop?: number;
6800
+ /**
6801
+ * The bottom padding applied to last main notation staff (standard, tabs, numbered, slash).
6802
+ * @since 1.8.0
6803
+ * @category Display
6804
+ * @defaultValue `0`
6805
+ */
6806
+ lastNotationStaffPaddingBottom?: number;
6807
+ /**
6808
+ * The top padding applied to main notation staves (standard, tabs, numbered, slash).
6596
6809
  * @since 1.4.0
6597
6810
  * @category Display
6598
- * @defaultValue `5`
6811
+ * @defaultValue `0`
6599
6812
  */
6600
6813
  notationStaffPaddingTop?: number;
6601
6814
  /**
6602
6815
  * The bottom padding applied to main notation staves (standard, tabs, numbered, slash).
6603
6816
  * @since 1.4.0
6604
6817
  * @category Display
6605
- * @defaultValue `5`
6818
+ * @defaultValue `0`
6606
6819
  */
6607
6820
  notationStaffPaddingBottom?: number;
6608
6821
  /**
@@ -6610,6 +6823,8 @@ declare interface DisplaySettingsJson {
6610
6823
  * @since 1.4.0
6611
6824
  * @category Display
6612
6825
  * @defaultValue `0`
6826
+ * @deprecated Effect staves do not exist anymore, effects are now part of the main notation staves. This value has no effect anymore.
6827
+ * Use {@link effectBandPaddingBottom} to control the padding after effect bands.
6613
6828
  */
6614
6829
  effectStaffPaddingTop?: number;
6615
6830
  /**
@@ -6617,6 +6832,8 @@ declare interface DisplaySettingsJson {
6617
6832
  * @since 1.4.0
6618
6833
  * @category Display
6619
6834
  * @defaultValue `0`
6835
+ * @deprecated Effect staves do not exist anymore, effects are now part of the main notation staves. This value has no effect anymore.
6836
+ * Use {@link effectBandPaddingBottom} to control the padding after effect bands.
6620
6837
  */
6621
6838
  effectStaffPaddingBottom?: number;
6622
6839
  /**
@@ -6640,6 +6857,13 @@ declare interface DisplaySettingsJson {
6640
6857
  * @defaultValue `2`
6641
6858
  */
6642
6859
  effectBandPaddingBottom?: number;
6860
+ /**
6861
+ * The additional padding to apply between the staves of two separate tracks.
6862
+ * @since 1.8.0
6863
+ * @category Display
6864
+ * @defaultValue `5`
6865
+ */
6866
+ trackStaffPaddingBetween?: number;
6643
6867
  /**
6644
6868
  * The mode used to arrange staves and systems.
6645
6869
  * @since 1.3.0
@@ -7193,6 +7417,11 @@ export declare class EngravingSettings {
7193
7417
  * The size of the dashes on bends (e.g. on holds)
7194
7418
  */
7195
7419
  tabBendDashSize: number;
7420
+ /**
7421
+ * The additional padding between the staff and the point
7422
+ * where bend values are calculated from.
7423
+ */
7424
+ tabBendStaffPadding: number;
7196
7425
  /**
7197
7426
  * The height applied per quarter-note.
7198
7427
  */
@@ -7580,6 +7809,11 @@ declare interface EngravingSettingsJson {
7580
7809
  * The size of the dashes on bends (e.g. on holds)
7581
7810
  */
7582
7811
  tabBendDashSize?: number;
7812
+ /**
7813
+ * The additional padding between the staff and the point
7814
+ * where bend values are calculated from.
7815
+ */
7816
+ tabBendStaffPadding?: number;
7583
7817
  /**
7584
7818
  * The height applied per quarter-note.
7585
7819
  */
@@ -7710,13 +7944,6 @@ declare interface EngravingStemInfoJson {
7710
7944
  * @public
7711
7945
  */
7712
7946
  export declare class Environment {
7713
- private static readonly _staffIdBeforeSlashAlways;
7714
- private static readonly _staffIdBeforeScoreAlways;
7715
- private static readonly _staffIdBeforeScoreHideable;
7716
- private static readonly _staffIdBeforeNumberedAlways;
7717
- private static readonly _staffIdBeforeTabAlways;
7718
- private static readonly _staffIdBeforeTabHideable;
7719
- private static readonly _staffIdBeforeEndAlways;
7720
7947
 
7721
7948
  /**
7722
7949
  * @target web
@@ -7800,7 +8027,7 @@ export declare class Environment {
7800
8027
  * @partial
7801
8028
  */
7802
8029
  private static _createPlatformSpecificRenderEngines;
7803
- private static _createDefaultRenderers;
8030
+
7804
8031
  private static _createDefaultStaveProfiles;
7805
8032
  private static _createDefaultLayoutEngines;
7806
8033
  /**
@@ -9051,6 +9278,12 @@ declare interface IMidiFileHandler {
9051
9278
  * @param tick The end tick for this track.
9052
9279
  */
9053
9280
  finishTrack(track: number, tick: number): void;
9281
+ /**
9282
+ * Registers a general shift of the time-axis for the generate midi file.
9283
+ * @param tickShift The shift in midi ticks by which all midi events beside the initial channel setups are shifted.
9284
+ * This shift is applied in case grace beats
9285
+ */
9286
+ addTickShift(tickShift: number): void;
9054
9287
  }
9055
9288
 
9056
9289
  /**
@@ -10608,6 +10841,12 @@ declare class MidiFile {
10608
10841
  * Gets or sets the division per quarter notes.
10609
10842
  */
10610
10843
  division: number;
10844
+ /**
10845
+ * An indicator by how many midi-ticks the song contents are shifted.
10846
+ * Grace beats at start might require a shift for the first beat to start at 0.
10847
+ * This information can be used to translate back the player time axis to the music notation.
10848
+ */
10849
+ tickShift: number;
10611
10850
  /**
10612
10851
  * Gets a list of midi events sorted by time.
10613
10852
  */
@@ -10690,6 +10929,7 @@ declare class MidiFileGenerator {
10690
10929
  * Starts the generation of the midi file.
10691
10930
  */
10692
10931
  generate(): void;
10932
+ private _detectTickShift;
10693
10933
  private _generateTrack;
10694
10934
  private _addProgramChange;
10695
10935
  private _addBankChange;
@@ -11562,7 +11802,11 @@ export declare enum NotationElement {
11562
11802
  /**
11563
11803
  * The absolute playback time of beats.
11564
11804
  */
11565
- EffectBeatTimer = 49
11805
+ EffectBeatTimer = 49,
11806
+ /**
11807
+ * The whammy bar line effect shown above the tab staff
11808
+ */
11809
+ EffectWhammyBarLine = 50
11566
11810
  }
11567
11811
 
11568
11812
  /**
@@ -11722,7 +11966,7 @@ export declare class NotationSettings {
11722
11966
  * Controls how high the ryhthm notation is rendered below the tab staff
11723
11967
  * @since 0.9.6
11724
11968
  * @category Notation
11725
- * @defaultValue `15`
11969
+ * @defaultValue `25`
11726
11970
  * @remarks
11727
11971
  * This setting can be used in combination with the {@link rhythmMode} setting to control how high the rhythm notation should be rendered below the tab staff.
11728
11972
  */
@@ -11935,7 +12179,7 @@ declare interface NotationSettingsJson {
11935
12179
  * Controls how high the ryhthm notation is rendered below the tab staff
11936
12180
  * @since 0.9.6
11937
12181
  * @category Notation
11938
- * @defaultValue `15`
12182
+ * @defaultValue `25`
11939
12183
  * @remarks
11940
12184
  * This setting can be used in combination with the {@link rhythmMode} setting to control how high the rhythm notation should be rendered below the tab staff.
11941
12185
  */
@@ -12717,6 +12961,35 @@ export declare namespace platform {
12717
12961
  }
12718
12962
  }
12719
12963
 
12964
+ /**
12965
+ * Holds information about the highlights shown for the playback range.
12966
+ * @public
12967
+ * @record
12968
+ */
12969
+ export declare interface PlaybackHighlightChangeEventArgs {
12970
+ /**
12971
+ * The beat where the selection starts. undefined if there is no selection.
12972
+ */
12973
+ startBeat?: Beat;
12974
+ /**
12975
+ * The bounds of the start beat to determine its location and size.
12976
+ */
12977
+ startBeatBounds?: BeatBounds;
12978
+ /**
12979
+ * The beat where the selection ends. undefined if there is no selection.
12980
+ */
12981
+ endBeat?: Beat;
12982
+ /**
12983
+ * The bounds of the end beat to determine its location and size.
12984
+ */
12985
+ endBeatBounds?: BeatBounds;
12986
+ /**
12987
+ * A list of the individual rectangular areas where highlight blocks are placed.
12988
+ * If a selection spans multiple lines this array will hold all items.
12989
+ */
12990
+ highlightBlocks?: Bounds[];
12991
+ }
12992
+
12720
12993
  /**
12721
12994
  * This public class stores the midi specific information of a track needed
12722
12995
  * for playback.
@@ -13981,6 +14254,10 @@ declare class RenderStylesheet {
13981
14254
  * If single track: Whether to render multiple subsequent empty (or rest-only) bars together as multi-bar rest.
13982
14255
  */
13983
14256
  perTrackMultiBarRest: Set<number> | null;
14257
+ /**
14258
+ * Whether barlines should be drawn across staves within the same system.
14259
+ */
14260
+ extendBarLines: boolean;
13984
14261
  }
13985
14262
 
13986
14263
  /**