/// <summary> /// Sets the Reverb effect parameters. /// </summary> /// <param name="parameters">The reverb effect parameters.</param> /// /// <exception cref="ObjectDisposedException">Is thrown when this instance was already disposed.</exception> public void SetReverbEffectParameters(ReverbParameters parameters) { DisposeGuard(); reverbParameters = parameters; if (ReverbVoice != null && reverb != null) { ReverbVoice.SetEffectParameters(0, parameters); } }
/// <summary> /// Disables the reverb effect. /// </summary> public void DisableReverbEffect() { DisposeGuard(); if (!IsReverbEffectEnabled) { return; } if (ReverbVoice != null && reverb != null) { ReverbVoice.DisableEffect(0); } IsReverbEffectEnabled = false; }
private void DisposeCore() { if (x3DAudio != null) { x3DAudio = null; } if (ReverbVoice != null) { ReverbVoice.DestroyVoice(); ReverbVoice.Dispose(); ReverbVoice = null; reverb.Dispose(); reverb = null; } IsReverbEffectEnabled = false; if (MasteringVoice != null) { MasteringVoice.DestroyVoice(); MasteringVoice.Dispose(); MasteringVoice = null; } if (masteringLimiter != null) { masteringLimiter.Dispose(); masteringLimiter = null; } IsMasteringLimiterEnabled = false; if (Device != null) { Device.StopEngine(); Device.Dispose(); Device = null; } }
/// <summary> /// Enables the reverb effect. /// </summary> public void EnableReverbEffect() { DisposeGuard(); if (IsReverbEffectEnabled) { return; } if (MasteringVoice != null) { if (ReverbVoice == null) { CreateReverbSubmixVoice(); } else { ReverbVoice.EnableEffect(0); } } IsReverbEffectEnabled = true; }