From 392d03c0c05f24be3210a04d9a50cd9714d1e265 Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 8 Feb 2026 11:13:53 +0100 Subject: refactor(audio): Finalize audio sync, update docs, and clean up test artifacts - Implemented sample-accurate audio-visual synchronization by using the hardware audio clock as the master time source. - Ensured tracker updates and visual rendering are slaved to the stable audio clock. - Corrected to accept and use delta time for sample-accurate event scheduling. - Updated all relevant tests (, , , , ) to use the new delta time parameter. - Added function. - Marked Task #71 as completed in . - Updated to reflect the audio system's current status. - Created a handoff document: . - Removed temporary peak log files (, ). --- src/tests/test_tracker.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/tests/test_tracker.cc') diff --git a/src/tests/test_tracker.cc b/src/tests/test_tracker.cc index 8265903..6be2a8d 100644 --- a/src/tests/test_tracker.cc +++ b/src/tests/test_tracker.cc @@ -37,13 +37,13 @@ void test_tracker_pattern_triggering() { // drums_basic: // 0.00, ASSET_KICK_1 // 0.00, NOTE_A4 - engine.update(0.0f); + engine.update(0.0f, 0.0f); // Expect 2 voices: kick + note assert(engine.get_active_voice_count() == 2); // Test 2: At music_time = 0.25f (beat 0.5 @ 120 BPM), snare event triggers // 0.25, ASSET_SNARE_1 - engine.update(0.25f); + engine.update(0.25f, 0.0f); // Expect at least 2 voices (snare + maybe others) // Exact count depends on sample duration (kick/note might have finished) int voices = engine.get_active_voice_count(); @@ -51,12 +51,12 @@ void test_tracker_pattern_triggering() { // Test 3: At music_time = 0.5f (beat 1.0), kick event triggers // 0.50, ASSET_KICK_1 - engine.update(0.5f); + engine.update(0.5f, 0.0f); // Expect at least 3 voices (new kick + others) assert(engine.get_active_voice_count() >= 3); // Test 4: Advance to 2.0f - new patterns trigger at time 2.0f - engine.update(2.0f); + engine.update(2.0f, 0.0f); // Many events have triggered by now assert(engine.get_active_voice_count() > 5); -- cgit v1.2.3