aboutsummaryrefslogtreecommitdiffstats
path: root/alc/effects/base.h
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2020-12-21 21:11:25 -0800
committerChris Robinson <[email protected]>2020-12-24 22:49:55 -0800
commit0d3b041aa25cefb16b6ef2e5d0ad0a2f93986a92 (patch)
treef8988a7f43dea7bf4df48c4e6b2ca7e5f431da46 /alc/effects/base.h
parenteedc42890fa1358a6639051a39f7e73f8d4d3b07 (diff)
Avoid AL types and enums in the effect processors
Diffstat (limited to 'alc/effects/base.h')
-rw-r--r--alc/effects/base.h46
1 files changed, 39 insertions, 7 deletions
diff --git a/alc/effects/base.h b/alc/effects/base.h
index d365cede..fe595797 100644
--- a/alc/effects/base.h
+++ b/alc/effects/base.h
@@ -13,6 +13,38 @@ struct EffectSlot;
struct BufferStorage;
+enum class ChorusWaveform {
+ Sinusoid,
+ Triangle
+};
+
+constexpr float EchoMaxDelay{0.207f};
+constexpr float EchoMaxLRDelay{0.404f};
+
+enum class FShifterDirection {
+ Down,
+ Up,
+ Off
+};
+
+enum class ModulatorWaveform {
+ Sinusoid,
+ Sawtooth,
+ Square
+};
+
+enum class VMorpherPhenome {
+ A, E, I, O, U,
+ AA, AE, AH, AO, EH, ER, IH, IY, UH, UW,
+ B, D, F, G, J, K, L, M, N, P, R, S, T, V, Z
+};
+
+enum class VMorpherWaveform {
+ Sinusoid,
+ Triangle,
+ Sawtooth
+};
+
union EffectProps {
struct {
// Shared Reverb Properties
@@ -51,7 +83,7 @@ union EffectProps {
} Autowah;
struct {
- int Waveform;
+ ChorusWaveform Waveform;
int Phase;
float Rate;
float Depth;
@@ -96,14 +128,14 @@ union EffectProps {
struct {
float Frequency;
- int LeftDirection;
- int RightDirection;
+ FShifterDirection LeftDirection;
+ FShifterDirection RightDirection;
} Fshifter;
struct {
float Frequency;
float HighPassCutoff;
- int Waveform;
+ ModulatorWaveform Waveform;
} Modulator;
struct {
@@ -113,11 +145,11 @@ union EffectProps {
struct {
float Rate;
- int PhonemeA;
- int PhonemeB;
+ VMorpherPhenome PhonemeA;
+ VMorpherPhenome PhonemeB;
int PhonemeACoarseTuning;
int PhonemeBCoarseTuning;
- int Waveform;
+ VMorpherWaveform Waveform;
} Vmorpher;
struct {