Skip to content

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

Description

@roscopeeco

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I'm encountering issues when using the in-built cursor while MIDI recording in my app.

The cursor is working fine elsewhere in the app playing html5 audio or web api drum beat samples.

There 2 issues:

When recording the notation a single empty bar created when entering the page before recording starts. When recording starts the cursor does not move on the empty bar. I edited the notation and created a bar with notation and when I start the recording again the cursor moves ok.
New bars are created and rendered 1 second ahead of time. However when the cursor reaches the new bar point it stops and doesn't continue.
includeNoteBounds = true in the settings

the render update code is:
this.alphaTabApi.score.finish(this.alphaTabApi.settings);
this.alphaTabApi.updateSyncPoints();
this.alphaTabApi.render();

to update the cursor i am using:
this.alphaTabApi.timePosition = elapsedMs;

I have checked in logs and elapsedMs is increasing as expected when hew bars are added.

Is there a setting I am missing or a function call I need to make to let the cursor move to the new bars?

Expected Behavior

I would expect the cursor to move in the empty 1st bar and past it into the newly created bars as recording proceeds s the bars are being created 1 second ahead of time and re rendered in the next 100ms batch processing.

Steps To Reproduce

  1. /* To re-create cursor not playing on 1st empty bar */

  2. Start playing with 1 empty bar and cursor enabled

  3. Start Loop

  4. Add a new bar after 1st half of bar has played 
    
  5. Update ui via render and updateSyncPoints
    
  6. Loop

  7. /* To re-create cursor not proceeding past end of 1st bar */

  8. Start playing with 1 bar containing notes and cursor enabled

  9. Start Loop

  10. Add a new bar after 1st half of bar has played 
    
  11. Update ui via render and updateSyncPoints
    
  12. Loop

Link to jsFiddle, CodePen, Project

No response

Version and Environment

===========================
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] alphaTab 1.7.1
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] commit: e487b958158892679a115693547661dc49a78e16
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] build date: 2025-12-02T16:54:46.381Z
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] High DPI: 2
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] Platform: BrowserModule
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] WebPack: false
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] Vite: false
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] Browser: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Mobile Safari/537.36
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] Window Size: 2160x1688
useAlphaTabSimplified.ts:91 [AlphaTab][VersionInfo] Screen Size: 2160x1688

Platform

Web

Anything else?

No response

Metadata

Metadata

Assignees

Labels

Fields

No fields configured for Feature.

Projects

Status
Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions