@coderline/alphatab 1.3.0-alpha.190 → 1.3.0-alpha.200

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.
@@ -3805,6 +3805,21 @@ declare class PlayerStateChangedEventArgs {
3805
3805
  constructor(state: PlayerState, stopped: boolean);
3806
3806
  }
3807
3807
 
3808
+ /**
3809
+ * Represents the info when the playback range changed.
3810
+ */
3811
+ declare class PlaybackRangeChangedEventArgs {
3812
+ /**
3813
+ * The new playback range.
3814
+ */
3815
+ readonly playbackRange: PlaybackRange | null;
3816
+ /**
3817
+ * Initializes a new instance of the {@link PlaybackRangeChangedEventArgs} class.
3818
+ * @param range The range.
3819
+ */
3820
+ constructor(playbackRange: PlaybackRange | null);
3821
+ }
3822
+
3808
3823
  /**
3809
3824
  * Represents the info when the time in the synthesizer changes.
3810
3825
  */
@@ -4028,6 +4043,10 @@ interface IAlphaSynth {
4028
4043
  * The event is fired when certain midi events were sent to the audio output device for playback.
4029
4044
  */
4030
4045
  readonly midiEventsPlayed: IEventEmitterOfT<MidiEventsPlayedEventArgs>;
4046
+ /**
4047
+ * The event is fired when the playback range within the player was updated.
4048
+ */
4049
+ readonly playbackRangeChanged: IEventEmitterOfT<PlaybackRangeChangedEventArgs>;
4031
4050
  }
4032
4051
 
