updated init value name in bw_{slew_lim,one_pole} + updated TODO

This commit is contained in:
Stefano D'Angelo 2023-08-13 16:00:19 +02:00
parent ec1a70835c
commit 6b38be600e
3 changed files with 13 additions and 17 deletions

4
TODO
View File

@ -34,15 +34,11 @@ code:
* drywet -> dry_wet, ringmod -> ring_mod, etc?
* allow nullptr in C++ wrappers where process_multi arg can be NULL
* better src filter
* bw_env_gen process_multi gate const?
* c++ get coeffs/state? or public? src nIn/OutSamples case (array vs single value), delay read/write, process1? process single?
* check unititialized warnings (check fxpp_comp in particular vs fxpp_satur)
* clearly specify that state is tied to a particular set of coeffs (1:N)
* modulation vs process (multi) no update (post 1.0.0)???
* check assumptions w.r.t. usage of math functions
* extern "C" in a macro to be individually applied (easier #include)
* x_0 vs y_z1 (eg svf vs one_pole/slew_lim)
* float **y -> float * const *y
build system:
* single header generation (vs modules in bwp... to think about)

View File

@ -133,10 +133,10 @@ static inline void bw_one_pole_reset_coeffs(bw_one_pole_coeffs *BW_RESTRICT coef
*
* #### bw_one_pole_reset_state()
* ```>>> */
static inline void bw_one_pole_reset_state(const bw_one_pole_coeffs *BW_RESTRICT coeffs, bw_one_pole_state *BW_RESTRICT state, float y_z1);
static inline void bw_one_pole_reset_state(const bw_one_pole_coeffs *BW_RESTRICT coeffs, bw_one_pole_state *BW_RESTRICT state, float x_0);
/*! <<<```
* Resets the given `state` to its initial values using the given `coeffs`
* and the quiescent/equilibrium value `y_z1`.
* and the quiescent/initial input value `x_0`.
*
* #### bw_one_pole_update_coeffs_ctrl()
* ```>>> */
@ -451,15 +451,15 @@ static inline void bw_one_pole_reset_coeffs(bw_one_pole_coeffs *BW_RESTRICT coef
BW_ASSERT_DEEP(coeffs->state == bw_one_pole_coeffs_state_reset_coeffs);
}
static inline void bw_one_pole_reset_state(const bw_one_pole_coeffs *BW_RESTRICT coeffs, bw_one_pole_state *BW_RESTRICT state, float y_z1) {
static inline void bw_one_pole_reset_state(const bw_one_pole_coeffs *BW_RESTRICT coeffs, bw_one_pole_state *BW_RESTRICT state, float x_0) {
BW_ASSERT(coeffs != NULL);
BW_ASSERT_DEEP(bw_one_pole_coeffs_is_valid(coeffs));
BW_ASSERT_DEEP(coeffs->state >= bw_one_pole_coeffs_state_reset_coeffs);
BW_ASSERT(state != NULL);
BW_ASSERT(bw_is_finite(y_z1));
BW_ASSERT(bw_is_finite(x_0));
(void)coeffs;
state->y_z1 = y_z1;
state->y_z1 = x_0;
#ifdef BW_DEBUG_DEEP
state->hash = bw_hash_sdbm("bw_one_pole_state");
@ -1030,10 +1030,10 @@ inline void OnePole<N_CHANNELS>::setSampleRate(float sampleRate) {
}
template<size_t N_CHANNELS>
inline void OnePole<N_CHANNELS>::reset(float y_z1) {
inline void OnePole<N_CHANNELS>::reset(float x_0) {
bw_one_pole_reset_coeffs(&coeffs);
for (size_t i = 0; i < N_CHANNELS; i++)
bw_one_pole_reset_state(&coeffs, states + i, y_z1);
bw_one_pole_reset_state(&coeffs, states + i, x_0);
}
template<size_t N_CHANNELS>

View File

@ -109,10 +109,10 @@ static inline void bw_slew_lim_reset_coeffs(bw_slew_lim_coeffs *BW_RESTRICT coef
*
* #### bw_slew_lim_reset_state()
* ```>>> */
static inline void bw_slew_lim_reset_state(const bw_slew_lim_coeffs *BW_RESTRICT coeffs, bw_slew_lim_state *BW_RESTRICT state, float y_z1);
static inline void bw_slew_lim_reset_state(const bw_slew_lim_coeffs *BW_RESTRICT coeffs, bw_slew_lim_state *BW_RESTRICT state, float x_0);
/*! <<<```
* Resets the given `state` to its initial values using the given `coeffs`
* and the quiescent/equilibrium value `y_z1`.
* and the quiescent/equilibrium value `x_0`.
*
* #### bw_slew_lim_update_coeffs_ctrl()
* ```>>> */
@ -256,9 +256,9 @@ static inline void bw_slew_lim_reset_coeffs(bw_slew_lim_coeffs *BW_RESTRICT coef
bw_slew_lim_update_coeffs_ctrl(coeffs);
}
static inline void bw_slew_lim_reset_state(const bw_slew_lim_coeffs *BW_RESTRICT coeffs, bw_slew_lim_state *BW_RESTRICT state, float y_z1) {
static inline void bw_slew_lim_reset_state(const bw_slew_lim_coeffs *BW_RESTRICT coeffs, bw_slew_lim_state *BW_RESTRICT state, float x_0) {
(void)coeffs;
state->y_z1 = y_z1;
state->y_z1 = x_0;
}
static inline void bw_slew_lim_update_coeffs_ctrl(bw_slew_lim_coeffs *BW_RESTRICT coeffs) {
@ -464,10 +464,10 @@ inline void SlewLim<N_CHANNELS>::setSampleRate(float sampleRate) {
}
template<size_t N_CHANNELS>
inline void SlewLim<N_CHANNELS>::reset(float y_z1) {
inline void SlewLim<N_CHANNELS>::reset(float x_0) {
bw_slew_lim_reset_coeffs(&coeffs);
for (size_t i = 0; i < N_CHANNELS; i++)
bw_slew_lim_reset_state(&coeffs, states + i, y_z1);
bw_slew_lim_reset_state(&coeffs, states + i, x_0);
}
template<size_t N_CHANNELS>