Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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;
        }