Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Feature: Respect AudioContext.outputLatency

Đang mở
#1,455 0 bình luận 1 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@Danielku15 đang làm issue này rồi.

Từ ngày 14/5/2024.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

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.
Ngôn ngữ chính
TypeScript
Star
1.9k
Fork
297
Merge trung bình
9 giờ 2 phút
Pull request đã merge (30 ngày)
44

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của CoderLine/alphaTab

Tất cả issue của CoderLine/alphaTab

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.