From 145229b9ec9b0f50cdef537f1bae5f09c3198ead Mon Sep 17 00:00:00 2001 From: spl3g Date: Fri, 10 Oct 2025 13:34:07 +0300 Subject: Make envelope customizable --- src/main.c | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index d40945b..bd9d5e1 100644 --- a/src/main.c +++ b/src/main.c @@ -64,24 +64,57 @@ int init_sounds(app_state *state) { state->sound_thread = sound_thread; - synth_message param_message = { + synth_message param_messages[6] = { + { .type = MSG_PARAM_CHANGE, .param_change = { .param_type = PARAM_OSC, .value = OSC_SQUARE, }, - }; - mqueue_push(&state->msg_queue, param_message); - param_message = (synth_message){ + }, + { .type = MSG_PARAM_CHANGE, .param_change = { .param_type = PARAM_VOLUME, .value = 1, }, + }, + { + .type = MSG_PARAM_CHANGE, + .param_change = + { + .param_type = PARAM_ATTACK, + .value = 0.005 * SAMPLE_RATE, + }, + }, + { + .type = MSG_PARAM_CHANGE, + .param_change = + { + .param_type = PARAM_DECAY, + .value = 0.0010 * SAMPLE_RATE, + }, + }, + { + .type = MSG_PARAM_CHANGE, + .param_change = + { + .param_type = PARAM_SUSTAIN, + .value = 0.7, + }, + }, + { + .type = MSG_PARAM_CHANGE, + .param_change = + { + .param_type = PARAM_RELEASE, + .value = 1.000 * SAMPLE_RATE, + }, + }, }; - mqueue_push(&state->msg_queue, param_message); + mqueue_push_many(&state->msg_queue, param_messages, 6); return 0; } -- cgit v1.2.3