35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
#include "audio_effects.h"
|
|
|
|
static AudioEffectsParams g_params;
|
|
|
|
static FxEqualizerState g_eqState;
|
|
static FxOverdriveState g_overdriveState;
|
|
static FxSaturationState g_saturationState;
|
|
static FxEchoState g_echoState;
|
|
static FxReverbState g_reverbState;
|
|
|
|
void AudioEffects_Init(void)
|
|
{
|
|
FxEqualizer_Init(&g_eqState, &g_params.equalizer);
|
|
FxOverdrive_Init(&g_overdriveState, &g_params.overdrive);
|
|
FxSaturation_Init(&g_saturationState, &g_params.saturation);
|
|
FxEcho_Init(&g_echoState, &g_params.echo);
|
|
FxReverb_Init(&g_reverbState, &g_params.reverb);
|
|
}
|
|
|
|
float AudioEffects_Process(float input)
|
|
{
|
|
float sample = input;
|
|
sample = FxEqualizer_Process(&g_eqState, &g_params.equalizer, sample);
|
|
sample = FxOverdrive_Process(&g_overdriveState, &g_params.overdrive, sample);
|
|
sample = FxSaturation_Process(&g_saturationState, &g_params.saturation, sample);
|
|
sample = FxEcho_Process(&g_echoState, &g_params.echo, sample);
|
|
sample = FxReverb_Process(&g_reverbState, &g_params.reverb, sample);
|
|
return sample;
|
|
}
|
|
|
|
AudioEffectsParams *AudioEffects_GetParams(void)
|
|
{
|
|
return &g_params;
|
|
}
|