public void DeleteReverb(IALReverb reverb) { OpenALReverb rv = (reverb as OpenALReverb); uint slot = rv.SlotHandle; uint effect = rv.EffectHandle; EFX.alDeleteAuxiliaryEffectSlots((IntPtr)1, ref slot); EFX.alDeleteEffects((IntPtr)1, ref effect); }
public void CommitReverbChanges(IALReverb reverb) { OpenALReverb rv = (reverb as OpenALReverb); EFX.alAuxiliaryEffectSloti( rv.SlotHandle, EFX.AL_EFFECTSLOT_EFFECT, (int)rv.EffectHandle ); }
public void DeleteReverb(IALReverb reverb) { OpenALReverb rv = (reverb as OpenALReverb); uint slot = rv.SlotHandle; uint effect = rv.EffectHandle; EFX.alDeleteAuxiliaryEffectSlots(1, ref slot); EFX.alDeleteEffects(1, ref effect); #if VERBOSE_AL_DEBUGGING CheckALError(); #endif }
public void CommitReverbChanges(IALReverb reverb) { OpenALReverb rv = (reverb as OpenALReverb); EFX.alAuxiliaryEffectSloti( rv.SlotHandle, EFX.AL_EFFECTSLOT_EFFECT, (int)rv.EffectHandle ); #if VERBOSE_AL_DEBUGGING CheckALError(); #endif }
public IALReverb GenReverb(DSPParameter[] parameters) { uint slot, effect; EFX.alGenAuxiliaryEffectSlots(1, out slot); EFX.alGenEffects(1, out effect); // Set up the Reverb Effect EFX.alEffecti( effect, EFX.AL_EFFECT_TYPE, EFX.AL_EFFECT_EAXREVERB ); IALReverb result = new OpenALReverb(slot, effect); // Apply initial values SetReverbReflectionsDelay(result, parameters[0].Value); SetReverbDelay(result, parameters[1].Value); SetReverbPositionLeft(result, parameters[2].Value); SetReverbPositionRight(result, parameters[3].Value); SetReverbPositionLeftMatrix(result, parameters[4].Value); SetReverbPositionRightMatrix(result, parameters[5].Value); SetReverbEarlyDiffusion(result, parameters[6].Value); SetReverbLateDiffusion(result, parameters[7].Value); SetReverbLowEQGain(result, parameters[8].Value); SetReverbLowEQCutoff(result, parameters[9].Value); SetReverbHighEQGain(result, parameters[10].Value); SetReverbHighEQCutoff(result, parameters[11].Value); SetReverbRearDelay(result, parameters[12].Value); SetReverbRoomFilterFrequency(result, parameters[13].Value); SetReverbRoomFilterMain(result, parameters[14].Value); SetReverbRoomFilterHighFrequency(result, parameters[15].Value); SetReverbReflectionsGain(result, parameters[16].Value); SetReverbGain(result, parameters[17].Value); SetReverbDecayTime(result, parameters[18].Value); SetReverbDensity(result, parameters[19].Value); SetReverbRoomSize(result, parameters[20].Value); SetReverbWetDryMix(result, parameters[21].Value); // Bind the Effect to the EffectSlot. XACT will use the EffectSlot. EFX.alAuxiliaryEffectSloti( slot, EFX.AL_EFFECTSLOT_EFFECT, (int)effect ); #if VERBOSE_AL_DEBUGGING CheckALError(); #endif return(result); }
public IALReverb GenReverb(DSPParameter[] parameters) { uint slot, effect; EFX.alGenAuxiliaryEffectSlots((IntPtr) 1, out slot); EFX.alGenEffects((IntPtr) 1, out effect); // Set up the Reverb Effect EFX.alEffecti( effect, EFX.AL_EFFECT_TYPE, EFX.AL_EFFECT_EAXREVERB ); IALReverb result = new OpenALReverb(slot, effect); // Apply initial values SetReverbReflectionsDelay(result, parameters[0].Value); SetReverbDelay(result, parameters[1].Value); SetReverbPositionLeft(result, parameters[2].Value); SetReverbPositionRight(result, parameters[3].Value); SetReverbPositionLeftMatrix(result, parameters[4].Value); SetReverbPositionRightMatrix(result, parameters[5].Value); SetReverbEarlyDiffusion(result, parameters[6].Value); SetReverbLateDiffusion(result, parameters[7].Value); SetReverbLowEQGain(result, parameters[8].Value); SetReverbLowEQCutoff(result, parameters[9].Value); SetReverbHighEQGain(result, parameters[10].Value); SetReverbHighEQCutoff(result, parameters[11].Value); SetReverbRearDelay(result, parameters[12].Value); SetReverbRoomFilterFrequency(result, parameters[13].Value); SetReverbRoomFilterMain(result, parameters[14].Value); SetReverbRoomFilterHighFrequency(result, parameters[15].Value); SetReverbReflectionsGain(result, parameters[16].Value); SetReverbGain(result, parameters[17].Value); SetReverbDecayTime(result, parameters[18].Value); SetReverbDensity(result, parameters[19].Value); SetReverbRoomSize(result, parameters[20].Value); SetReverbWetDryMix(result, parameters[21].Value); // Bind the Effect to the EffectSlot. XACT will use the EffectSlot. EFX.alAuxiliaryEffectSloti( slot, EFX.AL_EFFECTSLOT_EFFECT, (int) effect ); #if VERBOSE_AL_DEBUGGING CheckALError(); #endif return result; }