@coderline/alphatab 1.8.0-alpha.1669 → 1.8.0-alpha.1671

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.
@@ -4452,6 +4452,12 @@ declare class Bar {
4452
4452
  * Gets or sets the type of key signature (major/minor)
4453
4453
  */
4454
4454
  keySignatureType: KeySignatureType;
4455
+ /**
4456
+ * How bar numbers should be displayed.
4457
+ * If specified, overrides the value from the stylesheet on score level.
4458
+ */
4459
+ barNumberDisplay?: BarNumberDisplay;
4460
+
4455
4461
  /**
4456
4462
  * The bar line to draw on the left side of the bar with an "automatic" type resolved to the actual one.
4457
4463
  * @param isFirstOfSystem Whether the bar is the first one in the system.
@@ -4536,6 +4542,25 @@ declare enum BarLineStyle {
4536
4542
  Tick = 11
4537
4543
  }
4538
4544
 
4545
+ /**
4546
+ * How bar numbers are displayed
4547
+ * @public
4548
+ */
4549
+ declare enum BarNumberDisplay {
4550
+ /**
4551
+ * Show bar numbers on all bars.
4552
+ */
4553
+ AllBars = 0,
4554
+ /**
4555
+ * Show bar numbers on the first bar of every system.
4556
+ */
4557
+ FirstOfSystem = 1,
4558
+ /**
4559
+ * Hide all bar numbers
4560
+ */
4561
+ Hide = 2
4562
+ }
4563
+
4539
4564
  /**
4540
4565
  * Lists all beat barré types.
4541
4566
  * @public
@@ -4673,6 +4698,38 @@ declare enum BarSubElement {
4673
4698
  declare enum BeamDirection {
4674
4699
  Up = 0,
4675
4700
  Down = 1
4701
+ }
4702
+
4703
+ /**
4704
+ * Defines the custom beaming rules which define how beats are beamed together or split apart
4705
+ * during the automatic beaming when displayed.
4706
+ * @json
4707
+ * @json_strict
4708
+ * @public
4709
+ *
4710
+ * @remarks
4711
+ * The beaming logic works like this:
4712
+ *
4713
+ * The time axis of the bar is sliced into even chunks. The chunk-size is defined by the respective group definition.
4714
+ * Within these chunks groups can then be placed spanning 1 or more chunks.
4715
+ *
4716
+ * If beats start within the same "group" they are beamed together.
4717
+ */
4718
+ declare class BeamingRules {
4719
+ private _singleGroupKey?;
4720
+ /**
4721
+ * The the group for a given "longest duration" within the bar.
4722
+ * @remarks
4723
+ * The map key is the duration to which the bar will be sliced into.
4724
+ * The map value defines the "groups" placed within the sliced.
4725
+ */
4726
+ groups: Map<Duration, number[]>;
4727
+
4728
+
4729
+
4730
+
4731
+
4732
+
4676
4733
  }
4677
4734
 
4678
4735
  /**
@@ -6581,6 +6638,13 @@ export declare class DisplaySettings {
6581
6638
  * @defaultValue `5`
6582
6639
  */
6583
6640
  trackStaffPaddingBetween: number;
6641
+ /**
6642
+ * The additional padding to apply between multiple lyric lines.
6643
+ * @since 1.8.0
6644
+ * @category Display
6645
+ * @defaultValue `5`
6646
+ */
6647
+ lyricLinesPaddingBetween: number;
6584
6648
  /**
6585
6649
  * The mode used to arrange staves and systems.
6586
6650
  * @since 1.3.0
@@ -6933,6 +6997,13 @@ declare interface DisplaySettingsJson {
6933
6997
  * @defaultValue `5`
6934
6998
  */
6935
6999
  trackStaffPaddingBetween?: number;
7000
+ /**
7001
+ * The additional padding to apply between multiple lyric lines.
7002
+ * @since 1.8.0
7003
+ * @category Display
7004
+ * @defaultValue `5`
7005
+ */
7006
+ lyricLinesPaddingBetween?: number;
6936
7007
  /**
6937
7008
  * The mode used to arrange staves and systems.
6938
7009
  * @since 1.3.0
@@ -10595,6 +10666,11 @@ declare class MasterBar {
10595
10666
  * Gets or sets whether this is bar has a common time signature.
10596
10667
  */
10597
10668
  timeSignatureCommon: boolean;
10669
+ /**
10670
+ * Defines the custom beaming rules which should be applied to this bar and all bars following.
10671
+ */
10672
+ beamingRules?: BeamingRules;
10673
+
10598
10674
  /**
10599
10675
  * Gets or sets whether the bar indicates a free time playing.
10600
10676
  */
@@ -10680,6 +10756,7 @@ declare class MasterBar {
10680
10756
  * @param syncPoint The sync point to add.
10681
10757
  */
10682
10758
  addSyncPoint(syncPoint: Automation): void;
10759
+ finish(sharedDataBag: Map<string, unknown>): void;
10683
10760
  }
10684
10761
 
10685
10762
  /**
@@ -11494,6 +11571,7 @@ export declare namespace model {
11494
11571
  TrackNamePolicy,
11495
11572
  TrackNameMode,
11496
11573
  TrackNameOrientation,
11574
+ BarNumberDisplay,
11497
11575
  RepeatGroup,
11498
11576
  Score,
11499
11577
  ScoreSubElement,
@@ -12035,7 +12113,24 @@ export declare enum NotationElement {
12035
12113
  /**
12036
12114
  * The key signature for numbered notation staff.
12037
12115
  */
12038
- EffectNumberedNotationKeySignature = 51
12116
+ EffectNumberedNotationKeySignature = 51,
12117
+ /**
12118
+ * The fretboard numbers shown in chord diagrams.
12119
+ */
12120
+ ChordDiagramFretboardNumbers = 52,
12121
+ /**
12122
+ * The bar numbers.
12123
+ */
12124
+ BarNumber = 53,
12125
+ /**
12126
+ * The repeat count indicator shown above the thick bar line to describe
12127
+ * how many repeats should be played.
12128
+ */
12129
+ RepeatCount = 54,
12130
+ /**
12131
+ * The slurs shown on bend effects within the score staff.
12132
+ */
12133
+ ScoreBendSlur = 55
12039
12134
  }