4033
4052
  /**
@@ -4966,6 +4985,8 @@ declare class AlphaTabApiBase<TSettings> {
4966
4985
  private onPlayerPositionChanged;
4967
4986
  midiEventsPlayed: IEventEmitterOfT<MidiEventsPlayedEventArgs>;
4968
4987
  private onMidiEventsPlayed;
4988
+ playbackRangeChanged: IEventEmitterOfT<PlaybackRangeChangedEventArgs>;
4989
+ private onPlaybackRangeChanged;
4969
4990
  }
4970
4991
 
4971
4992
  /**
@@ -6688,6 +6709,7 @@ declare class AlphaSynth implements IAlphaSynth {
6688
6709
  readonly stateChanged: IEventEmitterOfT<PlayerStateChangedEventArgs>;
6689
6710
  readonly positionChanged: IEventEmitterOfT<PositionChangedEventArgs>;
6690
6711
  readonly midiEventsPlayed: IEventEmitterOfT<MidiEventsPlayedEventArgs>;
6712
+ readonly playbackRangeChanged: IEventEmitterOfT<PlaybackRangeChangedEventArgs>;
6691
6713
  }
6692
6714
 
6693
6715
  /**
@@ -6761,6 +6783,7 @@ declare class AlphaSynthWebWorkerApi implements IAlphaSynth {
6761
6783
  readonly stateChanged: IEventEmitterOfT<PlayerStateChangedEventArgs>;
6762
6784
  readonly positionChanged: IEventEmitterOfT<PositionChangedEventArgs>;
6763
6785
  readonly midiEventsPlayed: IEventEmitterOfT<MidiEventsPlayedEventArgs>;
6786
+ readonly playbackRangeChanged: IEventEmitterOfT<PlaybackRangeChangedEventArgs>;
6764
6787
  onOutputSampleRequest(): void;
6765
6788
  onOutputSamplesPlayed(samples: number): void;
6766
6789
  private onOutputReady;
@@ -6774,6 +6797,8 @@ type index_d_PlayerState = PlayerState;
6774
6797
  declare const index_d_PlayerState: typeof PlayerState;
6775
6798
  type index_d_PlayerStateChangedEventArgs = PlayerStateChangedEventArgs;
6776
6799
  declare const index_d_PlayerStateChangedEventArgs: typeof PlayerStateChangedEventArgs;
6800
+ type index_d_PlaybackRangeChangedEventArgs = PlaybackRangeChangedEventArgs;
6801
+ declare const index_d_PlaybackRangeChangedEventArgs: typeof PlaybackRangeChangedEventArgs;
6777
6802
  type index_d_PositionChangedEventArgs = PositionChangedEventArgs;
6778
6803
  declare const index_d_PositionChangedEventArgs: typeof PositionChangedEventArgs;
6779
6804
  type index_d_AlphaSynthWebWorkerApi = AlphaSynthWebWorkerApi;
@@ -6784,6 +6809,7 @@ declare namespace index_d {
6784
6809
  index_d_PlaybackRange as PlaybackRange,
6785
6810
  index_d_PlayerState as PlayerState,
6786
6811
  index_d_PlayerStateChangedEventArgs as PlayerStateChangedEventArgs,
6812
+ index_d_PlaybackRangeChangedEventArgs as PlaybackRangeChangedEventArgs,
6787
6813
  index_d_PositionChangedEventArgs as PositionChangedEventArgs,
6788
6814
  index_d_AlphaSynthWebWorkerApi as AlphaSynthWebWorkerApi,
6789
6815
  };
package/dist/alphaTab.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * alphaTab v1.3.0-alpha.190 (develop, build 190)
2
+ * alphaTab v1.3.0-alpha.200 (develop, build 200)
3
3
  *
4
4
  * Copyright © 2022, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
@@ -4702,19 +4702,19 @@
4702
4702
  if (json.startsWith('#')) {
4703
4703
  if (json.length === 4) {
4704
4704
  // #RGB
4705
- return new Color(parseInt(json.substring(1, 1), 16) * 17, parseInt(json.substring(2, 1), 16) * 17, parseInt(json.substring(3, 1), 16) * 17);
4705
+ return new Color(parseInt(json[1], 16) * 17, parseInt(json[2], 16) * 17, parseInt(json[3], 16) * 17);
4706
4706
  }
4707
4707
  if (json.length === 5) {
4708
4708
  // #RGBA
4709
- return new Color(parseInt(json.substring(1, 1), 16) * 17, parseInt(json.substring(2, 1), 16) * 17, parseInt(json.substring(3, 1), 16) * 17, parseInt(json.substring(4, 1), 16) * 17);
4709
+ return new Color(parseInt(json[1], 16) * 17, parseInt(json[2], 16) * 17, parseInt(json[3], 16) * 17, parseInt(json[4], 16) * 17);
4710
4710
  }
4711
4711
  if (json.length === 7) {
4712
4712
  // #RRGGBB
4713
- return new Color(parseInt(json.substring(1, 2), 16), parseInt(json.substring(3, 2), 16), parseInt(json.substring(5, 2), 16));
4713
+ return new Color(parseInt(json.substring(1, 3), 16), parseInt(json.substring(3, 5), 16), parseInt(json.substring(5, 7), 16));
4714
4714
  }
4715
4715
  if (json.length === 9) {
4716
4716
  // #RRGGBBAA
4717
- return new Color(parseInt(json.substring(1, 2), 16), parseInt(json.substring(3, 2), 16), parseInt(json.substring(5, 2), 16), parseInt(json.substring(7, 2), 16));
4717
+ return new Color(parseInt(json.substring(1, 3), 16), parseInt(json.substring(3, 5), 16), parseInt(json.substring(5, 7), 16), parseInt(json.substring(7, 9), 16));
4718
4718
  }
4719
4719
  }
4720
4720
  else if (json.startsWith('rgba') || json.startsWith('rgb')) {
@@ -17290,6 +17290,19 @@
17290
17290
  }
17291
17291
  }
17292
17292
 
17293
+ /**
17294
+ * Represents the info when the playback range changed.
17295
+ */
17296
+ class PlaybackRangeChangedEventArgs {
17297
+ /**
17298
+ * Initializes a new instance of the {@link PlaybackRangeChangedEventArgs} class.
17299
+ * @param range The range.
17300
+ */
17301
+ constructor(playbackRange) {
17302
+ this.playbackRange = playbackRange;
17303
+ }
17304
+ }
17305
+
17293
17306
  /**
17294
17307
  * This is the main synthesizer component which can be used to
17295
17308
  * play a {@link MidiFile} via a {@link ISynthOutput}.
@@ -17320,6 +17333,7 @@
17320
17333
  this.stateChanged = new EventEmitterOfT();
17321
17334
  this.positionChanged = new EventEmitterOfT();
17322
17335
  this.midiEventsPlayed = new EventEmitterOfT();
17336
+ this.playbackRangeChanged = new EventEmitterOfT();
17323
17337
  Logger.debug('AlphaSynth', 'Initializing player');
17324
17338
  this.state = PlayerState.Paused;
17325
17339
  Logger.debug('AlphaSynth', 'Creating output');
@@ -17436,6 +17450,7 @@
17436
17450
  if (value) {
17437
17451
  this.tickPosition = value.startTick;
17438
17452
  }
17453
+ this.playbackRangeChanged.trigger(new PlaybackRangeChangedEventArgs(value));
17439
17454
  }
17440
17455
  get isLooping() {
17441
17456
  return this._sequencer.isLooping;
@@ -20713,6 +20728,7 @@
20713
20728
  this._player.midiLoadFailed.on(this.onMidiLoadFailed.bind(this));
20714
20729
  this._player.readyForPlayback.on(this.onReadyForPlayback.bind(this));
20715
20730
  this._player.midiEventsPlayed.on(this.onMidiEventsPlayed.bind(this));
20731
+ this._player.playbackRangeChanged.on(this.onPlaybackRangeChanged.bind(this));
20716
20732
  this._main.postMessage({
20717
20733
  cmd: 'alphaSynth.ready'
20718
20734
  });
@@ -20882,6 +20898,12 @@
20882
20898
  events: args.events.map(JsonConverter.midiEventToJsObject)
20883
20899
  });
20884
20900
  }
20901
+ onPlaybackRangeChanged(args) {
20902
+ this._main.postMessage({
20903
+ cmd: 'alphaSynth.playbackRangeChanged',
20904
+ playbackRange: args.playbackRange
20905
+ });
20906
+ }
20885
20907
  }
20886
20908
 
20887
20909
  /**
@@ -24076,6 +24098,7 @@
24076
24098
  this.playerStateChanged = new EventEmitterOfT();
24077
24099
  this.playerPositionChanged = new EventEmitterOfT();
24078
24100
  this.midiEventsPlayed = new EventEmitterOfT();
24101
+ this.playbackRangeChanged = new EventEmitterOfT();
24079
24102
  this.uiFacade = uiFacade;
24080
24103
  this.container = uiFacade.rootContainer;
24081
24104
  uiFacade.initialize(this, settings);
@@ -24499,6 +24522,7 @@
24499
24522
  this.player.stateChanged.on(this.onPlayerStateChanged.bind(this));
24500
24523
  this.player.positionChanged.on(this.onPlayerPositionChanged.bind(this));
24501
24524
  this.player.midiEventsPlayed.on(this.onMidiEventsPlayed.bind(this));
24525
+ this.player.playbackRangeChanged.on(this.onPlaybackRangeChanged.bind(this));
24502
24526
  this.player.finished.on(this.onPlayerFinished.bind(this));
24503
24527
  if (this.settings.player.enableCursor) {
24504
24528
  this.setupCursors();
@@ -24660,6 +24684,7 @@
24660
24684
  this._playerState = PlayerState.Paused;
24661
24685
  // we need to update our position caches if we render a tablature
24662
24686
  this.renderer.postRenderFinished.on(() => {
24687
+ debugger;
24663
24688
  this.cursorUpdateTick(this._previousTick, false, this._previousTick > 10);
24664
24689
  });
24665
24690
  if (this.player) {
@@ -24895,7 +24920,7 @@
24895
24920
  // for the selection ensure start < end
24896
24921
  if (this._selectionEnd) {
24897
24922
  let startTick = this._selectionStart.beat.absolutePlaybackStart;
24898
- let endTick = this._selectionStart.beat.absolutePlaybackStart;
24923
+ let endTick = this._selectionEnd.beat.absolutePlaybackStart;
24899
24924
  if (endTick < startTick) {
24900
24925
  let t = this._selectionStart;
24901
24926
  this._selectionStart = this._selectionEnd;
@@ -25168,6 +25193,13 @@
25168
25193
  this.midiEventsPlayed.trigger(e);
25169
25194
  this.uiFacade.triggerEvent(this.container, 'midiEventsPlayed', e);
25170
25195
  }
25196
+ onPlaybackRangeChanged(e) {
25197
+ if (this._isDestroyed) {
25198
+ return;
25199
+ }
25200
+ this.playbackRangeChanged.trigger(e);
25201
+ this.uiFacade.triggerEvent(this.container, 'playbackRangeChanged', e);
25202
+ }
25171
25203
  }
25172
25204
 
25173
25205
  /**
@@ -25810,6 +25842,7 @@
25810
25842
  this.stateChanged = new EventEmitterOfT();
25811
25843
  this.positionChanged = new EventEmitterOfT();
25812
25844
  this.midiEventsPlayed = new EventEmitterOfT();
25845
+ this.playbackRangeChanged = new EventEmitterOfT();
25813
25846
  this._workerIsReadyForPlayback = false;
25814
25847
  this._workerIsReady = false;
25815
25848
  this._outputIsReady = false;
@@ -26103,6 +26136,10 @@
26103
26136
  this._state = data.state;
26104
26137
  this.stateChanged.trigger(new PlayerStateChangedEventArgs(data.state, data.stopped));
26105
26138
  break;
26139
+ case 'alphaSynth.playbackRangeChanged':
26140
+ this._playbackRange = data.playbackRange;
26141
+ this.playbackRangeChanged.trigger(new PlaybackRangeChangedEventArgs(this._playbackRange));
26142
+ break;
26106
26143
  case 'alphaSynth.finished':
26107
26144
  this.finished.trigger();
26108
26145
  break;
@@ -40647,8 +40684,8 @@
40647
40684
  // </auto-generated>
40648
40685
  class VersionInfo {
40649
40686
  }
40650
- VersionInfo.version = '1.3.0-alpha.190';
40651
- VersionInfo.date = '2022-02-27T00:33:54.943Z';
40687
+ VersionInfo.version = '1.3.0-alpha.200';
40688
+ VersionInfo.date = '2022-03-08T00:34:45.791Z';
40652
40689
 
40653
40690
  var index$5 = /*#__PURE__*/Object.freeze({
40654
40691
  __proto__: null,
@@ -43715,6 +43752,7 @@
43715
43752
  PlaybackRange: PlaybackRange,
43716
43753
  get PlayerState () { return PlayerState; },
43717
43754
  PlayerStateChangedEventArgs: PlayerStateChangedEventArgs,
43755
+ PlaybackRangeChangedEventArgs: PlaybackRangeChangedEventArgs,
43718
43756
  PositionChangedEventArgs: PositionChangedEventArgs,
43719
43757
  AlphaSynthWebWorkerApi: AlphaSynthWebWorkerApi
43720
43758
  });