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 }