private alDeleteSources ( int count, uint sources ) : void | ||
count | int | |
sources | uint | |
return | void |
/// <summary> /// Frees a source. /// </summary> /// <param name="source">The OpenALSource.</param> public void FreeSource(OpenALSource source) { if (_sources.Contains(source)) { _sources.Remove(source); if (source.SourceId != 0) { _context.MakeCurrent(); var sources = new uint[1]; sources[0] = source.SourceId; OpenAL.alDeleteSources(1, sources); source.Reset(); } } }
/// <summary> /// Disposes the object. /// </summary> /// <param name="disposing">The disposing state.</param> protected virtual void Dispose(bool disposing) { _context.MakeCurrent(); foreach (var source in _sources) { if (source != null && source.SourceId != 0) { var sources = new uint[1]; sources[0] = source.SourceId; OpenAL.alDeleteSources(1, sources); source.Reset(); } #if DEBUG _logger.Info("Source automatically disposed."); #endif } if (disposing) { _sources.Clear(); } }