Ajout an off

This commit is contained in:
thomas committed 2026-09-05 18:12:47 +02:00
1 parent 5a0106a9a4
commit faef8f3673
4 files changed
+36 -16

No files matched your search

+2
View File
@@ -1,6 +1,7 @@
#ifndef AUDIO_EFFECTS_H #ifndef AUDIO_EFFECTS_H
#define AUDIO_EFFECTS_H #define AUDIO_EFFECTS_H
#include <stdbool.h>
#include "fx_equalizer.h" #include "fx_equalizer.h"
#include "fx_overdrive.h" #include "fx_overdrive.h"
#include "fx_saturation.h" #include "fx_saturation.h"
@@ -16,6 +17,7 @@ extern "C" {
* egaliseur -> overdrive -> saturation -> echo -> reverberation. */ * egaliseur -> overdrive -> saturation -> echo -> reverberation. */
typedef struct typedef struct
{ {
bool audio_on_off;
FxEqualizerParams equalizer; FxEqualizerParams equalizer;
FxOverdriveParams overdrive; FxOverdriveParams overdrive;
FxSaturationParams saturation; FxSaturationParams saturation;
+9
View File
@@ -10,6 +10,7 @@ static FxReverbState g_reverbState;
void AudioEffects_Init(void) void AudioEffects_Init(void)
{ {
g_params.audio_on_off = false;
FxEqualizer_Init(&g_eqState, &g_params.equalizer); FxEqualizer_Init(&g_eqState, &g_params.equalizer);
FxOverdrive_Init(&g_overdriveState, &g_params.overdrive); FxOverdrive_Init(&g_overdriveState, &g_params.overdrive);
FxSaturation_Init(&g_saturationState, &g_params.saturation); FxSaturation_Init(&g_saturationState, &g_params.saturation);
@@ -25,6 +26,14 @@ float AudioEffects_Process(float input)
sample = FxSaturation_Process(&g_saturationState, &g_params.saturation, sample); sample = FxSaturation_Process(&g_saturationState, &g_params.saturation, sample);
sample = FxEcho_Process(&g_echoState, &g_params.echo, sample); sample = FxEcho_Process(&g_echoState, &g_params.echo, sample);
sample = FxReverb_Process(&g_reverbState, &g_params.reverb, sample); sample = FxReverb_Process(&g_reverbState, &g_params.reverb, sample);
/* Coupure de sortie : les effets continuent de tourner (pas de discontinuite
* d'etat au reactivation), seule la sortie audible est reduite au silence. */
if (!g_params.audio_on_off)
{
return 0.0f;
}
return sample; return sample;
} }
@@ -11,6 +11,8 @@ public:
virtual ~OverviewView() {} virtual ~OverviewView() {}
virtual void setupScreen(); virtual void setupScreen();
virtual void tearDownScreen(); virtual void tearDownScreen();
virtual void toggleAudioOnOFF();
protected: protected:
}; };
@@ -1,16 +1,23 @@
#include <gui/overview_screen/OverviewView.hpp> #include <gui/overview_screen/OverviewView.hpp>
#include <audio_effects.h>
OverviewView::OverviewView()
{ OverviewView::OverviewView()
{
}
}
void OverviewView::setupScreen()
{ void OverviewView::setupScreen()
OverviewViewBase::setupScreen(); {
} OverviewViewBase::setupScreen();
toggleButton1.forceState(AudioEffects_GetParams()->audio_on_off);
void OverviewView::tearDownScreen() }
{
OverviewViewBase::tearDownScreen(); void OverviewView::tearDownScreen()
} {
OverviewViewBase::tearDownScreen();
}
void OverviewView::toggleAudioOnOFF()
{
AudioEffects_GetParams()->audio_on_off = toggleButton1.getState();
}