1 module polyplex.core.audio.effects.distortion; 2 import polyplex.core.audio.effects; 3 import polyplex.core.audio.effect; 4 import openal; 5 6 /// An Distortion 7 public class DistortionEffect : AudioEffect { 8 public: 9 this() { 10 super(EffectType.Distortion); 11 setupDone(); 12 } 13 14 @property float Edge() { 15 ALfloat val; 16 alGetEffectf(id, AL_DISTORTION_EDGE, &val); 17 return val; 18 } 19 20 @property void Edge(ALfloat val) { 21 alEffectf(id, AL_DISTORTION_EDGE, val); 22 } 23 24 @property float Gain() { 25 ALfloat val; 26 alGetEffectf(id, AL_DISTORTION_GAIN, &val); 27 return val; 28 } 29 30 @property void Gain(ALfloat val) { 31 alEffectf(id, AL_DISTORTION_GAIN, val); 32 } 33 34 @property float LowpassCutoff() { 35 ALfloat val; 36 alGetEffectf(id, AL_DISTORTION_LOWPASS_CUTOFF, &val); 37 return val; 38 } 39 40 @property void LowpassCutoff(ALfloat val) { 41 alEffectf(id, AL_DISTORTION_LOWPASS_CUTOFF, val); 42 } 43 44 @property float EQCenter() { 45 ALfloat val; 46 alGetEffectf(id, AL_DISTORTION_EQCENTER, &val); 47 return val; 48 } 49 50 @property void EQCenter(ALfloat val) { 51 alEffectf(id, AL_DISTORTION_EQCENTER, val); 52 } 53 54 @property float EQBandwidth() { 55 ALfloat val; 56 alGetEffectf(id, AL_DISTORTION_EQBANDWIDTH, &val); 57 return val; 58 } 59 60 @property void EQBandwidth(ALfloat val) { 61 alEffectf(id, AL_DISTORTION_EQBANDWIDTH, val); 62 } 63 }