internal static bool GetFileDatesProperties (ImporterProperties importerProperties, int index, OptionSettings prop, ref int counter) { if (index == counter++) { //set the internal name prop.Name = "ImportDateCreatedProp"; prop.GroupName = "AdditionalFileTags"; //set name shown to user prop.Caption = "Import file Creation date?"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupCaption = " Additional Tags to Import"; //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.ImportDateCreated; prop.DataType = "bool"; return true; } if (index == counter++) { //set the internal name prop.Name = "ImportDateModifiedProp"; prop.GroupName = "AdditionalFileTags"; //set name shown to user prop.Caption = "Import file Modification date?"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //Prop.GroupCaption = " Additional Tags to Import"; //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.ImportDateModified; prop.DataType = "bool"; return true; } if (index == counter++) { //set the internal name prop.Name = "ImportDateImportedProp"; prop.GroupName = "AdditionalFileTags"; //set name shown to user prop.Caption = "Import Addition to library date?"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //Prop.GroupCaption = " Additional Tags to Import"; //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.ImportDateImported; prop.DataType = "bool"; return true; } return false; }
internal static bool GetImportSequencerProperties (ImporterProperties importerProperties, int index, OptionSettings prop, ref int counter) { if (index == counter++) { prop.GroupName = "ImportSequencer"; //set the internal name prop.Name = "ImportSequencerProp"; //set name shown to user prop.GroupCaption = " Import Sequencer"; prop.Caption = "Enable Import Sequencer"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = MediaFairy.Settings.ImportSequencer; prop.DataType = "bool"; prop.Dependencies = "True:SHOW ImportIDsProp" + ";False:HIDE ImportIDsProp"; return true; } if (index == counter++) { prop.GroupName = "ImportSequencer"; //set the internal name prop.Name = "ImportIDsProp"; //set name shown to user prop.Caption = "Import IDs to run: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = MediaFairy.Settings.ImportIDs; prop.DataType = "stringlist"; return true; } return false; }
internal static bool GetSubtitleDownloaderProperties(ImporterProperties importerProperties, int index, IMeedioPluginProperty prop, IList<string> twochoices, ref int counter) { if (index == counter++) { //set the internal name prop.Name = "LanguageProp"; prop.GroupCaption = " Subtitle Downloader Settings"; //set name shown to user prop.Caption = "Primary Subtitles language:"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "Please insert the ISO639 3-letter code of your country." + Environment.NewLine + "AVSI will try to download subtitles for this language first." + Environment.NewLine + "To find your country code use this reference: http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes "; prop.DefaultValue = Settings.PrimaryLanguage; prop.DataType = "string"; return true; } if (index == counter++) { //set the internal name prop.Name = "LanguagePropSecondary"; //set name shown to user prop.Caption = "Secondary subtitles language:"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "If no subtitles are found for your primary language," + " AVSI will search for subtitles for this language."; prop.DefaultValue = Settings.SecondaryLanguage; prop.DataType = "string"; return true; } return false; }
internal static bool ArchiveExtractorPropRerties(ImporterProperties importerProperties, int index, OptionSettings prop, ref int counter) { if (index == counter++) { prop.GroupName = "ArchiveExtractor"; //set the internal name prop.Name = "EnableArchiveExtractorProp"; //set name shown to user prop.GroupCaption = " Archive Extractor"; prop.Caption = "Auto-extract compressed archives"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "The built-in media importer has the capability to automatically extract zip and/or rar archives" + Environment.NewLine + "contained in your specified media root directories and import the media files they may contain." + Environment.NewLine + "Multi-part rar archives are also supported."; prop.DefaultValue = Settings.EnableArchiveExtractor; prop.DataType = "bool"; prop.Dependencies = "False:HIDE DeleteArchiveAfterExtractionProp,freespaceThresholdProp" + ";True:SHOW DeleteArchiveAfterExtractionProp,freespaceThresholdProp"; return true; } if (index == counter++) { prop.GroupName = "ArchiveExtractor"; //set the internal name prop.Name = "DeleteArchiveAfterExtractionProp"; //set name shown to user prop.Caption = "Delete archive after extraction "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "When an archive extraction process is succesfull, the media importer can delete" + Environment.NewLine + "the original compressed archive in order to free any disk space used by that archive."; prop.DefaultValue = Settings.DeleteArchiveAfterExtraction; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "ArchiveExtractor"; //set the internal name prop.Name = "freespaceThresholdProp"; //set name shown to user prop.Caption = "Maintain at least this amount of disk space: (MB)"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "Please specify here the amount of free disk space (in Megabytes, MB) you would like the plugin to always maintain." + Environment.NewLine + "When this limit is calculated to be exceeded, the archive extraction process in question will be skipped."; prop.DefaultValue = Settings.freespaceThreshold; prop.DataType = "int"; return true; } return false; }
internal static bool GetLibrarySynchronizersProperties (ImporterProperties importerProperties, int index, OptionSettings prop, ref int counter) { if (index == counter++) { prop.GroupName = "LibraryBackup"; //set the internal name prop.Name = "LibraryBackupProp"; //set name shown to user prop.GroupCaption = " Library Backup & Restore"; prop.Caption = "Enable Library Backup and Restore"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = false; prop.DataType = "bool"; prop.Dependencies = "True:SHOW BackupMoviesSectionProp,BackupTvSeriesSectionsProp,BackupMusicSectionProp,RestoreSectionsProp,XmlBackupDirectoryProp" + ";False:HIDE BackupMoviesSectionProp,BackupTvSeriesSectionsProp,BackupMusicSectionProp,RestoreSectionsProp,XmlBackupDirectoryProp"; return true; } if (index == counter++) { prop.GroupName = "LibraryBackup"; //set the internal name prop.Name = "BackupMoviesSectionProp"; //set name shown to user prop.Caption = "Backup Movies Section"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = MediaFairy.Settings.EnableXmlBackupFilms; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "LibraryBackup"; //set the internal name prop.Name = "BackupTvSeriesSectionsProp"; //set name shown to user prop.Caption = "Backup TV Series Sections"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = MediaFairy.Settings.EnableXmlBackupTvSeries; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "LibraryBackup"; //set the internal name prop.Name = "BackupMusicSectionProp"; //set name shown to user prop.Caption = "Backup Music Section"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = MediaFairy.Settings.EnableXmlBackupMusic; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "LibraryBackup"; //set the internal name prop.Name = "RestoreSectionsProp"; //set name shown to user prop.Caption = "Restore Sections from backup"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = MediaFairy.Settings.EnableXmlRestore; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "LibraryBackup"; //set the internal name prop.Name = "XmlBackupDirectoryProp"; //set name shown to user prop.Caption = "XML backups directory"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = MediaFairy.Settings.XmlBackupsDirectory; prop.DataType = "folder"; return true; } return false; }
internal static bool MediaImportersProperties (ImporterProperties importerProperties, int index, OptionSettings prop, string[] twochoices, ref int counter) { if (index == counter++) { //set the internal name prop.Name = "WantFilesImportingProp"; //set name shown to user prop.Caption = "Enable Media Importer"; prop.Caption = TranslationProvider.Translate (prop.Caption, importerProperties); prop.GroupName = "MediaImporter"; prop.GroupCaption = " Media Importer"; prop.HelpText = "The Automated Media Importer will scan the media directories you provide below" + Environment.NewLine + "and automatically recognize and import the media files of your desired media types" + Environment.NewLine + "in their respective library sections, depending on your preferences."; prop.DefaultValue = MediaImportersAndUpdatersCoreSettings.EnableMediaImporters; prop.DataType = "bool"; prop.Dependencies = "False:HIDE " + "WantToImportFilmsProp," + "WantToImportMusicProp," + "WantToImportTvSeriesProp," + "WantMediaInfoProp," + "WantToImportNewsProp" + ";False:HIDEGROUP " + "MediaAnalyzer," + "MovieTitleLocator," + "RSSimporter" + ";True:SHOW " + "WantToImportFilmsProp," + "WantToImportMusicProp," + "WantToImportTvSeriesProp," + //"WantToImportBooksProp," + //"WantToImportGamesProp," + "WantMediaInfoProp," + "WantToImportNewsProp" + ";True:SHOWGROUP " + "MediaAnalyzer"; return true; } #region [DEPRECATED] Media Locations dialog //if (Index == counter++) //{ // //set the internal name // Prop.Name = "ImportRootFolderProp"; // Prop.GroupName = "MediaImporter"; // //set name shown to user // Prop.Caption = " Media Sources: "; // //Prop.GroupCaption = " Media Importer"; // //set the tool tip // //Prop.IsMandatory = true; // Prop.HelpText = "Please specify the local or network locations which contain the media files you want to import." + Environment.NewLine + // "These directories can contain mixed media types and also any other type of files." + Environment.NewLine + // "The built-in media type recognition engine will take care of importing each media file into its appropriate library section."; // Prop.DefaultValue = Settings.ImportRootFolders; // Prop.DataType = "folderlist"; // return true; //} #endregion #region Import Media Types #region Movies if (index == counter++) { //set the internal name prop.Name = "WantToImportFilmsProp"; prop.GroupName = "MediaImporter"; //set name shown to user prop.Caption = "Import Films"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.HelpText = " Would you like the Automated Media Importer to import the films it finds in your root folders? "; prop.DefaultValue = MediaImportersAndUpdatersCoreSettings.EnableMovieImporter; prop.DataType = "bool"; prop.Dependencies = "False:HIDEGROUP MovieTitleLocator" + ";True:SHOWGROUP MovieTitleLocator"; return true; } #endregion if (MediaSections.FimImportingOptions(importerProperties, index, prop, twochoices, ref counter)) return true; #region TV Shows if (index == counter++) { //set the internal name prop.Name = "WantToImportTvSeriesProp"; prop.GroupName = "MediaImporter"; //set name shown to user prop.Caption = "Import Tv Series"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //Prop.GroupCaption = " Media Importer"; //set the tool tip prop.HelpText = "Would you like the Automated Media Importer to import the Tv Series episodes it finds in your root folders?"; prop.DefaultValue = MediaImportersAndUpdatersCoreSettings.EnableTvSeriesImporter; prop.DataType = "bool"; return true; } #endregion #region Music if (index == counter++) { //set the internal name prop.Name = "WantToImportMusicProp"; prop.GroupName = "MediaImporter"; //set name shown to user prop.Caption = "Import Music"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //Prop.GroupCaption = " Media Importer"; //set the tool tip prop.HelpText = "Would you like the Automated Media Importer to import the music tracks it finds in your root folders?"; prop.DefaultValue = MediaImportersAndUpdatersCoreSettings.EnableMusicImporter; prop.DataType = "bool"; return true; } #endregion #region RSS Feeds if (index == counter++) { //set the internal name prop.Name = "WantToImportNewsProp"; prop.GroupName = "MediaImporter"; //set name shown to user prop.Caption = "Import RSS feeds"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //Prop.GroupCaption = " Media Importer"; //set the tool tip prop.HelpText = "Would you like to import RSS newsfeeds?"; prop.DefaultValue = Settings.EnableRssImporter; prop.DataType = "bool"; prop.Dependencies = "False:HIDEGROUP RSSimporter" + ";True:SHOWGROUP RSSimporter"; return true; } #endregion //FUTURE: PC Games Importer #region PC Games Importer //if (index == counter++) //{ // //set the internal name // prop.Name = "WantToImportGamesProp"; // prop.GroupName = "MediaImporter"; // //set name shown to user // prop.Caption = "Import PC games "; // prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); // //Prop.GroupCaption = " Media Importer"; // //set the tool tip // prop.HelpText = // "Would you like the Automated Media Importer to import and download online details for the PC games in your game shortcuts' location?"; // prop.DefaultValue = Settings.EnableGamesImporter; // prop.DataType = "bool"; // prop.Dependencies = "False:HIDE GameShortcutsProp" + // ";True:SHOW GameShortcutsProp"; // return true; //} #endregion //FUTURE: Books Importer #region Books Importer //if (index == counter++) //{ // //set the internal name // prop.Name = "WantToImportBooksProp"; // prop.GroupName = "MediaImporter"; // //set name shown to user // prop.Caption = "Import Books (reserved for future version) "; // prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); // //Prop.GroupCaption = " Media Importer"; // //set the tool tip // prop.HelpText = // "Would you like the Automated Media Importer to import the digital books it finds in your root folders?"; // prop.DefaultValue = Settings.EnableBooksImporter; // prop.DataType = "bool"; // return true; //} #endregion #endregion #region Media Analyzer if (index == counter++) { //set the internal name prop.Name = "EnableMediaDetectionProp"; prop.GroupName = "MediaAnalyzer"; //set name shown to user prop.Caption = "Automatically detect media types"; prop.Caption = TranslationProvider.Translate (prop.Caption, importerProperties); prop.GroupCaption = " Media Analyzer"; //set the tool tip prop.HelpText = " This setting will determine if a media type analyzing process will be performed for each imported media file." + Environment.NewLine + "This analyzing process provides the media importer the ability to automatically recognize media files and distinguish their media type," + Environment.NewLine + "without requiring any user configuration and/or manual media collection organizing." + Environment.NewLine + "Please note however that with this feature enabled, the importing time may be significantly increased the first time you run the importer, especially with online files and/or large media collections." + Environment.NewLine + "Disabling this feature will improve the importing performance, but you will have to specify the root directories under which each media type is stored (under 'Override Media Analyzer' settings group)," + Environment.NewLine + "and those diretories will need to *only* contain media files belonging to the selected media type."; prop.DefaultValue = Settings.EnableMediaDetection; prop.DataType = "bool"; return true; } if (index == counter++) { //set the internal name prop.Name = "RescanFilesNotFoundInLibraryProp"; prop.GroupName = "MediaAnalyzer"; //set name shown to user prop.Caption = "Re-scan media files missing from library"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupCaption = " Media Analyzer"; //set the tool tip prop.HelpText = "This setting determines if media files already scanned (but currently not present in any media section) will be re-scanned and re-imported." + Environment.NewLine + "With a slight importing performance impact, this feature will resolve two problems:" + Environment.NewLine + "1) Items which were removed by mistake will be re-imported." + Environment.NewLine + "2) If any of the root media folders are set to a downloads location and the download is not completed before MediaFairy scans the media file for the first time," + Environment.NewLine + "it may not be detected as a media file and thus not imported." + Environment.NewLine + "Having this option enabled however will force a re-scan of this media file on all subsequent runs until it is finally analyzed correctly and imported." + Environment.NewLine + "If none of the above functionality is needed for your routine usage, you may disable this option for a slight importing performance gain."; prop.DefaultValue = Settings.RescanFilesNotFoundInLibrary; prop.DataType = "bool"; return true; } if (index == counter++) { //set the internal name prop.Name = "WantMediaInfoProp"; prop.GroupName = "MediaAnalyzer"; //set name shown to user prop.Caption = "Import media information"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //Prop.GroupCaption = " Media Analyzer"; //set the tool tip prop.HelpText = "Modern themes for Meedio frontend have the capability to graphically display digital media information for films or series,\r for example the video/audio format or quality.\r Would you like the plugin to automatically import this information?"; prop.DefaultValue = Settings.MediaInfoIsEnabled; prop.DataType = "bool"; return true; } #endregion #region RSS Importer if (index == counter++) { //set the internal name prop.Name = "RssFeedsProp"; prop.GroupName = "RSSimporter"; //set name shown to user prop.Caption = "RSS feeds to import: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupCaption = " RSS Importer"; //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.RsSfeeds; prop.DataType = "stringlist"; return true; } if (index == counter++) { //set the internal name prop.Name = "DownloadFeedImagesProp"; prop.GroupName = "RSSimporter"; //set name shown to user prop.Caption = "Download feed images"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.DownloadRsSimages; prop.DataType = "bool"; prop.Dependencies = "False:HIDE RSSimagesLocationProp" + ";True:SHOW RSSimagesLocationProp"; return true; } if (index == counter++) { //set the internal name prop.Name = "RSSimagesLocationProp"; prop.GroupName = "RSSimporter"; //set name shown to user prop.Caption = "RSS images location: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.RSSimagesLocation; prop.DataType = "folder"; return true; } #endregion //if (FileDatesImporterPropertiesGetter // .GetFileDatesProperties // (importerProperties, index, // prop, ref counter)) // return true; //if (MediaWatcher.MediaWatcherProperties // (importerProperties, index, prop, // twochoices, ref counter)) // return true; //if (ArchiveExtractor // .ArchiveExtractorPropRerties // (importerProperties, index, // prop, ref counter)) // return true; return false; }
internal static bool GetMediaOrganizersProperties (ImporterProperties importerProperties, int index, OptionSettings prop, IList<string> twochoices, ref int counter) { #region Enable / disable media organizers if (index == counter++) { prop.GroupName = "AutoSorter"; //set the internal name prop.Name = "MediaOrganizersProp"; //set name shown to user prop.GroupCaption = " Media Organizers"; prop.Caption = "Enable Media Organizers "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = false; prop.DataType = "bool"; prop.Dependencies = "False:HIDE WantSortingFilmsProp,WantSortingTvShowsProp,WantSortingMusicProp,PromptBeforeMovingProp,SortingDestinationFilmsProp,SortingDestinationTvShowsProp,SortingDestinationMusicProp" + ";False:HIDEGROUP OrganizingStructures" + ";True:SHOW WantSortingFilmsProp,WantSortingTvShowsProp,WantSortingMusicProp,PromptBeforeMovingProp"; return true; } if (index == counter++) { prop.GroupName = "AutoSorter"; //set the internal name prop.Name = "WantSortingFilmsProp"; //set name shown to user //Prop.GroupCaption = " Media Organizer"; prop.Caption = "Automatically organize films "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "If this option is enabled, MediaFairy will automatically move or rename the films" + Environment.NewLine + "which it has identified, accroding to your specifications below." + Environment.NewLine + "This feature will ensure a default and well organized structure for your movie files and their related data. "; prop.DefaultValue = MeediFier.Settings.WantSortingFilms; prop.DataType = "bool"; prop.Dependencies = "False:HIDE SortingDestinationFilmsProp" + ";True:SHOW SortingDestinationFilmsProp" + ";True:SHOWGROUP OrganizingStructures"; return true; } if (index == counter++) { prop.GroupName = "AutoSorter"; //set the internal name prop.Name = "WantSortingTvShowsProp"; //set name shown to user prop.Caption = "Automatically organize tv series "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "If this option is enabled, MediaFairy will automatically move or rename the video files of tv series" + Environment.NewLine + "it has already identified, accroding to your specifications below." + Environment.NewLine + "This feature will ensure a default and well organized structure for your TV series and their related files. "; prop.DefaultValue = MeediFier.Settings.WantSortingTvShows; prop.DataType = "bool"; prop.Dependencies = "False:HIDE SortingDestinationTvShowsProp" + ";True:SHOW SortingDestinationTvShowsProp" + ";True:SHOWGROUP OrganizingStructures"; return true; } if (index == counter++) { prop.GroupName = "AutoSorter"; //set the internal name prop.Name = "WantSortingMusicProp"; //set name shown to user prop.Caption = "Automatically organize music"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "If this option is enabled, MediaFairy will automatically move or rename the audio tracks" + Environment.NewLine + "it has already identified, accroding to your specifications below." + Environment.NewLine + "This feature will ensure a default and well organized structure for your audio files and their related data. "; prop.DefaultValue = MeediFier.Settings.WantSortingMusic; prop.DataType = "bool"; prop.Dependencies = "False:HIDE SortingDestinationMusicProp" + ";True:SHOW SortingDestinationMusicProp" + ";True:SHOWGROUP OrganizingStructures"; return true; } if (index == counter++) { prop.GroupName = "AutoSorter"; //set the internal name prop.Name = "PromptBeforeMovingProp"; //set name shown to user prop.Caption = "Prompt me before any file operation"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "If you enable this option, MediaFairy will ask for your approval before performing" + Environment.NewLine + "any renaming or moving operation on media files. This option exists mainly for debugging purposes. "; prop.DefaultValue = MeediFier.Settings.PromptBeforeMoving; prop.DataType = "bool"; return true; } #endregion #region Destination Directories if (index == counter++) { prop.GroupName = "AutoSorter"; //set the internal name prop.Name = "SortingDestinationFilmsProp"; //set name shown to user prop.Caption = "Destination directory for films: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = @"Please specify the destination directory in which you want your sorted films" + Environment.NewLine + "and their related files to be moved by MediaFairy." + Environment.NewLine + "Tip: specify the folder where your films are already contained and a blank folder mask for a simple renaming."; prop.DefaultValue = MeediFier.Settings.SortingDestinationFilms; prop.DataType = "folder"; return true; } if (index == counter++) { prop.GroupName = "AutoSorter"; //set the internal name prop.Name = "SortingDestinationTvShowsProp"; //set name shown to user prop.Caption = "Destination directory for tv series: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = @"Please specify the destination directory in which you want your sorted TV series episodes" + Environment.NewLine + "and their related files to be moved by MediaFairy." + Environment.NewLine + "Tip: specify the folder where your TV episodes are already contained and blank folder mask for a simple renaming."; prop.DefaultValue = MeediFier.Settings.SortingDestinationTvShows; prop.DataType = "folder"; return true; } if (index == counter++) { prop.GroupName = "AutoSorter"; //set the internal name prop.Name = "SortingDestinationMusicProp"; //set name shown to user prop.Caption = "Destination directory for music: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = @"Please specify the destination directory where you want your sorted music tracks" + Environment.NewLine + "and their related files to be moved by MediaFairy." + Environment.NewLine + "Tip: specify the folder where your audio tracks are already contained and blank folder mask for a simple renaming."; prop.DefaultValue = MeediFier.Settings.SortingDestinationMusic; prop.DataType = "folder"; return true; } #endregion #region Organizing Structures if (index == counter++) { prop.GroupName = "OrganizingStructures"; //set the internal name prop.Name = "DirectoryStructureProp"; //set name shown to user prop.Caption = "Preferred directory structures: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "What is the directory structure in which you want your media files to be organized?" + Environment.NewLine + "MediaFairy will use known information relevant to each media type" + Environment.NewLine + "to give the appropriate naming to folders and media files, according to your selected Media Organizer operating mode:" + Environment.NewLine + "'Simple' mode will use the default directory structures for each media type," + Environment.NewLine + "while 'Advanced' lets you specify your own directory structure for each media type using a tag mask." + Environment.NewLine + "Please refer to the plugin's Wiki web page for more information on directory structures. "; prop.DefaultValue = MeediFier.Settings.DirectoryStructure; prop.DataType = "string"; twochoices[0] = "Simple- Default directory structures"; twochoices[1] = "Advanced- specify directory tag masks below"; prop.Choices = twochoices; prop.CanTypeChoices = false; prop.Dependencies = "Simple- Default directory structures:HIDE DirectoryTagMaskFilmsProp,DirectoryTagMaskTvShowsProp,DirectoryTagMaskMusicProp" + ";Advanced- specify directory tag masks below:SHOW DirectoryTagMaskFilmsProp,DirectoryTagMaskTvShowsProp,DirectoryTagMaskMusicProp"; return true; } if (index == counter++) { prop.GroupName = "OrganizingStructures"; //set the internal name prop.Name = "DirectoryTagMaskFilmsProp"; //set name shown to user prop.Caption = "Folder tag mask for films? "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = " Please type your desired folder structure in the form of a tag mask." + Environment.NewLine + "For each additional directory level you want to be created based on the value of an item's specific tag," + Environment.NewLine + "include this folder name in < and > brackets." + Environment.NewLine + "For example, if you wanted your directory structure to include a folder for Film Genres" + Environment.NewLine + "and below this level each movie to reside in it's own folder named after the film's name," + Environment.NewLine + @"you would use this tag mask: <Genre>\<Title> . "; prop.DefaultValue = MeediFier.Settings.DirectoryTagMaskFilms; prop.DataType = "string"; return true; } if (index == counter++) { prop.GroupName = "OrganizingStructures"; //set the internal name prop.Name = "DirectoryTagMaskTvShowsProp"; //set name shown to user prop.Caption = "Folder tag mask for tv shows? "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = @" Please type your desired folder structure in the form of a tag mask. For each additional directory level you want to be created based on the value of an item's specific tag, include this folder name in < and > brackets. For example, if you wanted your directory structure to include a folder for Film Genres and below this level each movie to reside in it's own folder named after the film's name, you would use this tag mask: <Genre>\<Title> . "; prop.DefaultValue = MeediFier.Settings.DirectoryTagMaskTvShows; prop.DataType = "string"; return true; } if (index == counter++) { prop.GroupName = "OrganizingStructures"; //set the internal name prop.Name = "DirectoryTagMaskMusicProp"; //set name shown to user prop.Caption = "Folder tag mask for music? "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = @" Please type your desired folder structure in the form of a tag mask. For each additional directory level you want to be created based on the value of an item's specific tag, include this folder name in < and > brackets. For example, if you wanted your directory structure to include a folder for Film Genres and below this level each movie to reside in it's own folder named after the film's name, you would use this tag mask: <Genre>\<Title> . "; prop.DefaultValue = MeediFier.Settings.DirectoryTagMaskMusic; prop.DataType = "string"; return true; } #endregion return false; }
internal static bool GetFilmBackdropsLocationProperties (ImporterProperties importerProperties, int index, OptionSettings prop, string[] twochoices, ref int counter) { if (index == counter++) { //set the internal name prop.Name = "WhereToSaveBackdropProp"; //set name shown to user prop.Caption = "Where to store fanart?"; prop.Caption = TranslationProvider.Translate (prop.Caption, importerProperties); //set the tool tip prop.GroupName = "FilmBackdrops"; prop.GroupCaption = " Film fanart Settings"; prop.HelpText = "Do you want the backdrop/fanart image " + "for each movie to be saved in the movie's folder" + " or to a specific folder of your choice?"; prop.DefaultValue = Importer.WhereToSaveBackdrop; Prop.DataType = "string"; twochoices[0] = "in the movie's folder"; twochoices[1] = "in the folder i specify below"; Prop.Choices = twochoices; Prop.CanTypeChoices = false; Prop.Dependencies = "in the movie's folder:HIDE BackdropFolderProp" + ";in the folder i specify below:SHOW BackdropFolderProp"; return true; } if (Index == counter++) { //set the internal name Prop.Name = "BackdropFolderProp"; //set name shown to user Prop.Caption = "Fanart folder: "; Prop.Caption = TranslationProvider.Translate(Prop.Caption, importerProperties); Prop.GroupName = "FilmBackdrops"; //set the tool tip Prop.HelpText = @"Please specify the folder in which you want downloaded Fanart to be saved. (Only applicabe if option above is *not* set to 'Movie's folder') "; Prop.DefaultValue = Importer.BackdropFolder; Prop.DataType = "folder"; Prop.CanTypeChoices = false; return true; } if (Index == counter++) { //set the internal name Prop.Name = "BackdropNamingChoice"; //set name shown to user Prop.Caption = "Fanart naming convention: (tag mask) "; Prop.Caption = TranslationProvider.Translate(Prop.Caption, importerProperties); Prop.GroupName = "FilmBackdrops"; //set the tool tip Prop.HelpText = "Please enter here your desired fanart naming convention in a form of a tag mask." + Environment.NewLine + "For example, the default tag mask '<IMDbID>_backdrop' will store the backdrop image as the varialbe film's IMDb number followed by the '_backdrop' suffix ." + Environment.NewLine + "Please make sure that any text strings contained in '<>' refer to the names of existing tags of your Movies media section."; Prop.DefaultValue = Importer.BackdropNamingMethod; Prop.DataType = "string"; Prop.CanTypeChoices = true; return true; } if (index == counter++) { //set the internal name prop.Name = "OverwriteBackdropChoice"; //set name shown to user prop.Caption = "Overwrite existing fanart? "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupName = "FilmBackdrops"; //set the tool tip prop.HelpText = "If a backdrop already exists" + " in your specified location, " + "should MediaFairy to download" + " a new backdrop and overwrite the original?"; prop.DefaultValue = Importer.OverwriteExistingBackdrops; prop.DataType = "bool"; return true; } return false; }
internal bool GetDiagnosticsProperties(ImporterProperties importerProperties, int index, IMeedioPluginProperty prop, ref int counter) { #region Diagnostics Properties //if (index == counter++) //{ // //set the internal name // prop.Name = "ConnectionDiagnosticsProp"; // //set name shown to user // prop.Caption = "Enable internet connection diagnostic? "; // prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); // prop.GroupCaption = " Diagnostics"; // //set the tool tip // prop.HelpText = // "Should AVSI test for internet connection and online databases availability before attempting to download data?" + // Environment.NewLine + // "This feature will help the importer recognize offline or problematic sources and avoid using them," + // Environment.NewLine + // "preventing failed retries, minimizing delays and improving importing times in those situations."; // prop.DefaultValue = Settings.ConnectionDiagnosticsEnabled; // prop.DataType = "bool"; // return true; //} //if (index == counter++) //{ // //set the internal name // prop.Name = "DisableSourcesProp"; // //set name shown to user // prop.Caption = "Disable problematic sources? "; // prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); // //set the tool tip // prop.HelpText = " Should unconnectable online sources be disabled " + // "for the rest of an importing session? "; // prop.DataType = "bool"; // return true; //} if (index == counter++) { prop.GroupCaption = " Diagnostics"; //set the internal name prop.Name = "FileserverDiagnosticsProp"; //set name shown to user prop.Caption = "Enable media server diagnostic? "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "Should AVSI check if your network disk is online and accessible before attempting to read or transfer any data?" + Environment.NewLine + "This feature will prevent failed attempts to access network disks and improve importing times in those cases."; prop.DefaultValue = Settings.WantFileserverDiagnostics; prop.DataType = "bool"; return true; } #endregion return false; }
internal static bool GetFilmReleasesUpdaterProperties (ImporterProperties importerProperties, int index, OptionSettings prop, ref int counter) { if (index == counter++) { prop.GroupName = "RssUpdater"; //set the internal name prop.Name = "EnableFilmReleasesProp"; //set name shown to user prop.GroupCaption = " RSS Releases Updater"; prop.Caption = "Download film releases via BitTorrent"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "The Film Releases Updater will scan for new film releases the rss feeds you provide in the RSS Sources.txt file (in the plugin's direcotry), \n and download those films using your default BitTorrent client. Adittional filters can be provided like the film's production year or IMDb rating. "; prop.DefaultValue = Settings.DownloadFilmReleases; prop.DataType = "bool"; prop.Dependencies = "False:HIDE FilmRatingMinProp,TorrentsFolderProp" + ";True:SHOW FilmRatingMinProp,TorrentsFolderProp"; return true; } if (index == counter++) { prop.GroupName = "RssUpdater"; //set the internal name prop.Name = "TorrentsFolderProp"; //set name shown to user prop.Caption = "Store torrent files in: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = @"Please specify the folder where downloaded torrent files should be stored. "; prop.DefaultValue = Settings.TorrentsFolder; prop.DataType = "folder"; prop.CanTypeChoices = false; return true; } //if (Index == counter++) //{ // //set the internal name // Prop.Name = "FilmReleasesRssProp"; // //set name shown to user // Prop.Caption = " RSS feeds for films releases: "; // //set the tool tip // Prop.HelpText = "Please provide here the rss feed URLs which will be scanned for new film releases. Important Notice: Please make sure that the sources you provide contain public domain media, in order to comply with copyright regulations. "; // Prop.DefaultValue = Importer.FilmsRssFeeds; // Prop.DataType = "stringlist"; // return true; //} if (index == counter++) { prop.GroupName = "RssUpdater"; //set the internal name prop.Name = "FilmRatingMinProp"; prop.Caption = "Minimum film IMDb rating: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "This value represents the minimum IMDb rating that a film must have, in order to be downloaded. Set this value to zero (0) to disable the rating filter."; prop.DefaultValue = Settings.FilmRatingMin2; prop.DataType = "string"; return true; } return false; }
internal static bool GetMediaArchiversProperties (ImporterProperties importerProperties, int index, OptionSettings prop, IList<string> twochoices, ref int counter) { if (index == counter++) { prop.GroupName = "MediaArchiver"; //set the internal name prop.Name = "MediaArchiversProp"; //set name shown to user prop.GroupCaption = " Media Archivers (reserved for future version)"; prop.Caption = "Enable Media Archivers"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = false; prop.DataType = "bool"; prop.Dependencies = "True:SHOW FilmArchiverProp" + ";False:HIDE FilmArchiverProp,ArchiveWatchedFilmsProp,ArchiveOldFilmsProp,ArchivePreferenceFilmsProp,ArchiveLocationProp"; return true; } if (index == counter++) { prop.GroupName = "MediaArchiver"; //set the internal name prop.Name = "FilmArchiverProp"; //set name shown to user prop.Caption = "Archive Films"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "If you enable this option, the built-in archiver will compress and store (in the directory you provide below)" + Environment.NewLine + "a zip archive for each watched film, containing the entire film's directory." + Environment.NewLine + "The original directory containing the film will be deleted, but only when the archiving operation is succesfull." + Environment.NewLine + "Please note that in order to determine if a film is watced or not, the plugin will look for a tag named 'Watched' in your film library."; prop.DefaultValue = false; prop.DataType = "bool"; prop.Dependencies = "True:SHOW ArchiveWatchedFilmsProp,ArchiveOldFilmsProp" + ";False:HIDE ArchiveWatchedFilmsProp,ArchiveOldFilmsProp,ArchivePreferenceFilmsProp,ArchiveLocationProp"; return true; } if (index == counter++) { prop.GroupName = "MediaArchiver"; //set the internal name prop.Name = "ArchiveWatchedFilmsProp"; //set name shown to user prop.Caption = "Archive watched films"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.ArchiveWatchedFilms; prop.DataType = "bool"; prop.Dependencies = "True:SHOW ArchivePreferenceFilmsProp"; return true; } if (index == counter++) { prop.GroupName = "MediaArchiver"; //set the internal name prop.Name = "ArchiveOldFilmsProp"; //set name shown to user prop.Caption = "Archive Old Films"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.ArchiveOldFilms; prop.DataType = "bool"; prop.Dependencies = "True:SHOW ArchivePreferenceFilmsProp"; return true; } if (index == counter++) { prop.GroupName = "MediaArchiver"; //set the internal name prop.Name = "ArchivePreferenceFilmsProp"; //set name shown to user prop.Caption = "Archive preference for films: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = "Delete"; prop.DataType = "string"; twochoices[0] = "Archive"; twochoices[1] = "Delete"; prop.Choices = twochoices; prop.CanTypeChoices = false; prop.Dependencies = "Delete:HIDE ArchiveLocationProp" + ";Archive:SHOW ArchiveLocationProp"; return true; } if (index == counter++) { prop.GroupName = "MediaArchiver"; //set the internal name prop.Name = "ArchiveLocationProp"; //set name shown to user prop.Caption = "Directory to store archives: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "Please specify the directory in which the zip archives of your watched films will be stored: "; prop.DefaultValue = Settings.ArchiveLocation; prop.DataType = "folder"; return true; } return false; }
internal static bool GetLibraryManagementProperties (ImporterProperties importerProperties, int index, OptionSettings prop, ref int counter) { if (index == counter++) { prop.GroupName = "LibraryCleanup"; //set the internal name prop.Name = "ExtractMetadataFromFilenamesProp"; //set name shown to user prop.GroupCaption = " Library Management"; prop.Caption = "Clean and extract metadata from filenames"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "This option enables the program's ability to recognize and extract key information" + Environment.NewLine + "about media files from their filenames, and clean them by removing unessecarry information." + Environment.NewLine + "Warning: Disabling this option may compromise the performance and accuraccy of the automated film and tv series identifiers."; prop.DefaultValue = MeediFier.Settings.ExtractMetadataFromFilenames; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "LibraryCleanup"; //set the internal name prop.Name = "EnableChainLinkingProp"; //set name shown to user prop.Caption = "Link orphaned video files"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "If this setting is enabled, the films section updater will scan and link together" + Environment.NewLine + "multiple video files of the same film, using the film's unique id."; prop.DefaultValue = MeediFier.Settings.FilmItemChainLinkerIsEnabled; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "LibraryCleanup"; //set the internal name prop.Name = "DeleteMissingProp"; //set name shown to user prop.Caption = "Delete missing library items"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "This feature will automatically delete library items which refer to non-existent (deleted) files." + Environment.NewLine + "The media server diagnostic will ensure that the items located in your file server will not be accidentaly deleted if the server is offline. "; prop.DefaultValue = MeediFier.Settings.DeleteMissing; prop.DataType = "bool"; prop.Dependencies = "False:HIDE DeleteCoverImageOfMissingMediaFilesProp,DeleteFanartImageOfMissingMediaFilesProp" + ";True:SHOW DeleteCoverImageOfMissingMediaFilesProp,DeleteFanartImageOfMissingMediaFilesProp"; return true; } if (index == counter++) { prop.GroupName = "LibraryCleanup"; //set the internal name prop.Name = "DeleteCoverImageOfMissingMediaFilesProp"; //set name shown to user prop.Caption = "Delete cover images of missing media files"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "Enable this setting for the plugin to automatically delete" + Environment.NewLine + "any left-over cover images of media files which were deleted. (but their entries are still present in library)"; prop.DefaultValue = MeediFier.Settings.DeleteCoverImageOfMissingMediaFiles; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "LibraryCleanup"; //set the internal name prop.Name = "DeleteFanartImageOfMissingMediaFilesProp"; //set name shown to user prop.Caption = "Delete fanart images of missing media files"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "Enable this setting for the plugin to automatically delete" + Environment.NewLine + "any left-over fanart images of media files which were deleted. (but their entry is still present in library)"; prop.DefaultValue = MeediFier.Settings.DeleteFanartImageOfMissingMediaFiles; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "LibraryCleanup"; //set the internal name prop.Name = "ClearEmptyFieldsProp"; //set name shown to user prop.Caption = "Remove empty library fields"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "If you enable this option, MediaFairy will remove all empty tags in your library." + Environment.NewLine + "Only the tags that have all their values empty will be removed." + Environment.NewLine + "Enabling this option will ensure a cleaner library and faster library accessing operations. "; prop.DefaultValue = MeediFier.Settings.CleanEmptyFields; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "LibraryCleanup"; //set the internal name prop.Name = "CleanSelectedFieldsProp"; //set name shown to user prop.Caption = "Remove selected library fields: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "If you enable this option, MediaFairy will remove the library fields you specify below." + Environment.NewLine + "You can use this option to delete uneeded/unwanted library tags which other importers may have created."; prop.DefaultValue = MeediFier.Settings.CleanSelectedFields; prop.DataType = "bool"; prop.Dependencies = "False:HIDE SelectedFieldsToCleanProp" + ";True:SHOW SelectedFieldsToCleanProp"; return true; } if (index == counter++) { prop.GroupName = "LibraryCleanup"; //set the internal name prop.Name = "SelectedFieldsToCleanProp"; //set name shown to user prop.Caption = "Which tags to delete? "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = " Please specify here the names of the tags to remove, seperating with a comma (,) "; prop.DefaultValue = MeediFier.Settings.SelectedFieldsToClean; prop.DataType = "string"; return true; } //if (index == counter++) //{ // prop.GroupName = "LibraryCleanup"; // //set the internal name // prop.Name = "MovieNightCompatibleProp"; // //set name shown to user // prop.Caption = "MovieNight compatibility (for Meedio version)"; // prop.Caption = TranslationProvider.Translate(prop.Caption, this); // //set the tool tip // prop.HelpText = "Enable this setting if you are a user of MovieNight media module for Meedio." + Environment.NewLine + // "Your film library tags in this case will be named according to this module's definitions."; // prop.DefaultValue = Settings.MovieNightCompatibility; // prop.DataType = "bool"; // return true; //} if (index == counter++) { prop.GroupName = "LibraryCleanup"; //set the internal name prop.Name = "MeePopupProviderCompatibilityProp"; //set name shown to user prop.Caption = "MeePopupProvider compatibility (for MeediOS version)"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "Enable this setting if you are a user of MeePopupProvider for MeediOS." + Environment.NewLine + "A 'meePopupProvider' field will be added to all media sections containing each item's ID number."; prop.DefaultValue = MeediFier.Settings.MeePopupProviderCompatibility; prop.DataType = "bool"; return true; } return false; }
internal static bool GetGeneralContentDownloaderProperties (ImporterProperties importerProperties, int index, OptionSettings prop, ref int counter) { if (index == counter++) { prop.GroupName = "OnlineMediaDownloader"; //set the internal name prop.Name = "DownloadOnlineContentProp"; prop.GroupCaption = " Online Media Downloader"; //set name shown to user prop.Caption = "Download online files "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "MediaFairy can automatically download any online media file (from the web or ftp address)" + Environment.NewLine + "which is contained in the field you specify in the 'Online content library field' option below, and save it to the folder you specify." + Environment.NewLine + "Please refer to the plugin's documentation for more information and usage paradigms."; prop.DefaultValue = Settings.DownloadOnlineContent; prop.DataType = "bool"; prop.Dependencies = "False:HIDE OnlineContentFieldProp,DownloadFolderProp" + ";True:SHOW OnlineContentFieldProp,DownloadFolderProp"; return true; } if (index == counter++) { prop.GroupName = "OnlineMediaDownloader"; //set the internal name prop.Name = "OnlineContentFieldProp"; //set name shown to user prop.Caption = "Online media library fields: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = " Please specify here the library fields (Tags) in which the online files you desire to store locally are contained." + Environment.NewLine + "MediaFairy will download the online files to which the links contained in these tags are referring, and replace them with the disk paths of the local files those links were downloaded to." + Environment.NewLine + "Please input those tag names by either clicking the '...' button and typing a tag name *or* by typing the tag names directly in the input box, seperating with a comma (,)." + Environment.NewLine + "MediaFairy will search for those tags in all currently supported media libraries and save the online files they contain in the local locations you specify below. "; prop.DefaultValue = Settings.OnlineContentFields; prop.DataType = "stringlist"; return true; } if (index == counter++) { prop.GroupName = "OnlineMediaDownloader"; //set the internal name prop.Name = "DownloadFolderProp"; //set name shown to user prop.Caption = "Save online media in: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = @"Please specify the folder in which you want downloaded online content to be saved. "; prop.DefaultValue = Settings.DownloadFolder; prop.DataType = "folder"; return true; } return false; }
internal static bool MediaWatcherProperties (ImporterProperties importerProperties, int index, OptionSettings prop, string[] twochoices, ref int counter) { #region Media Watcher if (index == counter++) { //set the internal name prop.Name = "EnableMediaWatcherProp"; prop.GroupName = "MediaWatcher"; //set name shown to user prop.Caption = "Enable Media Watcher?"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupCaption = " Media Watcher"; //set the tool tip //TODO: Add help tooltip prop.HelpText = ""; prop.DefaultValue = Settings.MediaWatcherEnabled; prop.DataType = "bool"; prop.Dependencies = "False:HIDE UseRootFoldersAsDirsToWatchProp,DirectoriesToWatchProp,IncludeSubdirectoriesProp,ItemsAdditionModeProp,UseAutoSorterForMediaWatcherProp" + ";True:SHOW UseRootFoldersAsDirsToWatchProp,IncludeSubdirectoriesProp,ItemsAdditionModeProp,UseAutoSorterForMediaWatcherProp"; return true; } if (index == counter++) { //set the internal name prop.Name = "UseRootFoldersAsDirsToWatchProp"; prop.GroupName = "MediaWatcher"; //set name shown to user prop.Caption = "Use Root media folders as directories to watch"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip //TODO: Add help tooltip prop.HelpText = ""; prop.DefaultValue = Settings.UseRootFoldersAsDirsToWatch; prop.DataType = "bool"; prop.Dependencies = "False:SHOW DirectoriesToWatchProp" + ";True:HIDE DirectoriesToWatchProp"; return true; } if (index == counter++) { //set the internal name prop.Name = "DirectoriesToWatchProp"; prop.GroupName = "MediaWatcher"; //set name shown to user prop.Caption = "Directories to Watch: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip //TODO: Add help tooltip prop.HelpText = ""; prop.DefaultValue = Settings.DirectoriesToWatch; prop.DataType = "folder"; //Prop.Dependencies = "False:SHOW AnalyzerOverrides" + //";True:HIDE AnalyzerOverrides"; return true; } if (index == counter++) { //set the internal name prop.Name = "IncludeSubdirectoriesProp"; prop.GroupName = "MediaWatcher"; //set name shown to user prop.Caption = "Include subdirectories"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip //TODO: Add help tooltip prop.HelpText = ""; prop.DefaultValue = Settings.IncludeSubdirectories; prop.DataType = "bool"; return true; } if (index == counter++) { //set the internal name prop.Name = "ItemsAdditionModeProp"; prop.GroupName = "MediaWatcher"; //set name shown to user prop.Caption = "Addition Mode for new items: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip //TODO: Add help tooltip prop.HelpText = ""; prop.DefaultValue = Settings.ItemsAdditionMode; prop.DataType = "string"; twochoices[0] = "Import Only"; twochoices[1] = "Import and Update"; prop.CanTypeChoices = false; prop.Choices = twochoices; prop.IsMandatory = false; //Prop.Dependencies = "in the movie's folder:HIDE PosterFolderProp" + //";in the folder i specify below:SHOW PosterFolderProp"; return true; } if (index == counter++) { //set the internal name prop.Name = "UseAutoSorterForMediaWatcherProp"; prop.GroupName = "MediaWatcher"; //set name shown to user prop.Caption = "Organize imported files using Media Organizer settings"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip //TODO: Add help tooltip prop.HelpText = ""; prop.DefaultValue = Settings.UseAutoSorterForMediaWatcher; prop.DataType = "bool"; return true; } #endregion return false; }//endof function
internal static bool GetFilmDetailsProperties (ImporterProperties importerProperties, int index, OptionSettings prop, IList<string> twochoices, ref int counter) { if (index == counter++) { //set the internal name prop.Name = "PopulateIMDbDetailsProp"; //set name shown to user prop.Caption = "Download Film Details from IMDb"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupCaption = " Film Details"; prop.GroupName = "FilmDetails"; //set the tool tip prop.HelpText = "Would you like to use IMDb (International Movie Database) to download details for your films?"; prop.DefaultValue = MeediFier.Settings.FilmIMDbDetailsDownloaderIsEnabled; prop.DataType = "bool"; return true; } if (index == counter++) { //set the internal name prop.Name = "PopulateOSdbDetailsProp"; //set name shown to user prop.Caption = "Download Film Details from OSdb"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupName = "FilmDetails"; //set the tool tip prop.HelpText = "Would you like to use OSdb (opensubtitles.org) as one of the film details online sources?" + Environment.NewLine + "MediaFairy will download film details from OSdb only if IMDb is offline or unreachable"; prop.DefaultValue = MeediFier.Settings.FilmOSDbDetailsDownloaderIsEnabled; prop.DataType = "bool"; return true; } if (index == counter++) { //set the internal name prop.Name = "PopulateTMDbDetailsProp"; //set name shown to user prop.Caption = "Download additional film details from TMDb"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupName = "FilmDetails"; //set the tool tip prop.HelpText = " Would you like additional film details to be downloaded from TMDb (www.themoviedb.org)?" + Environment.NewLine + "(TMDb Rating, Media Type, Budget, Revenue, film HomePage, Production Countries, Trailer)"; prop.DefaultValue = MeediFier.Settings.TMDbFilmDetailsEnabled; prop.DataType = "bool"; return true; } //if (index == counter++) //{ // //set the internal name // prop.Name = "PopulateAMGDetailsProp"; // //set name shown to user // prop.Caption = "Download additional film details from AMG"; // prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); // prop.GroupName = "FilmDetails"; // //set the tool tip // prop.HelpText = " Would you like additional film details to be downloaded from AMG (allmovie.com)?" + // Environment.NewLine + // "(Plot synopsis, Editorial review, Category, Types, Flags, Keywords, Themes, Tones)"; // prop.DefaultValue = MediaFairy.Settings.AllMediaGuideFilmDetailsEnabled; // prop.DataType = "bool"; // return true; //} //if (index == counter++) //{ // //set the internal name // prop.Name = "PopulateSevenVideoNetDetailsProp"; // //set name shown to user // prop.Caption = "Download Greek film details from Seven Video Net"; // prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); // prop.GroupName = "FilmDetails"; // //set the tool tip // prop.HelpText = // " Would you like to automatically download Greek film details from Seven Video Net (videoseven.gr)?"; // prop.DefaultValue = MediaFairy.Settings.SevenFilmDetailsEnabled; // prop.DataType = "bool"; // return true; //} if (index == counter++) { //set the internal name prop.Name = "WriteFilmDescriptorsProp"; //set name shown to user prop.Caption = "Save film descriptors "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupName = "FilmDetails"; //set the tool tip prop.HelpText = "Film descriptors are standrard .xml files which contain a film's identifying information and details." + Environment.NewLine + "If this feature is enabled, a film descriptor will be saved (in the film's directory) for each film the plugin successfully identifies." + Environment.NewLine + "This procedure offers greatly increased updating performance if/when the film needs to be imported again," + Environment.NewLine + "because if a film descriptor is found, the plugin will use this file to obtain the film's details, thus skipping the video identifying phase. "; prop.DefaultValue = MeediFier.Settings.FilmDescriptorsAreEnabled; prop.DataType = "bool"; return true; } if (index == counter++) { //set the internal name prop.Name = "FilmDescriptorConventionProp"; //set name shown to user prop.Caption = "Film descriptors naming convention "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.GroupName = "FilmDetails"; //set the tool tip prop.HelpText = "Which naming convention would you like to use for your film descriptors?" + Environment.NewLine + "MediaFairy is compatible with XBMC's .nfo files." + Environment.NewLine + "MediaFairy's film descriptors are named <VideoHash>.xml while XBMC's are named <MovieName>.nfo"; prop.DefaultValue = MeediFier.Settings.FilmDescriptorConvention; prop.DataType = "string"; prop.CanTypeChoices = false; twochoices[0] = "MediaFairy"; twochoices[1] = "XBMC"; prop.Choices = twochoices; return true; } return false; }
internal static bool ConfigurationModeProperty (ImporterProperties importerProperties, int index, OptionSettings prop, ref int counter) { if (index == counter++) { prop.Name = "Mode"; prop.Caption = "Configuration Mode: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); prop.HelpText = "The Configuration Mode menu categorizes the available settings of the plugin" + Environment.NewLine + " according to the following settings groups:" + Environment.NewLine + "Media Sections, Media Importers, Media Importing Settings, " + Environment.NewLine + "Media Updaters, Media Updaters Settings," + Environment.NewLine + " Media Organizers, User Interface Settings, Tools, Compatibility"; prop.DataType = "string"; prop.Choices = new[] {"Media Sections", "Media Importers", "Media Updaters", "Media Organizers", "Advanced"}; prop.CanTypeChoices = false; prop.Dependencies = #region Media Sections "Media Sections:HIDEGROUP" + " MediaImporter," + "MediaAnalyzer," + "MovieTitleLocator," + "MediaUpdaters," + "FilmUpdater," + "TvUpdater," + "MusicUpdater," + "VideoIdentifier," + "FilmDetails," + "FilmCovers," + "AlbumCovers," + "AutoSorter," + "OrganizingStructures," + "Diagnostics," + "LibraryCleanup," + "UserInterface," + "RSSimporter" + ";Media Sections:" + "SHOWGROUP " + "MediaSections" #endregion Media Sections + #region Media Importers ";Media Importers:HIDEGROUP" + " MediaSections," + "MediaAnalyzer," + "MovieTitleLocator," + "MediaUpdaters," + "FilmUpdater," + "TvUpdater," + "MusicUpdater," + "VideoIdentifier," + "FilmDetails," + "FilmCovers," + "AlbumCovers," + "AutoSorter," + "OrganizingStructures," + "Diagnostics," + "LibraryCleanup," + "UserInterface," + "RSSimporter" + ";Media Importers:" + "SHOWGROUP " + "MediaImporter" #endregion Media Importers + #region Media Updaters ";Media Updaters:" + "SHOWGROUP " + "MediaUpdaters" + ";Media Updaters:HIDEGROUP " + "MediaSections," + "MediaImporter," + "MediaAnalyzer," + "MovieTitleLocator," + "AutoSorter," + "OrganizingStructures," + "Diagnostics," + "LibraryCleanup," + "UserInterface," + "RSSimporter" #endregion Media Updaters + #region Media Organizers ";Media Organizers:" + "SHOWGROUP " + "AutoSorter" + ";Media Organizers:" + "HIDEGROUP " + "MediaSections," + "MediaImporter," + "MediaAnalyzer," + "MovieTitleLocator," + "RSSimporter," + "MediaUpdaters," + "FilmUpdater," + "TvUpdater," + "MusicUpdater," + "VideoIdentifier," + "FilmDetails," + "FilmCovers," + "AlbumCovers," + "Diagnostics," + "LibraryCleanup," + "UserInterface" #endregion Media Organizers + #region Advanced ";Advanced:" + "SHOWGROUP " + "AutoSorter," + "Diagnostics," + "LibraryCleanup," + "UserInterface" + ";Advanced:HIDEGROUP " + "MediaSections," + "MediaImporter," + "MediaAnalyzer," + "MovieTitleLocator," + "RSSimporter," + "MediaUpdaters," + "FilmUpdater," + "TvUpdater," + "MusicUpdater," + "VideoIdentifier," + "FilmDetails," + "FilmCovers," + "AlbumCovers"; #endregion Advanced prop.GroupName = "misc"; prop.DefaultValue = "Simple"; return true; } return false; }
internal static bool FimImportingOptions (ImporterProperties importerProperties, int index, OptionSettings prop, string[] twochoices, ref int counter) { #region Film Importing options if (index == counter++) { prop.GroupName = "MovieTitleLocator"; //set the internal name prop.Name = "ImportDvdImagesProp"; //set name shown to user prop.GroupCaption = " Film Importing Options"; prop.Caption = "Import DVD images containing films"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.ImportDvdImages; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "MovieTitleLocator"; //set the internal name prop.Name = "ImportBluRayImagesProp"; //set name shown to user prop.GroupCaption = " Film Importing Options"; prop.Caption = "Import BluRay images containing films"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.ImportBluRayImages; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "MovieTitleLocator"; //set the internal name prop.Name = "ImportDvdFoldersProp"; //set name shown to user prop.Caption = "Import DVD film back-ups (preserved disc structure)"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.ImportDvdFolders; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "MovieTitleLocator"; //set the internal name prop.Name = "ImportRarFilmsProp"; //set name shown to user prop.Caption = "Import multi-part RAR archives as films"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = ""; prop.DefaultValue = Settings.ImportFilmsInRarArchives; prop.DataType = "bool"; return true; } if (index == counter++) { prop.GroupName = "MovieTitleLocator"; //set the internal name prop.Name = "MovieTitleLocatorProp"; //set name shown to user prop.Caption = "Override automated film title locator"; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = " If the Automated film title locator fails to correctly locate the titles of your films in their paths (file name or folder name)," + Environment.NewLine + "please check this setting to manually override it."; prop.DefaultValue = Settings.OverrideAutomatedMovieTitleLocator; prop.DataType = "bool"; prop.Dependencies = "False:HIDE MovieTitleLocationProp" + ";True:SHOW MovieTitleLocationProp"; return true; } if (index == counter++) { prop.GroupName = "MovieTitleLocator"; //set the internal name prop.Name = "MovieTitleLocationProp"; //set name shown to user prop.Caption = "Movie's title location in path: "; prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties); //set the tool tip prop.HelpText = "Please specify here the location of your movies' titles in their path."; prop.DefaultValue = Settings.MovieTitleLocationInPath; prop.DataType = "string"; twochoices[0] = "Parent folder"; twochoices[1] = "Video filename"; prop.CanTypeChoices = false; prop.Choices = twochoices; prop.IsMandatory = false; return true; } #endregion return false; }