24#ifndef TRANSPORT_DELAY_TYPES_H
25#define TRANSPORT_DELAY_TYPES_H
41 for (
uint8_t i = 0; i < n; i++) {
55 for (
uint8_t i = 0; i < n; i++) {
69 for (
uint8_t i = 0; i < n; i++) {
83 for (
uint8_t i = 0; i < n; i++) {
Transport delay filter implementation.
static float get_transport_delay(const struct TransportDelay *td)
Get the current output value from the transport delay buffer without updating it.
static void init_transport_delay(struct TransportDelay *td, uint8_t delay_samples, const float initial_value)
Initialize a transport delay buffer.
static void reset_transport_delay(struct TransportDelay *td, const float initial_value)
Reset the transport delay buffer to a specific initial value.
static float update_transport_delay(struct TransportDelay *td, const float input)
Propagate a new input value through the transport delay buffer.
static void reset_transport_delay_array(const uint8_t n, struct TransportDelay td_array[restrict n], const float initial_value[restrict n])
Reset an array of TransportDelay structures to specific initial values.
static void update_transport_delay_array(uint8_t n, struct TransportDelay td_array[restrict n], const float input_array[restrict n])
Update an array of TransportDelay structures with input values.
static void get_transport_delay_array(const uint8_t n, const struct TransportDelay td_array[restrict n], float output_array[restrict n])
Get output values from an array of TransportDelay structures.
static void init_transport_delay_array(uint8_t n, struct TransportDelay td_array[restrict n], const uint8_t delay_samples[restrict n], float initial_value[restrict n])
Initialize an array of TransportDelay structures.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.