char implementor[EFFECT_STRING_LEN_MAX]; // human readable effect implementor name
} effect_descriptor_t;
+#define EFFECT_CONFIG_ALL (EFFECT_CONFIG_BUFFER | \
+ EFFECT_CONFIG_SMP_RATE | \
+ EFFECT_CONFIG_CHANNELS | \
+ EFFECT_CONFIG_FORMAT | \
+ EFFECT_CONFIG_ACC_MODE)
+
/////////////////////////////////////////////////
// Effect control interface
/////////////////////////////////////////////////
size_t frameCount; // number of frames in buffer
union {
void* raw; // raw pointer to start of buffer
+ float* f32; // pointer to float 32 bit data at start of buffer
int32_t* s32; // pointer to signed 32 bit data at start of buffer
int16_t* s16; // pointer to signed 16 bit data at start of buffer
uint8_t* u8; // pointer to unsigned 8 bit data at start of buffer
char data[]; // Start of Parameter + Value data
} effect_param_t;
+// Maximum effect_param_t size
+#define EFFECT_PARAM_SIZE_MAX 65536
+
// structure used by EFFECT_CMD_OFFLOAD command
typedef struct effect_offload_param_s {
bool isOffload; // true if the playback thread the effect is attached to is offloaded