diff options
author | Chris Robinson <[email protected]> | 2020-12-21 21:11:25 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2020-12-24 22:49:55 -0800 |
commit | 0d3b041aa25cefb16b6ef2e5d0ad0a2f93986a92 (patch) | |
tree | f8988a7f43dea7bf4df48c4e6b2ca7e5f431da46 /alc/effects/base.h | |
parent | eedc42890fa1358a6639051a39f7e73f8d4d3b07 (diff) |
Avoid AL types and enums in the effect processors
Diffstat (limited to 'alc/effects/base.h')
-rw-r--r-- | alc/effects/base.h | 46 |
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 { |