Add options to reverse local X and Y coordinates
[openal-soft.git] / al / effects / convolution.cpp
blob8e850fd3e20bbf300c1bf3e74bb4d9313af51a7d
2 #include "config.h"
4 #include "AL/al.h"
5 #include "alc/inprogext.h"
7 #include "alc/effects/base.h"
8 #include "effects.h"
11 namespace {
13 void Convolution_setParami(EffectProps* /*props*/, ALenum param, int /*val*/)
15 switch(param)
17 default:
18 throw effect_exception{AL_INVALID_ENUM, "Invalid null effect integer property 0x%04x",
19 param};
22 void Convolution_setParamiv(EffectProps *props, ALenum param, const int *vals)
24 switch(param)
26 default:
27 Convolution_setParami(props, param, vals[0]);
30 void Convolution_setParamf(EffectProps* /*props*/, ALenum param, float /*val*/)
32 switch(param)
34 default:
35 throw effect_exception{AL_INVALID_ENUM, "Invalid null effect float property 0x%04x",
36 param};
39 void Convolution_setParamfv(EffectProps *props, ALenum param, const float *vals)
41 switch(param)
43 default:
44 Convolution_setParamf(props, param, vals[0]);
48 void Convolution_getParami(const EffectProps* /*props*/, ALenum param, int* /*val*/)
50 switch(param)
52 default:
53 throw effect_exception{AL_INVALID_ENUM, "Invalid null effect integer property 0x%04x",
54 param};
57 void Convolution_getParamiv(const EffectProps *props, ALenum param, int *vals)
59 switch(param)
61 default:
62 Convolution_getParami(props, param, vals);
65 void Convolution_getParamf(const EffectProps* /*props*/, ALenum param, float* /*val*/)
67 switch(param)
69 default:
70 throw effect_exception{AL_INVALID_ENUM, "Invalid null effect float property 0x%04x",
71 param};
74 void Convolution_getParamfv(const EffectProps *props, ALenum param, float *vals)
76 switch(param)
78 default:
79 Convolution_getParamf(props, param, vals);
83 EffectProps genDefaultProps() noexcept
85 EffectProps props{};
86 return props;
89 } // namespace
91 DEFINE_ALEFFECT_VTABLE(Convolution);
93 const EffectProps ConvolutionEffectProps{genDefaultProps()};