public void Shutdown() { this.StopAllSounds(); Channel.shutdown(); AL.DeleteBuffers(this.buffers.Length, this.buffers); if (OpenTkSound.efx) { EFX.DeleteEffect(OpenTkSound.efxEffectGeneric); EFX.DeleteEffect(OpenTkSound.efxEffectUnderwater); EFX.DeleteAuxiliaryEffectSlot(OpenTkSound.efxSlot); } Cmd.RemoveCommand("play"); Cmd.RemoveCommand("stopsound"); Cmd.RemoveCommand("soundlist"); Cmd.RemoveCommand("soundinfo"); // free all sounds for (var i = 0; i < OpenTkSound.num_sfx; i++) { if (OpenTkSound.known_sfx[i].name == null) { continue; } OpenTkSound.known_sfx[i].clear(); } OpenTkSound.num_sfx = 0; }