aboutsummaryrefslogtreecommitdiffstats
path: root/core/effects/base.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/effects/base.h')
-rw-r--r--core/effects/base.h38
1 files changed, 19 insertions, 19 deletions
diff --git a/core/effects/base.h b/core/effects/base.h
index 66182bf5..df4eb129 100644
--- a/core/effects/base.h
+++ b/core/effects/base.h
@@ -2,7 +2,8 @@
#define CORE_EFFECTS_BASE_H
#include <array>
-#include <stddef.h>
+#include <cstddef>
+#include <variant>
#include "almalloc.h"
#include "alspan.h"
@@ -145,7 +146,7 @@ struct EqualizerProps {
float HighGain;
};
-struct FshiterProps {
+struct FshifterProps {
float Frequency;
FShifterDirection LeftDirection;
FShifterDirection RightDirection;
@@ -184,23 +185,22 @@ struct ConvolutionProps {
std::array<float,3> OrientUp;
};
-union EffectProps {
- ReverbProps Reverb;
- AutowahProps Autowah;
- ChorusProps Chorus;
- FlangerProps Flanger;
- CompressorProps Compressor;
- DistortionProps Distortion;
- EchoProps Echo;
- EqualizerProps Equalizer;
- FshiterProps Fshifter;
- ModulatorProps Modulator;
- PshifterProps Pshifter;
- VmorpherProps Vmorpher;
- DedicatedDialogProps DedicatedDialog;
- DedicatedLfeProps DedicatedLfe;
- ConvolutionProps Convolution;
-};
+using EffectProps = std::variant<std::monostate,
+ ReverbProps,
+ AutowahProps,
+ ChorusProps,
+ FlangerProps,
+ CompressorProps,
+ DistortionProps,
+ EchoProps,
+ EqualizerProps,
+ FshifterProps,
+ ModulatorProps,
+ PshifterProps,
+ VmorpherProps,
+ DedicatedDialogProps,
+ DedicatedLfeProps,
+ ConvolutionProps>;
struct EffectTarget {