diff --git a/src/main.c b/src/main.c index 58d427d..8f5f256 100644 --- a/src/main.c +++ b/src/main.c @@ -25,8 +25,12 @@ static int process(jack_nframes_t nframes, void *arg) jack_default_audio_sample_t *in = (jack_default_audio_sample_t *) jack_port_get_buffer(input_port, nframes); jack_default_audio_sample_t *out = (jack_default_audio_sample_t *) jack_port_get_buffer(output_port, nframes); - if (in && out) { - memcpy(out, in, sizeof(jack_default_audio_sample_t) * nframes); + if (out) { + if (in) { + memcpy(out, in, sizeof(jack_default_audio_sample_t) * nframes); + } else { + memset(out, 0, sizeof(jack_default_audio_sample_t) * nframes); + } } void *midi_ctrl_buf = jack_port_get_buffer(midi_control_port, nframes); @@ -42,19 +46,15 @@ static int process(jack_nframes_t nframes, void *arg) switch (current_state) { case STATE_IDLE: current_state = STATE_RECORD; - fprintf(stderr, "[looper] -> record\n"); break; case STATE_RECORD: current_state = STATE_LOOPING; - fprintf(stderr, "[looper] -> looping\n"); break; case STATE_LOOPING: current_state = STATE_PAUSED; - fprintf(stderr, "[looper] -> paused\n"); break; case STATE_PAUSED: current_state = STATE_LOOPING; - fprintf(stderr, "[looper] -> looping\n"); break; } }