1
2 #include "config.h"
3
4 #include "AL/al.h"
5 #include "AL/efx.h"
6
7 #include "effects.h"
8 #include "effects/base.h"
9
10
11 namespace {
12
Null_setParami(EffectProps *,ALenum param,int)13 void Null_setParami(EffectProps* /*props*/, ALenum param, int /*val*/)
14 {
15 switch(param)
16 {
17 default:
18 throw effect_exception{AL_INVALID_ENUM, "Invalid null effect integer property 0x%04x",
19 param};
20 }
21 }
Null_setParamiv(EffectProps * props,ALenum param,const int * vals)22 void Null_setParamiv(EffectProps *props, ALenum param, const int *vals)
23 {
24 switch(param)
25 {
26 default:
27 Null_setParami(props, param, vals[0]);
28 }
29 }
Null_setParamf(EffectProps *,ALenum param,float)30 void Null_setParamf(EffectProps* /*props*/, ALenum param, float /*val*/)
31 {
32 switch(param)
33 {
34 default:
35 throw effect_exception{AL_INVALID_ENUM, "Invalid null effect float property 0x%04x",
36 param};
37 }
38 }
Null_setParamfv(EffectProps * props,ALenum param,const float * vals)39 void Null_setParamfv(EffectProps *props, ALenum param, const float *vals)
40 {
41 switch(param)
42 {
43 default:
44 Null_setParamf(props, param, vals[0]);
45 }
46 }
47
Null_getParami(const EffectProps *,ALenum param,int *)48 void Null_getParami(const EffectProps* /*props*/, ALenum param, int* /*val*/)
49 {
50 switch(param)
51 {
52 default:
53 throw effect_exception{AL_INVALID_ENUM, "Invalid null effect integer property 0x%04x",
54 param};
55 }
56 }
Null_getParamiv(const EffectProps * props,ALenum param,int * vals)57 void Null_getParamiv(const EffectProps *props, ALenum param, int *vals)
58 {
59 switch(param)
60 {
61 default:
62 Null_getParami(props, param, vals);
63 }
64 }
Null_getParamf(const EffectProps *,ALenum param,float *)65 void Null_getParamf(const EffectProps* /*props*/, ALenum param, float* /*val*/)
66 {
67 switch(param)
68 {
69 default:
70 throw effect_exception{AL_INVALID_ENUM, "Invalid null effect float property 0x%04x",
71 param};
72 }
73 }
Null_getParamfv(const EffectProps * props,ALenum param,float * vals)74 void Null_getParamfv(const EffectProps *props, ALenum param, float *vals)
75 {
76 switch(param)
77 {
78 default:
79 Null_getParamf(props, param, vals);
80 }
81 }
82
genDefaultProps()83 EffectProps genDefaultProps() noexcept
84 {
85 EffectProps props{};
86 return props;
87 }
88
89 } // namespace
90
91 DEFINE_ALEFFECT_VTABLE(Null);
92
93 const EffectProps NullEffectProps{genDefaultProps()};
94