@coderline/alphatab 1.8.3 → 1.8.4

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab v1.8.3 (, build 32)
2
+ * alphaTab v1.8.4 (, build 34)
3
3
  *
4
4
  * Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
@@ -186,9 +186,9 @@ class AlphaTabError extends Error {
186
186
  * @internal
187
187
  */
188
188
  class VersionInfo {
189
- static version = "1.8.3";
190
- static date = "2026-05-24T19:53:05.944Z";
191
- static commit = "9d0142eee2b1175dfd36e839ddbd867aed9e454e";
189
+ static version = "1.8.4";
190
+ static date = "2026-07-05T14:46:18.224Z";
191
+ static commit = "022a45c8e42370f9e12e68949d11eada370da83d";
192
192
  static print(print) {
193
193
  print(`alphaTab ${VersionInfo.version}`);
194
194
  print(`commit: ${VersionInfo.commit}`);
@@ -41588,6 +41588,7 @@ class AlphaSynthAudioWorkletOutput extends AlphaSynthWebAudioOutputBase {
41588
41588
  play() {
41589
41589
  super.play();
41590
41590
  const ctx = this.context;
41591
+ if (this._pendingEvents) this._pendingEvents = void 0;
41591
41592
  BrowserUiFacade.createAlphaSynthAudioWorklet(ctx, this._settings).then(() => {
41592
41593
  this._worklet = new AudioWorkletNode(ctx, "alphatab", {
41593
41594
  numberOfOutputs: 1,
@@ -43351,8 +43352,8 @@ class MidiFileGenerator {
43351
43352
  }
43352
43353
  const interval = MidiUtils.toTicks(initialDuration);
43353
43354
  if (audioDuration !== interval) return null;
43354
- if (beatStart % interval !== 0) return null;
43355
- if (!beat.nextBeat || beat.nextBeat.voice !== beat.voice || beat.playbackDuration !== interval) return null;
43355
+ if (beatStart % (interval * 2) !== 0) return null;
43356
+ if (!beat.nextBeat || beat.nextBeat.voice !== beat.voice || beat.nextBeat.playbackDuration !== interval || beat.nextBeat.playbackStart !== beatStart + interval) return null;
43356
43357
  const durations = new TripletFeelDurations();
43357
43358
  switch (beat.voice.bar.masterBar.tripletFeel) {
43358
43359
  case TripletFeel.Triplet8th:
@@ -53835,11 +53836,7 @@ class BeamingHelper {
53835
53836
  this._beamingRuleLookup = beamingRuleLookup;
53836
53837
  }
53837
53838
  alignWithBeats() {
53838
- for (const v of this.drawingInfos.values()) {
53839
- v.startX = this._renderer.getBeatX(v.startBeat, BeatXPosition.Stem);
53840
- v.endX = this._renderer.getBeatX(v.endBeat, BeatXPosition.Stem);
53841
- this.drawingInfos.clear();
53842
- }
53839
+ this.drawingInfos.clear();
53843
53840
  }
53844
53841
  finish() {
53845
53842
  this._renderer.completeBeamingHelper(this);
package/dist/alphaTab.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab v1.8.3 (, build 32)
2
+ * alphaTab v1.8.4 (, build 34)
3
3
  *
4
4
  * Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
@@ -190,9 +190,9 @@
190
190
  * @internal
191
191
  */
192
192
  var VersionInfo = class VersionInfo {
193
- static version = "1.8.3";
194
- static date = "2026-05-24T19:53:05.944Z";
195
- static commit = "9d0142eee2b1175dfd36e839ddbd867aed9e454e";
193
+ static version = "1.8.4";
194
+ static date = "2026-07-05T14:46:18.224Z";
195
+ static commit = "022a45c8e42370f9e12e68949d11eada370da83d";
196
196
  static print(print) {
197
197
  print(`alphaTab ${VersionInfo.version}`);
198
198
  print(`commit: ${VersionInfo.commit}`);
@@ -41592,6 +41592,7 @@
41592
41592
  play() {
41593
41593
  super.play();
41594
41594
  const ctx = this.context;
41595
+ if (this._pendingEvents) this._pendingEvents = void 0;
41595
41596
  BrowserUiFacade.createAlphaSynthAudioWorklet(ctx, this._settings).then(() => {
41596
41597
  this._worklet = new AudioWorkletNode(ctx, "alphatab", {
41597
41598
  numberOfOutputs: 1,
@@ -43355,8 +43356,8 @@
43355
43356
  }
43356
43357
  const interval = MidiUtils.toTicks(initialDuration);
43357
43358
  if (audioDuration !== interval) return null;
43358
- if (beatStart % interval !== 0) return null;
43359
- if (!beat.nextBeat || beat.nextBeat.voice !== beat.voice || beat.playbackDuration !== interval) return null;
43359
+ if (beatStart % (interval * 2) !== 0) return null;
43360
+ if (!beat.nextBeat || beat.nextBeat.voice !== beat.voice || beat.nextBeat.playbackDuration !== interval || beat.nextBeat.playbackStart !== beatStart + interval) return null;
43360
43361
  const durations = new TripletFeelDurations();
43361
43362
  switch (beat.voice.bar.masterBar.tripletFeel) {
43362
43363
  case TripletFeel.Triplet8th:
@@ -53839,11 +53840,7 @@
53839
53840
  this._beamingRuleLookup = beamingRuleLookup;
53840
53841
  }
53841
53842
  alignWithBeats() {
53842
- for (const v of this.drawingInfos.values()) {
53843
- v.startX = this._renderer.getBeatX(v.startBeat, BeatXPosition.Stem);
53844
- v.endX = this._renderer.getBeatX(v.endBeat, BeatXPosition.Stem);
53845
- this.drawingInfos.clear();
53846
- }
53843
+ this.drawingInfos.clear();
53847
53844
  }
53848
53845
  finish() {
53849
53846
  this._renderer.completeBeamingHelper(this);