Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Feature: Respect AudioContext.outputLatency

Aperta
#1,455 0 commenti 1 reazione 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@Danielku15 ci sta già lavorando.

Dal 14/5/2024.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

See https://github.com/CoderLine/alphaTab/discussions/1454

AlphaTab currently does not respect the AudioContext.outputLatency describing the timely difference between us passing the audio samples to the context and the actual time it will be heard by the user.

This leads to a shift of the cursor and seen audio.

AlphaTab should correctly expose the time and tick position according to the heard audio on the synthesizer area. Internally it might still need to keep its "synth" timeline. Things to consider:

  • It seems the audio latency is not static but can change any time.
  • There is a time axis within the midi sequencer, and one on the synth level.
    • The sequencer position decides which midi events to play next for audio generation.
    • The one on synth level is handling the actual audio position according to the samples played by the output. Here we likely need adjustment
  • The synth level audio is also used to determine whether the playback finished (and potentially seek back to the start of the desired playback range - if looping is active).
  • When looping and jumping/seeking back to an older position, we need to be careful on just applying the latency wrongly. We might be stopping/seeking too early resulting in a strange cursor jump/positioning.
  • Testing might be tricky as I'm not aware of a way to modify the latency.
Lingua principale
TypeScript
Stelle
1.9k
Fork
297
Merge medio
9h 2m
PR unite (30g)
44

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CoderLine/alphaTab

Tutte le issue di CoderLine/alphaTab

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.