private void Dispose(bool disposing) { if (!disposing) { // We can't run this code inside the finalizer thread so tell Clyde to clear it up later. _master.DeleteSourceOnMainThread(SourceHandle); } else { AL.DeleteSource(SourceHandle); _master._audioSources.Remove(SourceHandle); _checkAlError(); } SourceHandle = -1; }