summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/test_jittered_audio.cc4
-rw-r--r--src/tests/test_tracker.cc8
-rw-r--r--src/tests/test_tracker_timing.cc20
-rw-r--r--src/tests/test_variable_tempo.cc24
-rw-r--r--src/tests/test_wav_dump.cc2
5 files changed, 29 insertions, 29 deletions
diff --git a/src/tests/test_jittered_audio.cc b/src/tests/test_jittered_audio.cc
index 8afb8c0..cad0da4 100644
--- a/src/tests/test_jittered_audio.cc
+++ b/src/tests/test_jittered_audio.cc
@@ -45,7 +45,7 @@ void test_jittered_audio_basic() {
music_time += dt; // Normal tempo
// Update tracker and fill buffer
- tracker_update(music_time);
+ tracker_update(music_time, dt);
audio_render_ahead(music_time, dt);
// Sleep to simulate frame time
@@ -113,7 +113,7 @@ void test_jittered_audio_with_acceleration() {
music_time += dt * tempo_scale;
// Update tracker and fill buffer
- tracker_update(music_time);
+ tracker_update(music_time, dt * tempo_scale);
audio_render_ahead(music_time, dt);
// Sleep to simulate frame time
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);
diff --git a/src/tests/test_tracker_timing.cc b/src/tests/test_tracker_timing.cc
index 5c0e9bf..a279c8e 100644
--- a/src/tests/test_tracker_timing.cc
+++ b/src/tests/test_tracker_timing.cc
@@ -66,7 +66,7 @@ void test_basic_event_recording() {
engine.init();
// Trigger at t=0.0 (should trigger initial patterns)
- engine.update(0.0f);
+ engine.update(0.0f, 0.0f);
const auto& events = backend.get_events();
printf(" Events triggered at t=0.0: %zu\n", events.size());
@@ -93,17 +93,17 @@ void test_progressive_triggering() {
engine.init();
// Update at t=0
- engine.update(0.0f);
+ engine.update(0.0f, 0.0f);
const size_t events_at_0 = backend.get_events().size();
printf(" Events at t=0.0: %zu\n", events_at_0);
// Update at t=1.0
- engine.update(1.0f);
+ engine.update(1.0f, 0.0f);
const size_t events_at_1 = backend.get_events().size();
printf(" Events at t=1.0: %zu\n", events_at_1);
// Update at t=2.0
- engine.update(2.0f);
+ engine.update(2.0f, 0.0f);
const size_t events_at_2 = backend.get_events().size();
printf(" Events at t=2.0: %zu\n", events_at_2);
@@ -126,7 +126,7 @@ void test_simultaneous_triggers() {
// Clear and update to first trigger point
backend.clear_events();
- engine.update(0.0f);
+ engine.update(0.0f, 0.0f);
const auto& events = backend.get_events();
if (events.size() == 0) {
@@ -174,7 +174,7 @@ void test_timing_monotonicity() {
// Update through several time points
for (float t = 0.0f; t <= 5.0f; t += 0.5f) {
- engine.update(t);
+ engine.update(t, 0.5f);
}
const auto& events = backend.get_events();
@@ -207,7 +207,7 @@ void test_seek_simulation() {
float t = 0.0f;
const float step = 0.1f;
while (t <= seek_target) {
- engine.update(t);
+ engine.update(t, step);
// Simulate audio rendering
float dummy_buffer[512 * 2];
engine.render(dummy_buffer, 512);
@@ -244,7 +244,7 @@ void test_timestamp_clustering() {
// Update through the first 4 seconds
for (float t = 0.0f; t <= 4.0f; t += 0.1f) {
- engine.update(t);
+ engine.update(t, 0.1f);
}
const auto& events = backend.get_events();
@@ -277,7 +277,7 @@ void test_render_integration() {
engine.init();
// Trigger some patterns
- engine.update(0.0f);
+ engine.update(0.0f, 0.0f);
const size_t events_before = backend.get_events().size();
// Render 1 second of silent audio
@@ -289,7 +289,7 @@ void test_render_integration() {
assert(backend_time >= 0.9f && backend_time <= 1.1f);
// Trigger more patterns after time advance
- engine.update(1.0f);
+ engine.update(1.0f, 0.0f);
const size_t events_after = backend.get_events().size();
printf(" Events before: %zu, after: %zu\n", events_before, events_after);
diff --git a/src/tests/test_variable_tempo.cc b/src/tests/test_variable_tempo.cc
index e27e7d6..4fc81e3 100644
--- a/src/tests/test_variable_tempo.cc
+++ b/src/tests/test_variable_tempo.cc
@@ -44,7 +44,7 @@ void test_basic_tempo_scaling() {
for (int i = 0; i < 10; ++i) {
float dt = 0.1f; // 100ms physical steps
music_time += dt * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, dt * tempo_scale);
}
// After 1 second physical time at 1.0x tempo:
@@ -64,7 +64,7 @@ void test_basic_tempo_scaling() {
for (int i = 0; i < 10; ++i) {
float dt = 0.1f;
music_time += dt * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, dt * tempo_scale);
}
// After 1 second physical time at 2.0x tempo:
@@ -84,7 +84,7 @@ void test_basic_tempo_scaling() {
for (int i = 0; i < 10; ++i) {
float dt = 0.1f;
music_time += dt * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, dt * tempo_scale);
}
// After 1 second physical time at 0.5x tempo:
@@ -123,7 +123,7 @@ void test_2x_speedup_reset_trick() {
tempo_scale = fminf(tempo_scale, 2.0f);
music_time += dt * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, dt * tempo_scale);
}
printf(" After 5s physical: tempo=%.2fx, music_time=%.3f\n", tempo_scale,
@@ -142,7 +142,7 @@ void test_2x_speedup_reset_trick() {
for (int i = 0; i < 20; ++i) {
physical_time += dt;
music_time += dt * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, dt * tempo_scale);
}
printf(" After reset + 2s: tempo=%.2fx, music_time=%.3f\n", tempo_scale,
@@ -183,7 +183,7 @@ void test_2x_slowdown_reset_trick() {
tempo_scale = fmaxf(tempo_scale, 0.5f);
music_time += dt * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, dt * tempo_scale);
}
printf(" After 5s physical: tempo=%.2fx, music_time=%.3f\n", tempo_scale,
@@ -201,7 +201,7 @@ void test_2x_slowdown_reset_trick() {
for (int i = 0; i < 20; ++i) {
physical_time += dt;
music_time += dt * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, dt * tempo_scale);
}
printf(" After reset + 2s: tempo=%.2fx, music_time=%.3f\n", tempo_scale,
@@ -235,7 +235,7 @@ void test_pattern_density_swap() {
printf(" Phase 1: Sparse pattern, normal tempo\n");
for (float t = 0.0f; t < 3.0f; t += 0.1f) {
music_time += 0.1f * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, 0.1f * tempo_scale);
}
const size_t sparse_events = backend.get_events().size();
printf(" Events during sparse phase: %zu\n", sparse_events);
@@ -245,7 +245,7 @@ void test_pattern_density_swap() {
tempo_scale = 2.0f;
for (float t = 0.0f; t < 2.0f; t += 0.1f) {
music_time += 0.1f * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, 0.1f * tempo_scale);
}
const size_t events_at_2x = backend.get_events().size() - sparse_events;
printf(" Additional events during 2.0x: %zu\n", events_at_2x);
@@ -260,7 +260,7 @@ void test_pattern_density_swap() {
const size_t events_before_reset_phase = backend.get_events().size();
for (float t = 0.0f; t < 2.0f; t += 0.1f) {
music_time += 0.1f * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, 0.1f * tempo_scale);
}
const size_t events_after_reset = backend.get_events().size();
@@ -304,7 +304,7 @@ void test_continuous_acceleration() {
tempo_scale = fmaxf(min_tempo, fminf(max_tempo, tempo_scale));
music_time += dt * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, dt * tempo_scale);
// Log at key points
if (i % 50 == 0) {
@@ -354,7 +354,7 @@ void test_oscillating_tempo() {
float tempo_scale = 1.0f + 0.2f * sinf(physical_time * 2.0f);
music_time += dt * tempo_scale;
- engine.update(music_time);
+ engine.update(music_time, dt * tempo_scale);
if (i % 25 == 0) {
printf(" t=%.2fs: tempo=%.3fx, music_time=%.3f\n", physical_time,
diff --git a/src/tests/test_wav_dump.cc b/src/tests/test_wav_dump.cc
index 880c8cd..eb14652 100644
--- a/src/tests/test_wav_dump.cc
+++ b/src/tests/test_wav_dump.cc
@@ -59,7 +59,7 @@ void test_wav_format_matches_live_audio() {
float music_time = 0.0f;
for (float t = 0.0f; t < duration; t += update_dt) {
// Update audio engine (triggers patterns)
- engine.update(music_time);
+ engine.update(music_time, update_dt);
music_time += update_dt;
// Render audio ahead