Exemplo n.º 1
0
        public void Dispose()
        {
            lock (_syncObj)
            {
                Log.Debug("BassLibraryManager.Dispose()");

                Log.Debug("Unloading all BASS player plugins");
                foreach (int pluginHandle in _decoderPluginHandles)
                {
                    Bass.BASS_PluginFree(pluginHandle);
                }
                _decoderPluginHandles.Clear();

                // Free the NoSound device
                if (!Bass.BASS_SetDevice(BassConstants.BassNoSoundDevice))
                {
                    throw new BassLibraryException("BASS_SetDevice");
                }

                if (!Bass.BASS_Free())
                {
                    throw new BassLibraryException("BASS_Free");
                }

                _bassLibraryManager = null;
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Loads and initializes the Bass library.
 /// </summary>
 /// <returns>The new instance.</returns>
 public static BassLibraryManager Get()
 {
   lock (_syncObj)
   {
     if (_bassLibraryManager != null)
       return _bassLibraryManager;
     string playerPluginsDirectory = FileUtils.BuildAssemblyRelativePath("Plugins");
     _bassLibraryManager = new BassLibraryManager();
     _bassLibraryManager.Initialize(playerPluginsDirectory);
     return _bassLibraryManager;
   }
 }
Exemplo n.º 3
0
 /// <summary>
 /// Loads and initializes the Bass library.
 /// </summary>
 /// <returns>The new instance.</returns>
 public static BassLibraryManager Get()
 {
     lock (_syncObj)
     {
         if (_bassLibraryManager != null)
         {
             return(_bassLibraryManager);
         }
         string playerPluginsDirectory = FileUtils.BuildAssemblyRelativePath("Plugins");
         _bassLibraryManager = new BassLibraryManager();
         _bassLibraryManager.Initialize(playerPluginsDirectory);
         return(_bassLibraryManager);
     }
 }
 /// <summary>
 /// Loads and initializes the Bass library.
 /// </summary>
 /// <returns>The new instance.</returns>
 public static BassLibraryManager Get()
 {
     lock (_syncObj)
     {
         string absolutePlatformDir;
         if (!NativeMethods.SetPlatformSearchDirectories(out absolutePlatformDir))
         {
             throw new Exception("Error adding dll probe path");
         }
         string playerPluginsDirectory = Path.Combine(absolutePlatformDir, "Plugins");
         var    bassLibraryManager     = new BassLibraryManager();
         bassLibraryManager.Initialize(playerPluginsDirectory);
         return(bassLibraryManager);
     }
 }
Exemplo n.º 5
0
    public void Dispose()
    {
      lock (_syncObj)
      {
        Log.Debug("BassLibraryManager.Dispose()");

        Log.Debug("Unloading all BASS player plugins");
        foreach (int pluginHandle in _decoderPluginHandles)
          Bass.BASS_PluginFree(pluginHandle);
        _decoderPluginHandles.Clear();

        // Free the NoSound device
        if (!Bass.BASS_SetDevice(BassConstants.BassNoSoundDevice))
          throw new BassLibraryException("BASS_SetDevice");

        if (!Bass.BASS_Free())
          throw new BassLibraryException("BASS_Free");

        _bassLibraryManager = null;
      }
    }
 public BassAudioMetadataExtractor()
 {
   _metadata = new MetadataExtractorMetadata(METADATAEXTRACTOR_ID, "Bass Audio metadata extractor", MetadataExtractorPriority.Core, false,
       MEDIA_CATEGORIES, new[]
           {
             MediaAspect.Metadata,
             AudioAspect.Metadata,
             ThumbnailLargeAspect.Metadata
           });
   _lib = BassLibraryManager.Get();
 }
Exemplo n.º 7
0
 static BassUtils()
 {
     // Make sure to initialize library first, otherwise required dll paths are not set.
     _lib = BassLibraryManager.Get();
 }