Make some local constexpr variables static
[openal-soft.git] / al / eax_effect.h
blob1ce41647ce73983ec195975542d873966219a077
1 #ifndef EAX_EFFECT_INCLUDED
2 #define EAX_EFFECT_INCLUDED
5 #include <memory>
7 #include "AL/al.h"
8 #include "core/effects/base.h"
9 #include "eax_eax_call.h"
11 class EaxEffect
13 public:
14 EaxEffect(ALenum type) : al_effect_type_{type} { }
15 virtual ~EaxEffect() = default;
17 const ALenum al_effect_type_;
18 EffectProps al_effect_props_{};
20 // Returns "true" if any immediated property was changed.
21 // [[nodiscard]]
22 virtual bool dispatch(
23 const EaxEaxCall& eax_call) = 0;
24 }; // EaxEffect
27 using EaxEffectUPtr = std::unique_ptr<EaxEffect>;
29 EaxEffectUPtr eax_create_eax_null_effect();
30 EaxEffectUPtr eax_create_eax_chorus_effect();
31 EaxEffectUPtr eax_create_eax_distortion_effect();
32 EaxEffectUPtr eax_create_eax_echo_effect();
33 EaxEffectUPtr eax_create_eax_flanger_effect();
34 EaxEffectUPtr eax_create_eax_frequency_shifter_effect();
35 EaxEffectUPtr eax_create_eax_vocal_morpher_effect();
36 EaxEffectUPtr eax_create_eax_pitch_shifter_effect();
37 EaxEffectUPtr eax_create_eax_ring_modulator_effect();
38 EaxEffectUPtr eax_create_eax_auto_wah_effect();
39 EaxEffectUPtr eax_create_eax_compressor_effect();
40 EaxEffectUPtr eax_create_eax_equalizer_effect();
41 EaxEffectUPtr eax_create_eax_reverb_effect();
43 #endif // !EAX_EFFECT_INCLUDED