mirror of
https://github.com/zeldaret/ss
synced 2026-05-24 23:21:41 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
60 lines
1.7 KiB
C
60 lines
1.7 KiB
C
#ifndef RVL_SDK_AXFX_CHORUS_EXP_H
|
|
#define RVL_SDK_AXFX_CHORUS_EXP_H
|
|
#include "common.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// Forward declarations
|
|
typedef struct AXFX_BUS;
|
|
typedef struct AXFX_BUFFERUPDATE;
|
|
|
|
typedef struct AXFX_CHORUS_EXP_DELAY {
|
|
f32 *line[3]; // at 0x0
|
|
u32 inPos; // at 0xC
|
|
u32 outPos; // at 0x10
|
|
u32 lastPos; // at 0x14
|
|
u32 sizeFP; // at 0x18
|
|
u32 size; // at 0x1C
|
|
} AXFX_CHORUS_EXP_DELAY;
|
|
|
|
typedef struct AXFX_CHORUS_EXP_LFO {
|
|
s32 *table; // at 0x0
|
|
s32 phaseAdd; // at 0x4
|
|
s32 stepSamp; // at 0x8
|
|
s32 depthSamp; // at 0xC
|
|
u32 phase; // at 0x10
|
|
u32 sign; // at 0x14
|
|
u32 lastNum; // at 0x18
|
|
s32 lastValue; // at 0x1C
|
|
s32 grad; // at 0x20
|
|
s32 gradFactor; // at 0x24
|
|
} AXFX_CHORUS_EXP_LFO;
|
|
|
|
typedef struct AXFX_CHORUS_EXP {
|
|
AXFX_CHORUS_EXP_DELAY delay; // at 0x0
|
|
AXFX_CHORUS_EXP_LFO lfo; // at 0x20
|
|
f32 history[3][4]; // at 0x48
|
|
u32 histIndex; // at 0x78
|
|
u32 active; // at 0x7C
|
|
f32 delayTime; // at 0x80
|
|
f32 depth; // at 0x84
|
|
f32 rate; // at 0x88
|
|
f32 feedback; // at 0x8C
|
|
struct AXFX_BUS *busIn; // at 0x90
|
|
struct AXFX_BUS *busOut; // at 0x94
|
|
f32 outGain; // at 0x98
|
|
f32 sendGain; // at 0x9C
|
|
} AXFX_CHORUS_EXP;
|
|
|
|
u32 AXFXChorusExpGetMemSize(const AXFX_CHORUS_EXP *fx);
|
|
BOOL AXFXChorusExpInit(AXFX_CHORUS_EXP *fx);
|
|
void AXFXChorusExpShutdown(AXFX_CHORUS_EXP *fx);
|
|
BOOL AXFXChorusExpSettings(AXFX_CHORUS_EXP *fx);
|
|
void AXFXChorusExpCallback(struct AXFX_BUFFERUPDATE *update, AXFX_CHORUS_EXP *fx);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|