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; } }
/// <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) { 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); } }
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(); }
static BassUtils() { // Make sure to initialize library first, otherwise required dll paths are not set. _lib = BassLibraryManager.Get(); }