12040
12135
 
12041
12136
  /**
@@ -14120,6 +14215,11 @@ export declare namespace rendering {
14120
14215
  export declare class RenderingResources {
14121
14216
  private static _sansFont;
14122
14217
  private static _serifFont;
14218
+ private static _effectFont;
14219
+ /**
14220
+ * The default fonts for notation elements if not specified by the user.
14221
+ */
14222
+ static defaultFonts: Map<NotationElement, Font>;
14123
14223
 
14124
14224
  /**
14125
14225
  * The SMuFL Metrics to use for rendering music symbols.
@@ -14131,50 +14231,131 @@ export declare class RenderingResources {
14131
14231
  * The font to use for displaying the songs copyright information in the header of the music sheet.
14132
14232
  * @defaultValue `bold 12px Arial, sans-serif`
14133
14233
  * @since 0.9.6
14234
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ScoreCopyright}
14235
+ */
14236
+ get copyrightFont(): Font;
14237
+ /**
14238
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ScoreCopyright}
14134
14239
  */
14135
- copyrightFont: Font;
14240
+ set copyrightFont(value: Font);
14136
14241
  /**
14137
14242
  * The font to use for displaying the songs title in the header of the music sheet.
14138
14243
  * @defaultValue `32px Georgia, serif`
14139
14244
  * @since 0.9.6
14245
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ScoreTitle}
14246
+ */
14247
+ get titleFont(): Font;
14248
+ /**
14249
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ScoreTitle}
14140
14250
  */
14141
- titleFont: Font;
14251
+ set titleFont(value: Font);
14142
14252
  /**
14143
14253
  * The font to use for displaying the songs subtitle in the header of the music sheet.
14144
14254
  * @defaultValue `20px Georgia, serif`
14145
14255
  * @since 0.9.6
14256
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ScoreSubTitle}
14146
14257
  */
14147
- subTitleFont: Font;
14258
+ get subTitleFont(): Font;
14259
+ /**
14260
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ScoreSubTitle}
14261
+ */
14262
+ set subTitleFont(value: Font);
14148
14263
  /**
14149
14264
  * The font to use for displaying the lyrics information in the header of the music sheet.
14150
14265
  * @defaultValue `15px Arial, sans-serif`
14151
14266
  * @since 0.9.6
14267
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ScoreWords}
14152
14268
  */
