Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Feature: Respect AudioContext.outputLatency

Aberta
#1,455 0 comentários 1 reação 1 responsável Ver no GitHub

Mantenedores costumam responder em até 1 dia

@Danielku15 já está trabalhando nisso.

Desde 14/5/2024.

Avaliação

Esta issue ainda não foi avaliada.

Descrição

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.
Linguagem predominante
TypeScript
Estrelas
1.9k
Forks
297
Merge médio
9h 2min
PRs com merge (30d)
44

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CoderLine/alphaTab

Todas as issues de CoderLine/alphaTab

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.