fix reset in bw_{chorus,phaser} + better enum param name in fx_chorus

This commit is contained in:
Stefano D'Angelo 2023-05-29 11:50:16 +02:00
parent 47cdfb4ee1
commit 5201d3363a
4 changed files with 18 additions and 5 deletions

View File

@ -55,7 +55,7 @@ void bw_example_fx_chorus_set_parameter(bw_example_fx_chorus *instance, int inde
case p_rate:
bw_chorus_set_rate(&instance->chorus_coeffs, 0.01f + 1.99f * value * value * value);
break;
case p_amount:
case p_depth:
bw_chorus_set_amount(&instance->chorus_coeffs, 0.004f * value);
break;
}

View File

@ -29,7 +29,7 @@ extern "C" {
enum {
p_rate,
p_amount,
p_depth,
p_n
};

View File

@ -1,7 +1,7 @@
/*
* Brickworks
*
* Copyright (C) 2022, 2023 Orastron Srl unipersonale
* Copyright (C) 2023 Orastron Srl unipersonale
*
* Brickworks is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 0.4.0 }}}
* version {{{ 0.5.0 }}}
* requires {{{
* bw_buf bw_config bw_comb bw_common bw_delay bw_gain bw_math bw_one_pole
* bw_osc_sin bw_phase_gen
@ -36,7 +36,13 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>0.5.0</strong>:
* <ul>
* <li>Now properly setting feedforward delay on reset.</li>
* </ul>
* </li>
* <li>Version <strong>0.4.0</strong>:
* <ul>
* <li>First release.</li>
* </ul>
* </li>
@ -228,6 +234,7 @@ static inline void bw_chorus_mem_set(bw_chorus_state *BW_RESTRICT state, void *m
static inline void bw_chorus_reset_coeffs(bw_chorus_coeffs *BW_RESTRICT coeffs) {
bw_phase_gen_reset_coeffs(&coeffs->phase_gen_coeffs);
bw_phase_gen_reset_state(&coeffs->phase_gen_coeffs, &coeffs->phase_gen_state, 0.f);
bw_comb_set_delay_ff(&coeffs->comb_coeffs, coeffs->delay);
bw_comb_reset_coeffs(&coeffs->comb_coeffs);
}

View File

@ -20,7 +20,7 @@
/*!
* module_type {{{ dsp }}}
* version {{{ 0.4.0 }}}
* version {{{ 0.5.0 }}}
* requires {{{
* bw_ap1 bw_config bw_common bw_lp1 bw_math bw_one_pole bw_osc_sin
* bw_phase_gen
@ -31,6 +31,11 @@
* }}}
* changelog {{{
* <ul>
* <li>Version <strong>0.5.0</strong>:
* <ul>
* <li>Now properly setting allpass cutoff on reset.</li>
* </ul>
* </li>
* <li>Version <strong>0.4.0</strong>:
* <ul>
* <li>First release.</li>
@ -182,6 +187,7 @@ static inline void bw_phaser_set_sample_rate(bw_phaser_coeffs *BW_RESTRICT coeff
static inline void bw_phaser_reset_coeffs(bw_phaser_coeffs *BW_RESTRICT coeffs) {
bw_phase_gen_reset_coeffs(&coeffs->phase_gen_coeffs);
bw_phase_gen_reset_state(&coeffs->phase_gen_coeffs, &coeffs->phase_gen_state, 0.f);
bw_ap1_set_cutoff(&coeffs->ap1_coeffs, bw_clipf(coeffs->center, 1.f, coeffs->cutoff_max));
bw_ap1_reset_coeffs(&coeffs->ap1_coeffs);
}