/// <summary> /// Starts the plugin. /// </summary> /// <param name="config">The configuration object for this plugin</param> /// <param name="context">The context for this plugin</param> /// <returns>True if the plugin was successfully started</returns> public bool StartPlugin(Config config, IPluginContext context) { // Get folders dynamic foldersConfig = config.Get("folders"); IEnumerable <string> folders = foldersConfig is IList?foldersConfig.Values <string>() : new string[0]; // Get extensions dynamic trackExtensionsConfig = config.Get("extensions.tracks"); TrackExtensions = trackExtensionsConfig is IList?trackExtensionsConfig.Values <string>() : new string[0]; dynamic playlistExtensionsConfig = config.Get("extensions.tracks"); PlaylistExtensions = playlistExtensionsConfig is IList?playlistExtensionsConfig.Values <string>() : new string[0]; Extensions = TrackExtensions.Concat(PlaylistExtensions).ToArray(); // Create the watcher and add folders to it Watcher = new MusicFileMediumWatcher(); foreach (var f in folders) { Watcher.AddLocalFolder(f); } PluginManager.Register(Watcher); // Add content provider ContentProvider = new MusicContentProvider(); PluginManager.Register(ContentProvider); // Add artwork provider ArtworkProvider = new MusicArtworkProvider(); PluginManager.Register(ArtworkProvider); return(true); }
/// <summary> /// Starts the plugin. /// </summary> /// <param name="config">The configuration object for this plugin</param> /// <param name="context">The context for this plugin</param> /// <returns>True if the plugin was successfully started</returns> public bool StartPlugin(Config config, IPluginContext context) { // Get folders dynamic foldersConfig = config.Get("folders"); IEnumerable<string> folders = foldersConfig is IList ? foldersConfig.Values<string>() : new string[0]; // Get extensions dynamic trackExtensionsConfig = config.Get("extensions.tracks"); TrackExtensions = trackExtensionsConfig is IList ? trackExtensionsConfig.Values<string>() : new string[0]; dynamic playlistExtensionsConfig = config.Get("extensions.tracks"); PlaylistExtensions = playlistExtensionsConfig is IList ? playlistExtensionsConfig.Values<string>() : new string[0]; Extensions = TrackExtensions.Concat(PlaylistExtensions).ToArray(); // Create the watcher and add folders to it Watcher = new MusicFileMediumWatcher(); foreach(var f in folders) Watcher.AddLocalFolder(f); PluginManager.Register(Watcher); // Add content provider ContentProvider = new MusicContentProvider(); PluginManager.Register(ContentProvider); // Add artwork provider ArtworkProvider = new MusicArtworkProvider(); PluginManager.Register(ArtworkProvider); return true; }