示例#1
0
        public void Dispose()
        {
            //#if DEBUG
            //            if (m_voicePools != null)
            //            {
            //                foreach (MySourceVoicePool voicePool in m_voicePools.Values)
            //                {
            //                    MySandboxGame.Log.WriteLine(voicePool.ToString());
            //                }
            //            }
            //#endif //DEBUG

            if (m_waveBank != null)
            {
                m_waveBank.Dispose();
            }
            if (m_reverb != null)
            {
                m_reverb.Dispose();
            }
            m_reverb = null;
            foreach (var vp in m_voicePools)
            {
                // eventual stopping of playing
                vp.Value.StopAll();
            }
            foreach (var vp in m_voicePools)
            {
                vp.Value.Dispose();
            }
            m_voicePools.Clear();
            m_cues.Clear();
        }
示例#2
0
        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;
            }
        }
示例#3
0
        public void Dispose()
        {
            //#if DEBUG
            //            if (m_voicePools != null)
            //            {
            //                foreach (MySourceVoicePool voicePool in m_voicePools.Values)
            //                {
            //                    MySandboxGame.Log.WriteLine(voicePool.ToString());
            //                }
            //            }
            //#endif //DEBUG

            if (m_waveBank != null)
            {
                m_waveBank.Dispose();
            }

            if (m_reverb != null)
            {
                m_reverb.Dispose();
            }
        }