fix: enable continuous sine tone in audio pass-through test

Co-authored-by: aider (deepseek/deepseek-reasoner) <aider@aider.chat>
This commit is contained in:
Loic Coenen
2026-05-07 22:20:31 +00:00
parent 7e7b12c89a
commit 74b68eb378

View File

@@ -23,6 +23,7 @@ static volatile int passthrough_done = 0;
static volatile int beep_remaining = 0; static volatile int beep_remaining = 0;
static volatile int bursts = 0; static volatile int bursts = 0;
static volatile int prev_above = 0; static volatile int prev_above = 0;
static int continuous_sine = 0;
/* variables for MIDI injection (used by send_jack_note_on) */ /* variables for MIDI injection (used by send_jack_note_on) */
static volatile int midi_inject_pending = 0; static volatile int midi_inject_pending = 0;
@@ -61,14 +62,14 @@ static int passthrough_process(jack_nframes_t nframes, void *arg) {
float *outf = out; float *outf = out;
const float *inf = in; const float *inf = in;
for (jack_nframes_t i = 0; i < nframes; i++) { for (jack_nframes_t i = 0; i < nframes; i++) {
/* generate beep while beep_remaining > 0 */ /* generate beep while beep_remaining > 0 or continuous sine */
float out_val; float out_val;
if (beep_remaining > 0) { if (continuous_sine || beep_remaining > 0) {
out_val = sinf(passthrough_phase); out_val = sinf(passthrough_phase);
passthrough_phase += 2.0f * (float)M_PI * passthrough_freq / passthrough_sample_rate; passthrough_phase += 2.0f * (float)M_PI * passthrough_freq / passthrough_sample_rate;
if (passthrough_phase > 2.0f * M_PI) if (passthrough_phase > 2.0f * M_PI)
passthrough_phase -= 2.0f * M_PI; passthrough_phase -= 2.0f * M_PI;
beep_remaining--; if (beep_remaining > 0) beep_remaining--;
} else { } else {
out_val = 0.0f; out_val = 0.0f;
} }
@@ -183,6 +184,8 @@ static int test_audio_pass_through(void) {
passthrough_total_samples = 0; passthrough_total_samples = 0;
passthrough_sum_sq = 0.0; passthrough_sum_sq = 0.0;
passthrough_done = 0; passthrough_done = 0;
continuous_sine = 1; /* enable continuous tone for this test */
beep_remaining = 0; /* not needed */
jack_set_process_callback(client, passthrough_process, NULL); jack_set_process_callback(client, passthrough_process, NULL);
if (jack_activate(client) != 0) { if (jack_activate(client) != 0) {
fprintf(stderr, " FAIL: cannot activate client\n"); fprintf(stderr, " FAIL: cannot activate client\n");
@@ -309,6 +312,7 @@ static int test_looper_looping(void) {
usleep(200000); /* allow state to change */ usleep(200000); /* allow state to change */
int sr = jack_get_sample_rate(client); int sr = jack_get_sample_rate(client);
continuous_sine = 0; /* disable continuous tone */
beep_remaining = (int)(0.1f * sr); /* 0.1 second beep */ beep_remaining = (int)(0.1f * sr); /* 0.1 second beep */
bursts = 0; bursts = 0;
prev_above = 0; prev_above = 0;