Skip to content

feat: allow recording-like flows with optimized performance#2585

Draft
Danielku15 wants to merge 4 commits intodevelopfrom
feature/recording-updates
Draft

feat: allow recording-like flows with optimized performance#2585
Danielku15 wants to merge 4 commits intodevelopfrom
feature/recording-updates

Conversation

@Danielku15
Copy link
Member

Issues

Fixes #2560

Proposed changes

This PR adds some optimizations to allow a recording like workflow using alphaTab where we dynamically append bars and update the content of the "current" bar. All while having a "fake silent playback" for a cursor display.

As of now this PR adds:

  • a small demo recorder page which
    • sets up an optimized view for recording which avoids flickering as we extend and update. other modes might also technically work but might cause way more layout shifting (bad for UX and performance).
    • configures the player in way to play for 30mins despite the music sheet being shorter.
    • it extends the music sheet system-by-system (rows) and adds a new empty system at 80% of the second last bar. This reduces the number of times we need to insert new bars and provides a smooth cursor experience.
    • the bars are filled with quarter rests, and as users type 0-9 on the keyboard, a single note with the same fret is inserted or updated. this is simply demonstrating the recording part in a very simplified way. These updates might depend on the app (editor, recording etc.)
  • adds a new alphaTab feature which allows specifying which bar (master bar index) was changed. alphaTab will then re-render the music sheet in an optimized way avoiding performance intense full-relayouts.

Further updates might be done based on the inputs we get on #2560

Checklist

  • I consent that this change becomes part of alphaTab under it's current or any future open source license
  • Changes are implemented
  • New tests were added

Further details

  • This is a breaking change
  • This change will require update of the documentation/website

@Danielku15 Danielku15 self-assigned this Mar 1, 2026
@Danielku15 Danielku15 changed the title Feature/recording updates feat: allow recording-like flows with optimized performance Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Issues with the in-built cursor starting and when adding new bars during MIDI recording

1 participant