#ifndef RVL_SDK_AXFX_REVERB_HI_EXP_H #define RVL_SDK_AXFX_REVERB_HI_EXP_H #include "common.h" #ifdef __cplusplus extern "C" { #endif // Forward declarations typedef struct AXFX_BUS; typedef struct AXFX_BUFFERUPDATE; typedef struct AXFX_REVERBHI_EXP { f32 *earlyLine[3]; // at 0x0 u32 earlyPos[3]; // at 0xC u32 earlyLength; // at 0x18 u32 earlyMaxLength; // at 0x1C f32 earlyCoef[3]; // at 0x20 f32 *preDelayLine[3]; // at 0x2C u32 preDelayPos; // at 0x38 u32 preDelayLength; // at 0x3C u32 preDelayMaxLength; // at 0x40 f32 *combLine[3][3]; // at 0x44 u32 combPos[3]; // at 0x68 u32 combLength[3]; // at 0x74 u32 combMaxLength[3]; // at 0x80 f32 combCoef[3]; // at 0x8C f32 *allpassLine[3][2]; // at 0x98 u32 allpassPos[2]; // at 0xB0 u32 allpassLength[2]; // at 0xB8 u32 allpassMaxLength[2]; // at 0xC0 f32 *lastAllpassLine[3]; // at 0xC8 u32 lastAllpassPos[3]; // at 0xD4 u32 lastAllpassLength[3]; // at 0xE0 u32 lastAllpassMaxLength[3]; // at 0xEC f32 allpassCoef; // at 0xF8 f32 lastLpfOut[3]; // at 0xFC f32 lpfCoef; // at 0x108 u32 active; // at 0x10C u32 earlyMode; // at 0x110 f32 preDelayTimeMax; // at 0x114 f32 preDelayTime; // at 0x118 u32 fusedMode; // at 0x11C f32 fusedTime; // at 0x120 f32 coloration; // at 0x124 f32 damping; // at 0x128 f32 crosstalk; // at 0x12C f32 earlyGain; // at 0x130 f32 fusedGain; // at 0x134 struct AXFX_BUS *busIn; // at 0x138 struct AXFX_BUS *busOut; // at 0x13C f32 outGain; // at 0x140 f32 sendGain; // at 0x144 } AXFX_REVERBHI_EXP; u32 AXFXReverbHiExpGetMemSize(const AXFX_REVERBHI_EXP *fx); BOOL AXFXReverbHiExpInit(AXFX_REVERBHI_EXP *fx); void AXFXReverbHiExpShutdown(AXFX_REVERBHI_EXP *fx); BOOL AXFXReverbHiExpSettings(AXFX_REVERBHI_EXP *fx); void AXFXReverbHiExpCallback(struct AXFX_BUFFERUPDATE *update, AXFX_REVERBHI_EXP *fx); #ifdef __cplusplus } #endif #endif