#include <revolution.h>
#include <revolution/axfx.h>
/*----------------------------------------------*
For mono, stereo, surround
*----------------------------------------------*/
typedef struct AXFX_BUS
{
s32 *left;
s32 *right;
s32 *surround;
} AXFX_BUS;
typedef struct AXFX_CHORUS_EXP
{
// don't touch these
AXFX_CHORUS_EXP_DELAY delay;
(omitted)
u32 active;
// user parameters
f32 delayTime; // 0.1 - 50.f (msec)
f32 depth; // 0.f - 1.f
f32 rate; // 0.1 - 2.f (Hz)
f32 feedback; // 0.f - < 1.f
AXFX_BUS *busIn;
AXFX_BUS *busOut;
f32 outGain;
f32 sendGain;
} AXFX_CHORUS_EXP;
/*----------------------------------------------*
For Dolby Pro Logic II
*----------------------------------------------*/
typedef struct AXFX_BUS_DPL2
{
s32 *L;
s32 *R;
s32 *Ls;
s32 *Rs;
} AXFX_BUS_DPL2;
typedef struct AXFX_CHORUS_EXP_DPL2
{
// don't touch these
AXFX_CHORUS_EXP_DELAY_DPL2 delay;
(omitted)
u32 active;
// user parameters
f32 delayTime; // 0.1 - 50.f (msec)
f32 depth; // 0.f - 1.f
f32 rate; // 0.1f - 2.f (Hz)
f32 feedback; // 0.f - < 1.f
AXFX_BUS_DPL2 *busIn;
AXFX_BUS_DPL2 *busOut;
f32 outGain;
f32 sendGain;
} AXFX_CHORUS_EXP_DPL2;
delayTime |
Length of the delay line (=standard delay time of input audio). Specify a value as 0.1 <= value <= 50.0 (in msec). |
|---|---|
depth |
Range over which the output position from the delay line (=delay time) is varied in time by the LFO. Specified as a proportion of delayTime; the value is in the range of 0.0 <= value <= 1.0. |
rate |
Frequency of LFO. Specify a value as 0.1 <= value <= 2.0 (in Hertz). |
feedback |
Feedback gain. Specify a value as 0.0 <= value < 1.0. This is mainly used to heighten the flanging effect when chorus is used as a flanger. (It produces the powerful swell of sound called "jet plane" sound.) It is also possible to use this as a characteristic delay effect by setting a somewhat longer delay time. |
busIn |
Specifies the input buffer for effect bus sends. |
busOut |
Specifies the output buffer for effect bus sends. |
outGain |
Output gain. Specify a value as 0.0 <= value <= 1.0. |
sendGain |
Send gain to the next-level effect bus. Specify a value as 0.0 <= value <= 1.0. |
When using Chorus Expansion, you must assign appropriate values to the various parameters of the AXFX_CHORUS_EXP or AXFX_CHORUS_EXP_DPL2 structure. Normally, the AXFX_CHORUS_EXP structure is used; the AXFX_CHORUS_EXP_DPL2 structure is used with Dolby Pro Logic II.
2007/08/07 Initial version.
CONFIDENTIAL