alDeleteSources() private method

private alDeleteSources ( int count, uint sources ) : void
count int
sources uint
return void
Ejemplo n.º 1
0
 /// <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();
         }
     }
 }
Ejemplo n.º 2
0
        /// <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();
            }
        }