MediaPortal.MusicPlayer.BASS.BassAudioEngine.DisposeAndCleanUp C# (CSharp) Méthode

DisposeAndCleanUp() public méthode

Dispose the BASS Audio engine. Free all BASS and Visualisation related resources
public DisposeAndCleanUp ( ) : void
Résultat void
    public void DisposeAndCleanUp()
    {
      // Clean up BASS Resources
      try
      {
        // Some Winamp dsps might raise an exception when closing
        BassWaDsp.BASS_WADSP_Free();
      }
      catch (Exception) { }

      if (Config.MusicPlayer == AudioPlayer.Asio)
      {
        BassAsio.BASS_ASIO_Stop();
        BassAsio.BASS_ASIO_Free();
      }

      if (Config.MusicPlayer == AudioPlayer.WasApi)
      {
        BassWasapi.BASS_WASAPI_Free();
      }

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

      for (int i = 0; i < _streams.Count; i++)
      {
        if (_streams[i] != null)
        {
          _streams[i].Dispose();
        }
      }

      Bass.BASS_Stop();
      Bass.BASS_Free();
      _bassFreed = true;

      foreach (int pluginHandle in DecoderPluginHandles)
      {
        Bass.BASS_PluginFree(pluginHandle);
      }

      lock (_commandQueueSync)
      {
        _commandQueue.Clear();
        QueueItem item = new QueueItem();
        item.cmd = PlaybackCommand.ExitThread;
        _commandQueue.Add(item);
      }
      _commandNotify.Set();

      GUIGraphicsContext.OnNewAction -= new OnActionHandler(OnNewAction);
    }