14153
- wordsFont: Font;
14269
+ get wordsFont(): Font;
14154
14270
  /**
14155
- * The font to use for displaying certain effect related elements in the music sheet.
14156
- * @defaultValue `italic 12px Georgia, serif`
14157
- * @since 0.9.6
14271
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ScoreWords}
14158
14272
  */
14159
- effectFont: Font;
14273
+ set wordsFont(value: Font);
14160
14274
  /**
14161
14275
  * The font to use for displaying beat time information in the music sheet.
14162
14276
  * @defaultValue `12px Georgia, serif`
14163
14277
  * @since 1.4.0
14278
+ * @deprecated use {@link elementFonts} with {@link NotationElement.EffectBeatTimer}
14279
+ */
14280
+ get timerFont(): Font;
14281
+ /**
14282
+ * @deprecated use {@link elementFonts} with {@link NotationElement.EffectBeatTimer}
14164
14283
  */
14165
- timerFont: Font;
14284
+ set timerFont(value: Font);
14166
14285
  /**
14167
14286
  * The font to use for displaying the directions texts.
14168
14287
  * @defaultValue `14px Georgia, serif`
14169
14288
  * @since 1.4.0
14289
+ * @deprecated use {@link elementFonts} with {@link NotationElement.EffectDirections}
14290
+ */
14291
+ get directionsFont(): Font;
14292
+ /**
14293
+ * @deprecated use {@link elementFonts} with {@link NotationElement.EffectDirections}
14170
14294
  */
14171
- directionsFont: Font;
14295
+ set directionsFont(value: Font);
14172
14296
  /**
14173
14297
  * The font to use for displaying the fretboard numbers in chord diagrams.
14174
14298
  * @defaultValue `11px Arial, sans-serif`
14175
14299
  * @since 0.9.6
14300
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ChordDiagramFretboardNumbers}
14301
+ */
14302
+ get fretboardNumberFont(): Font;
14303
+ /**
14304
+ * @deprecated use {@link elementFonts} with {@link NotationElement.ChordDiagramFretboardNumbers}
14305
+ */
14306
+ set fretboardNumberFont(value: Font);
14307
+ /**
14308
+ * Unused, see deprecation note.
14309
+ * @defaultValue `14px Georgia, serif`
14310
+ * @since 0.9.6
14311
+ * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
14312
+ * @json_ignore
14313
+ */
14314
+ fingeringFont: Font;
14315
+ /**
14316
+ * Unused, see deprecation note.
14317
+ * @defaultValue `12px Georgia, serif`
14318
+ * @since 1.4.0
14319
+ * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
14320
+ * @json_ignore
14321
+ */
14322
+ inlineFingeringFont: Font;
14323
+ /**
14324
+ * The font to use for section marker labels shown above the music sheet.
14325
+ * @defaultValue `bold 14px Georgia, serif`
14326
+ * @since 0.9.6
14327
+ * @deprecated use {@link elementFonts} with {@link NotationElement.EffectMarker}
14328
+ */
14329
+ get markerFont(): Font;
14330
+ /**
14331
+ * @deprecated use {@link elementFonts} with {@link NotationElement.EffectMarker}
14332
+ */
14333
+ set markerFont(value: Font);
14334
+ /**
14335
+ * Ununsed, see deprecation note.
14336
+ * @defaultValue `italic 12px Georgia, serif`
14337
+ * @since 0.9.6
14338
+ * @deprecated use {@link elementFonts} with the respective
14339
+ * @json_ignore
14340
+ */
14341
+ effectFont: Font;
14342
+ /**
14343
+ * The font to use for displaying the bar numbers above the music sheet.
14344
+ * @defaultValue `11px Arial, sans-serif`
14345
+ * @since 0.9.6
14346
+ * @deprecated use {@link elementFonts} with {@link NotationElement.BarNumber}
14176
14347
  */
