v1.2.3
Even though this is "only" a patch release, there is plenty of stuff to discover.🥳🎉
This release aims to ship all improvements and bugfixes done as part of 1.3 already in 1.2 to keep the 1.3 theme of official Android and iOS Native support.
A big "Thank You" to all people contributing to alphaTab through reporting bugs, bringing in feature ideas and contributing code changes to alphaTab!
Highlights of this release
New Features 💡
- [General] ES6 module flavor build of alphaTab. (Issue: #666, PR: #678)
- [General] New Event whenever the playback range changes. (Issue: #732, PR: #782)
- [General] New Event for obtaining the currently played beats across all tracks and voices. (Issue: #722, PR: #878)
- [File Formats] Unicode Characters support in alphaTex. (Issue: #579, PR: #580)
- [File Formats] Alternate Endings support in alphaTex. (Issue: #671, PR: #791) Thanks @jonaro00 for this contribution.
- [File Formats] Minor Key Signature support in alphaTex. (Issue: #875, PR: #880) Thanks @jonaro00 for this contribution.
- [File Formats] Brush Stroke and arpeggio support to alphaTex. (Issue: #505, PR: #799) Thanks @jonaro00 for this contribution.
-
[Rendering] New Options for disabling cursor animations and element highlighting (Issue: #558, PR: #644)
-
[Rendering] Allow the use of multiple font families with fallbacks. (Issue: #546, PR: #953)
-
[Audio] Use AudioWorklets for audio playback when available. (Issue: #480, PR: #642)
-
[Audio] Expose MidiTickLookup for manual lookup of elements by a given midi position. (Discussion: #732, Commit: e8b5850)
Improvements 🚀
- [General] Improved WebPack support. We are not yet at 100% to support everything properly (mainly due to missing features in WebPack like AudioWorklets) but things are getting better. We plan to ship some extended examples over at https://github.com/CoderLine/alphaTabSamplesWeb soon.
- [General] Improved Node.js support. (Issue: #542, PR: #544)
- [General] Improved module exports to have better TypeScript compatibility. (Issue: #682, PR: #684)
- [General] Allow dynamic changing of the display of cursors and the cursor colors. (Issue: #876, PR: #899)
- [General] More exposed low-level APIs. (Issue: #897, PR: #956)
- [General] Allow dynamic change of the transposition pitches. (Issue: #896, PR: #957)
- [Rendering] Render half-note rhythm notation stems different (Issue: #602, PR: #605, Discussion: #601)
- [Rendering] Avoid grace notes sticking fully to the previous note (Issue: #604, PR: #606)
- [Rendering] Use of native browser smooth scrolling (Issue: #558, PR: #644)
- [Rendering] Improved element positioning to reduce browser CPU load (Issue: #558, PR: #644)
- [Rendering] Reduced CPU load on cursor placement (Issue: #558, PR: #645)
- [Rendering] Added Virtualized Display of Rendered Partials (Issue: #532, PR: #689)
- [Audio] Avoid delayed audio settings due to buffering (Issue: #657, PR: #686)
- [Audio] Configurable audio buffer size (Issue: #736, PR: #788)
- [Audio] Improved WebAudio context suspend/resume handling (Issue: #760, PR: #768)
Bug Fixes 🕷️
- [General] Fixed wrong decoding of Colors (Issue: #387, PR: 543) Thanks @kyledecot for this contribution.
- [General] Fixed wrong Score model when not sending it through serializer (Issue: #551, PR: #610)
- [General] Fixed bad detection of note positions (Issue: #744, PR: #746) Thanks @gallegretti for this contribution.
- [General] Allow loading of alphaTab/Skia in Avalonia (Issue: #774, PR: #789)
- [General] Fix beat removeNote function keeping stringLookup reference (Issue #932, PR: #933) Thanks @gallegretti for this contribution.
- [File Formats] Allow Sections to start with a rest in alphaTex (Issue: #683, PR: #685)
- [File Formats] Errornous Slur handling and improved repeat group calculation (Issue: #865, PR: #898)
- [File Formats] Tempo changes on first bar not handled correctly (Issue: #988, PR: #994)
- [File Formats] Ensure Correct Vibrato audio for GP5 files (Issue: #1011, PR: #1014)
- [Rendering] Prevent double printing dialogs/events (Issue: #844, PR: #846)
- [Rendering] Corrected wrong placement of key signatures (Issue: #872, PR: #881)
- [Rendering] Corrected wrong placement of brush strokes (Issue: #935, PR: #955)
- [Rendering] Inability to place the cursor on some beats upon clicking (Issue: #959, PR: #960)
- [Audio] Prevent invalid playback ranges when selecting reverse (Issue: #733, PR: #783)
- [Audio] Corrected timesignature generation causing metronome behavior (Issue: #567, PR: #574)
- [Audio] Ensure Player is fully destroyed with the rest of alphaTab (Issue: #594, PR: #595)
- [Audio] Reworked playback of count-in and individual notes and beats (Issue: #758, PR: #787)
- [Audio] Cursor Snaps/Jumps to Next Bar (Issue: #976, PR: #888)
Maintenance 👷♂️
- [General] TypeScript upgrade, use
override
- [General] Update of Dev and Runtime Dependencies to latest versions.
- [File Formats] AlphaTexImporter corrections and simplifications (PR: #852) Thanks @jonaro00 for this contribution.
- [Rendering] Update Visual Test Suite to use Free Fonts (Issue: #559, PR: #560)
All Changes
Issues: v1.2.3
Full Changelog: v1.2.2...v1.2.3