1 module polyplex.core.audio.effects.autowah;
2 import polyplex.core.audio.effects;
3 import polyplex.core.audio.effect;
4 import openal;
5 
6 /**
7     An autowah effect
8 
9     MIGHT NOT WORK WITH OPENAL-SOFT
10 */
11 public class AutoWahEffect : AudioEffect {
12 public:
13     this() {
14         super(EffectType.AutoWah);
15         setupDone();
16     }
17 
18     @property float Attack() {
19         ALfloat val;
20         alGetEffectf(id, AL_AUTOWAH_ATTACK_TIME, &val);
21         return val;
22     }
23 
24     @property void Attack(ALfloat val) {
25         alEffectf(id, AL_AUTOWAH_ATTACK_TIME, val);
26     }
27 
28     @property float Release() {
29         ALfloat val;
30         alGetEffectf(id, AL_AUTOWAH_RELEASE_TIME, &val);
31         return val;
32     }
33 
34     @property void Release(ALfloat val) {
35         alEffectf(id, AL_AUTOWAH_RELEASE_TIME, val);
36     }
37 
38     @property float Resonance() {
39         ALfloat val;
40         alGetEffectf(id, AL_AUTOWAH_RESONANCE, &val);
41         return val;
42     }
43 
44     @property void Resonance(ALfloat val) {
45         alEffectf(id, AL_AUTOWAH_RESONANCE, val);
46     }
47 
48     @property float PeakGain() {
49         ALfloat val;
50         alGetEffectf(id, AL_AUTOWAH_PEAK_GAIN, &val);
51         return val;
52     }
53 
54     @property void PeakGain(ALfloat val) {
55         alEffectf(id, AL_AUTOWAH_PEAK_GAIN, val);
56     }
57 }