@coderline/alphatab 1.7.0-alpha.1511 → 1.7.0-alpha.1517

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.
@@ -3040,28 +3040,44 @@ 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;
@@ -3075,11 +3091,16 @@ declare class AlphaTexImporter extends ScoreImporter {
3075
3091
  private _sustainPedalToBeat;
3076
3092
  private _slurs;
3077
3093
  private _articulationValueToIndex;
3094
+ private _lexer;
3078
3095
  private _accidentalMode;
3079
3096
  private _syncPoints;
3080
3097
  logErrors: boolean;
3081
3098
  get name(): string;
3082
3099
  initFromString(tex: string, settings: Settings): void;
3100
+ private get sy();
3101
+ private get syData();
3102
+ private set sy(value);
3103
+ private newSy;
3083
3104
  readScore(): Score;
3084
3105
  private syncPoints;
3085
3106
  private syncPoint;
@@ -3112,33 +3133,6 @@ declare class AlphaTexImporter extends ScoreImporter {
3112
3133
  */
3113
3134
  private parseKeySignature;
3114
3135
  private parseKeySignatureType;
3115
- /**
3116
- * Reads, saves, and returns the next character of the source stream.
3117
- */
3118
- private nextChar;
3119
- /**
3120
- * Saves the current position, line, and column.
3121
- * All parsed data until this point is assumed to be valid.
3122
- */
3123
- private saveValidSpot;
3124
- /**
3125
- * Reads, saves, and returns the next terminal symbol.
3126
- */
3127
- private newSy;
3128
- private readNumberOrName;
3129
- /**
3130
- * Checks if the given character is a valid letter for a name.
3131
- * (no control characters, whitespaces, numbers or dots)
3132
- */
3133
- private static isNameLetter;
3134
- private static isTerminal;
3135
- private static isWhiteSpace;
3136
- private isDigit;
3137
- /**
3138
- * Reads a string from the stream.
3139
- * @returns the read string.
3140
- */
3141
- private readName;
3142
3136
  private metaData;
3143
3137
  headerFooterStyle(element: ScoreSubElement): void;
3144
3138
  private parseTrackNamePolicy;
@@ -3450,11 +3444,17 @@ declare class Bar {
3450
3444
  * Gets or sets the simile mark on this bar.
3451
3445
  */
3452
3446
  simileMark: SimileMark;
3447
+ private _filledVoices;
3453
3448
  /**
3454
3449
  * Gets a value indicating whether this bar contains multiple voices with notes.
3455
3450
  * @json_ignore
3456
3451
  */
3457
- 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>;
3458
3458
  /**
3459
3459
  * A relative scale for the size of the bar when displayed. The scale is relative
3460
3460
  * within a single line (system). The sum of all scales in one line make the total width,
@@ -4106,7 +4106,7 @@ declare class Beat {
4106
4106
  */
4107
4107
  isLetRing: boolean;
4108
4108
  /**
4109
- * 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.
4110
4110
  * @json_ignore
4111
4111
  */
4112
4112
  isPalmMute: boolean;
@@ -7482,15 +7482,64 @@ export declare class Environment {
7482
7482
  */
7483
7483
  private static printPlatformInfo;
7484
7484
  /* Excluded from this release type: prepareForPostMessage */
7485
+ /* Excluded from this release type: quoteJsonString */
7485
7486
  }
7486
7487
 
7487
7488
  export declare namespace exporter {
7488
7489
  export {
7489
- ScoreExporter,
7490
- Gp7Exporter
7490
+ AlphaTexExporter,
7491
+ Gp7Exporter,
7492
+ ScoreExporter
7491
7493
  }
7492
7494
  }
7493
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
+
7494
7543
  /**
7495
7544
  * Lists the different fade types.
7496
7545
  */
@@ -9073,6 +9122,9 @@ declare class IOHelper {
9073
9122
  static writeInt16LE(o: IWriteable, v: number): void;
9074
9123
  static writeInt16BE(o: IWriteable, v: number): void;
9075
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;
9076
9128
  }
9077
9129
 
9078
9130
  /**
@@ -9545,6 +9597,7 @@ export declare namespace json {
9545
9597
  DisplaySettingsJson,
9546
9598
  EngravingStemInfoJson,
9547
9599
  EngravingSettingsJson,
9600
+ ExporterSettingsJson,
9548
9601
  ImporterSettingsJson,
9549
9602
  NotationSettingsJson,
9550
9603
  VibratoPlaybackSettingsJson,
@@ -10867,6 +10920,7 @@ export declare namespace model {
10867
10920
  GolpeType,
10868
10921
  HarmonicType,
10869
10922
  InstrumentArticulation,
10923
+ TechniqueSymbolPlacement,
10870
10924
  JsonConverter,
10871
10925
  KeySignature,
10872
10926
  KeySignatureType,
@@ -14417,6 +14471,11 @@ export declare class Settings {
14417
14471
  * @json_partial_names
14418
14472
  */
14419
14473
  readonly player: PlayerSettings;
14474
+ /**
14475
+ * All settings related to exporter that export file formats.
14476
+ * @json_partial_names
14477
+ */
14478
+ readonly exporter: ExporterSettings;
14420
14479
  setSongBookModeSettings(): void;
14421
14480
  static get songBook(): Settings;
14422
14481
  /**
@@ -14461,6 +14520,11 @@ declare interface SettingsJson {
14461
14520
  * @json_partial_names
14462
14521
  */
14463
14522
  player?: PlayerSettingsJson;
14523
+ /**
14524
+ * All settings related to exporter that export file formats.
14525
+ * @json_partial_names
14526
+ */
14527
+ exporter?: ExporterSettingsJson;
14464
14528
  }
14465
14529
 
14466
14530
  /**
@@ -14780,6 +14844,12 @@ declare class Staff {
14780
14844
  * For some percussion instruments this number might vary.
14781
14845
  */
14782
14846
  standardNotationLineCount: number;
14847
+ private _filledVoices;
14848
+ /**
14849
+ * The indexes of the non-empty voices in this staff..
14850
+ * @json_ignore
14851
+ */
14852
+ get filledVoices(): Set<number>;
14783
14853
  finish(settings: Settings, sharedDataBag?: Map<string, unknown> | null): void;
14784
14854
  addChord(chordId: string, chord: Chord): void;
14785
14855
  hasChord(chordId: string): boolean;
@@ -15482,8 +15552,7 @@ declare class Tuning {
15482
15552
  private static _fiveStrings;
15483
15553
  private static _fourStrings;
15484
15554
  private static _defaultTunings;
15485
- static readonly defaultAccidentals: string[];
15486
- static readonly defaultSteps: string[];
15555
+ static readonly noteNames: string[];
15487
15556
  static getTextForTuning(tuning: number, includeOctave: boolean): string;
15488
15557
  static getTextPartsForTuning(tuning: number, octaveShift?: number): string[];
15489
15558
  /**