Skip to content

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

@roscopeeco

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

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions