Files
2026-10-18 14:06:40 +02:00

40 lines
1009 B
C

#ifndef AUDIO_EFFECTS_H
#define AUDIO_EFFECTS_H
#include <stdbool.h>
#include "fx_octaver.h"
#include "fx_equalizer.h"
#include "fx_overdrive.h"
#include "fx_saturation.h"
#include "fx_echo.h"
#include "fx_reverb.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Structure regroupant les parametres de tous les effets. Modifiable directement
* (ex: depuis l'IHM) via AudioEffects_GetParams(). L'ordre de traitement fixe est :
* octaveur -> egaliseur -> overdrive -> saturation -> echo -> reverberation. */
typedef struct
{
bool audio_on_off;
float master_volume; /* volume general en sortie de chaine, 0.0 a 1.0 */
FxOctaverParams octaver;
FxEqualizerParams equalizer;
FxOverdriveParams overdrive;
FxSaturationParams saturation;
FxEchoParams echo;
FxReverbParams reverb;
} AudioEffectsParams;
void AudioEffects_Init(void);
float AudioEffects_Process(float input);
AudioEffectsParams *AudioEffects_GetParams(void);
#ifdef __cplusplus
}
#endif
#endif /* AUDIO_EFFECTS_H */