14177
- fretboardNumberFont: Font;
14348
+ get barNumberFont(): Font;
14349
+ /**
14350
+ * @deprecated use {@link elementFonts} with {@link NotationElement.BarNumber}
14351
+ */
14352
+ set barNumberFont(value: Font);
14353
+ /**
14354
+ * The fonts used by individual elements. Check {@link defaultFonts} for the elements which have custom fonts.
14355
+ * Removing fonts from this map can lead to unexpected side effects and errors. Only update it with new values.
14356
+ * @json_immutable
14357
+ */
14358
+ readonly elementFonts: Map<NotationElement, Font>;
14178
14359
  /**
14179
14360
  * The font to use for displaying the numbered music notation in the music sheet.
14180
14361
  * @defaultValue `14px Arial, sans-serif`
@@ -14211,38 +14392,12 @@ export declare class RenderingResources {
14211
14392
  * @since 0.9.6
14212
14393
  */
14213
14394
  barSeparatorColor: Color;
14214
- /**
14215
- * The font to use for displaying the bar numbers above the music sheet.
14216
- * @defaultValue `11px Arial, sans-serif`
14217
- * @since 0.9.6
14218
- */
14219
- barNumberFont: Font;
14220
14395
  /**
14221
14396
  * The color to use for displaying the bar numbers above the music sheet.
14222
14397
  * @defaultValue `rgb(200, 0, 0)`
14223
14398
  * @since 0.9.6
14224
14399
  */
14225
14400
  barNumberColor: Color;
14226
- /**
14227
- * The font to use for displaying finger information in the music sheet.
14228
- * @defaultValue `14px Georgia, serif`
14229
- * @since 0.9.6
14230
- * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
14231
- */
14232
- fingeringFont: Font;
14233
- /**
14234
- * The font to use for displaying finger information when inline into the music sheet.
14235
- * @defaultValue `12px Georgia, serif`
14236
- * @since 1.4.0
14237
- * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
14238
- */
14239
- inlineFingeringFont: Font;
14240
- /**
14241
- * The font to use for section marker labels shown above the music sheet.
14242
- * @defaultValue `bold 14px Georgia, serif`
14243
- * @since 0.9.6
14244
- */
14245
- markerFont: Font;
14246
14401
  /**
14247
14402
  * The color to use for music notation elements of the primary voice.
14248
14403
  * @defaultValue `rgb(0, 0, 0)`
@@ -14261,6 +14416,7 @@ export declare class RenderingResources {
14261
14416
  * @since 0.9.6
14262
14417
  */
14263
14418
  scoreInfoColor: Color;
14419
+ constructor();
14264
14420
 
14265
14421
  }
14266
14422
 
