예제 #1
0
 /// <summary>
 /// Free used resources
 /// </summary>
 public void Dispose()
 {
     if (_source != 0)
     {
         if (_mixer != 0)
         {
             Stop();
         }
         RemoveEq(ref _mixer);
         Bass.StreamFree(_source);
         Bass.MusicFree(_source);
         Bass.StreamFree(_mixer);
         _mixer  = 0;
         _source = 0;
     }
     if (_handle.IsAllocated)
     {
         _handle.Free();
     }
     if (_initialized)
     {
         Bass.Free();
     }
     BassCd.Unload();
     BassFx.Unload();
     BassMix.Unload();
     Bass.PluginFree(0);
 }
예제 #2
0
 protected virtual void Dispose(bool disposing)
 {
     if (_source != 0)
     {
         if (_mixer != 0)
         {
             Stop();
         }
         RemoveEq(ref _mixer);
         Bass.StreamFree(_source);
         Bass.MusicFree(_source);
         Bass.StreamFree(_mixer);
         _mixer  = 0;
         _source = 0;
     }
     if (_handle.IsAllocated)
     {
         _handle.Free();
     }
     if (_initialized)
     {
         Bass.Free();
     }
     BassCd.Unload();
     BassFx.Unload();
     BassMix.Unload();
     Bass.PluginFree(0);
     GC.SuppressFinalize(this);
 }
예제 #3
0
 /// <inheritdoc />
 public void Dispose()
 {
     Stop();
     if (_mixerChannel != 0)
     {
         Bass.StreamFree(_mixerChannel);
     }
     if (_decodeChannel != 0)
     {
         Bass.StreamFree(_decodeChannel);
     }
     BassMix.Unload();
     Bass.PluginFree(0);
     Bass.Unload();
     GC.SuppressFinalize(this);
 }
예제 #4
0
 protected virtual void Dispose(bool disposing)
 {
     if (_source != 0)
     {
         if (_mixer != 0)
         {
             Stop();
         }
         _mixer  = 0;
         _source = 0;
     }
     if (_initialized)
     {
         Bass.Free();
     }
     BassCd.Unload();
     BassMix.Unload();
     Bass.PluginFree(0);
     Bass.Unload();
     GC.SuppressFinalize(this);
 }