@@ -14280,53 +14436,35 @@ declare interface RenderingResourcesJson {
14280
14436
  */
14281
14437
  engravingSettings?: EngravingSettingsJson;
14282
14438
  /**
14283
- * The font to use for displaying the songs copyright information in the header of the music sheet.
14284
- * @defaultValue `bold 12px Arial, sans-serif`
14285
- * @since 0.9.6
14286
- */
14287
- copyrightFont?: FontJson;
14288
- /**
14289
- * The font to use for displaying the songs title in the header of the music sheet.
14290
- * @defaultValue `32px Georgia, serif`
14291
- * @since 0.9.6
14292
- */
14293
- titleFont?: FontJson;
14294
- /**
14295
- * The font to use for displaying the songs subtitle in the header of the music sheet.
14296
- * @defaultValue `20px Georgia, serif`
14439
+ * Unused, see deprecation note.
14440
+ * @defaultValue `14px Georgia, serif`
14297
14441
  * @since 0.9.6
14442
+ * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
14443
+ * @json_ignore
14298
14444
  */
14299
- subTitleFont?: FontJson;
14445
+ fingeringFont?: FontJson;
14300
14446
  /**
14301
- * The font to use for displaying the lyrics information in the header of the music sheet.
14302
- * @defaultValue `15px Arial, sans-serif`
14303
- * @since 0.9.6
14447
+ * Unused, see deprecation note.
14448
+ * @defaultValue `12px Georgia, serif`
14449
+ * @since 1.4.0
14450
+ * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
14451
+ * @json_ignore
14304
14452
  */
14305
- wordsFont?: FontJson;
14453
+ inlineFingeringFont?: FontJson;
14306
14454
  /**
14307
- * The font to use for displaying certain effect related elements in the music sheet.
14455
+ * Ununsed, see deprecation note.
14308
14456
  * @defaultValue `italic 12px Georgia, serif`
14309
14457
  * @since 0.9.6
14458
+ * @deprecated use {@link elementFonts} with the respective
14459
+ * @json_ignore
14310
14460
  */
14311
14461
  effectFont?: FontJson;
14312
14462
  /**
14313
- * The font to use for displaying beat time information in the music sheet.
14314
- * @defaultValue `12px Georgia, serif`
14315
- * @since 1.4.0
14316
- */
14317
- timerFont?: FontJson;
14318
- /**
14319
- * The font to use for displaying the directions texts.
14320
- * @defaultValue `14px Georgia, serif`
14321
- * @since 1.4.0
14322
- */
14323
- directionsFont?: FontJson;
14324
- /**
14325
- * The font to use for displaying the fretboard numbers in chord diagrams.
14326
- * @defaultValue `11px Arial, sans-serif`
14327
- * @since 0.9.6
14463
+ * The fonts used by individual elements. Check {@link defaultFonts} for the elements which have custom fonts.
14464
+ * Removing fonts from this map can lead to unexpected side effects and errors. Only update it with new values.
14465
+ * @json_immutable
14328
14466
  */
14329
- fretboardNumberFont?: FontJson;
14467
+ elementFonts?: Map<NotationElement | keyof typeof NotationElement | Lowercase<keyof typeof NotationElement>, FontJson>;
14330
14468
  /**
14331
14469
  * The font to use for displaying the numbered music notation in the music sheet.
14332
14470
  * @defaultValue `14px Arial, sans-serif`
@@ -14363,38 +14501,12 @@ declare interface RenderingResourcesJson {
14363
14501
  * @since 0.9.6
14364
14502
  */
14365
14503
  barSeparatorColor?: ColorJson;
14366
- /**
14367
- * The font to use for displaying the bar numbers above the music sheet.
14368
- * @defaultValue `11px Arial, sans-serif`
14369
- * @since 0.9.6
14370
- */
14371
- barNumberFont?: FontJson;
14372
14504
  /**
14373
14505
  * The color to use for displaying the bar numbers above the music sheet.
14374
14506
  * @defaultValue `rgb(200, 0, 0)`
14375
14507
  * @since 0.9.6
14376
14508
  */
14377
14509
  barNumberColor?: ColorJson;
14378
- /**
14379
- * The font to use for displaying finger information in the music sheet.
14380
- * @defaultValue `14px Georgia, serif`
14381
- * @since 0.9.6
14382
- * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
14383
- */
14384
- fingeringFont?: FontJson;
14385
- /**
14386
- * The font to use for displaying finger information when inline into the music sheet.
14387
- * @defaultValue `12px Georgia, serif`
14388
- * @since 1.4.0
14389
- * @deprecated Since 1.7.0 alphaTab uses the glyphs contained in the SMuFL font
14390
- */
14391
- inlineFingeringFont?: FontJson;
14392
- /**
14393
- * The font to use for section marker labels shown above the music sheet.
14394
- * @defaultValue `bold 14px Georgia, serif`
14395
- * @since 0.9.6
14396
- */
14397
- markerFont?: FontJson;
14398
14510
  /**
14399
14511
  * The color to use for music notation elements of the primary voice.
14400
14512
  * @defaultValue `rgb(0, 0, 0)`
@@ -14508,6 +14620,10 @@ declare class RenderStylesheet {
14508
14620
  * {@link hideEmptyStaves}
14509
14621
  */
14510
14622
  showSingleStaffBrackets: boolean;
14623
+ /**
14624
+ * How bar numbers should be displayed.
14625
+ */
14626
+ barNumberDisplay: BarNumberDisplay;
14511
14627
  }
14512
14628
 
14513
14629
  /**
@@ -16207,6 +16323,7 @@ declare class Voice {
16207
16323
  * Gets or sets a value indicating whether this voice is empty.
16208
16324
  */
16209
16325
  get isRestOnly(): boolean;
16326
+
16210
16327
  insertBeat(after: Beat, newBeat: Beat): void;
16211
16328
  addBeat(beat: Beat): void;
16212
16329
  private _chain;