internal static bool GetMediaImportersProperties
            (int index, IMeedioPluginProperty prop,
            ref int counter)
        {
            //if (index == counter++)
            //{
            //    prop.Name = "WantToImportFilmsProp";
            //    prop.Caption = "Import Movies";

            //    prop.GroupCaption = "Media Importers";

            //    prop.HelpText = " Would you like the Automated Media Importer " +
            //                    "to import the films it finds in your root folders? ";

            //    prop.DefaultValue = Settings.FilmImporterIsEnabled;
            //    prop.DataType = "bool";
            //    return true;

            //}


            //if (MediaSections.GetMovieImportingProperties
            //    (index, prop, ref counter))
            //    return true;

            return(false);
        }
        internal static bool GetMediaImportersProperties(int index, IMeedioPluginProperty prop,
                     ref int counter)
        {
            //if (index == counter++)
                    //{
                    //    prop.Name = "WantToImportFilmsProp";
                    //    prop.Caption = "Import Movies";

                    //    prop.GroupCaption = "Media Importers";

                    //    prop.HelpText = " Would you like the Automated Media Importer " +
                    //                    "to import the films it finds in your root folders? ";

                    //    prop.DefaultValue = Settings.FilmImporterIsEnabled;
                    //    prop.DataType = "bool";
                    //    return true;

                    //}

                    //if (MediaSections.GetMovieImportingProperties
                    //    (index, prop, ref counter))
                    //    return true;

                    return false;
        }
        internal static bool GetDiagnosticsProperties(int index,
             IMeedioPluginProperty prop,
             ref int counter)
        {
            // ReSharper disable RedundantAssignment
            if (index == counter++)
            // ReSharper restore RedundantAssignment
            {
                prop.Name = "DebugLogProp";
                prop.Caption = "Write debug log file";

                prop.GroupCaption = "Diagnostics:";

                prop.HelpText = "If enabled, E.F.I. will write" +
                                " a debug log containing" + Environment.NewLine +
                                "important information from the last " +
                                "importing session for debugging purposes.";

                prop.DefaultValue = Settings.WriteDebugLog;
                prop.DataType = "bool";
                return true;
            }

            return false;
        }
        internal static bool GetDiagnosticsProperties
            (int index,
             IMeedioPluginProperty prop,
             ref int counter)
        {




            // ReSharper disable RedundantAssignment
            if (index == counter++)
            // ReSharper restore RedundantAssignment
            {
                prop.Name = "DebugLogProp";
                prop.Caption = "Write debug log file";

                prop.GroupCaption = "Diagnostics:";


                prop.HelpText = "If enabled, E.F.I. will write" +
                                " a debug log containing" + Environment.NewLine +
                                "important information from the last " +
                                "importing session for debugging purposes.";

                prop.DefaultValue = Settings.WriteDebugLog;
                prop.DataType = "bool";
                return true;
            }




            return false;
        }
        public static bool GetProperty(Int32 index, IMeedioPluginProperty prop)
        {
            #region init vars
            int counter = 1;

            string[] threechoices = new string[3];
            string[] twochoices = new string[2];
            string[] fourchoices = new string[4];

            #endregion

            try
            {

                if (MediaUpdatersProperties.GetMediaUpdatersProperties
                    (this, index, prop, twochoices,
                    threechoices, fourchoices, ref counter))
                    return true;

                if (DiagnosticsProperties.GetDiagnosticsProperties
                    (this, index, prop, ref counter))
                    return true;

            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }

            return false;
        }
 public bool GetProperty(int Index, IMeedioPluginProperty Property)
 {
     Int32 counter = 1;
       if (Index == counter++) {
     Property.CanTypeChoices = false;
     Property.Caption = "Custom Properties";
     Property.DataType = "custom";
     Property.DefaultValue = myProperties.Default;
     Property.Name = "custom";
     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;
        }
        public bool GetProperty(int index, IMeedioPluginProperty prop)
        {
            try
            {
                int i = 1;
                Initializer.Initialize(this);

                if (index == i++)
                {
                    prop.Name = "ImporterSettings";
                    prop.Caption = "Importer settings".Translate();
                    prop.HelpText = "Click to open the settings dialog.".Translate();
                    prop.DataType = "custom";
                    prop.DefaultValue = this.ImporterSettings.Default;
                    prop.CanTypeChoices = false;
                    return true;
                }
                else if (index == i++)
                {
                    prop.Name = "RootFolders";
                    prop.Caption = "Root folders".Translate();
                    prop.HelpText =
                        ("Ignore this property. It is just here so other plugins can programatically set it." +
                         Environment.NewLine +
                         "Click on the button for the 'Importer settings' property to setup this import.").Translate();
                    prop.GroupCaption = "Support for other plugins".Translate();
                    prop.DataType = "folderlist";
                    return true;
                }
                else if (index == i)
                {
                    prop.Name = "SingleFilename";
                    prop.Caption = "Single filename".Translate();
                    prop.GroupCaption = "Support for other plugins".Translate();
                    prop.HelpText =
                        ("Ignore this property. It is just here so other plugins can programatically set it." +
                         Environment.NewLine +
                         "Click on the button for the 'Importer settings' property to setup this import." +
                         Environment.NewLine + "If set only the file specified gets imported.").Translate();
                    prop.DataType = "string";
                    return true;
                }
            }
            catch (Exception ex)
            {
                this.LogMessages.Enqueue(new LogMessage("Error", ex.Message, ex));
                this.LogMessages.FlushAllMessages();
            }

            return false;
        }
 public bool GetProperty(int Index, IMeedioPluginProperty Prop)
 {
     return PluginPropertyRetriever.GetPluginProperty(Index, Prop);
 }
 public bool GetProperty(int Index, IMeedioPluginProperty Prop)
 {
     return false;
 }
        internal static bool GetPluginProperty(int Index, IMeedioPluginProperty Prop)
        {
            int c = 1;

            if (Index == c++)
            {
                Prop.Name = "PromptForName";
                Prop.Caption = "Prompt for name if not found?";
                Prop.CanTypeChoices = true;
                Prop.DataType = "bool";
                Prop.DefaultValue = true;
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                Prop.Name = "EjectDvd";
                Prop.Caption = "Eject after disc is processed?";
                Prop.CanTypeChoices = true;
                Prop.DataType = "bool";
                Prop.DefaultValue = true;
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                Prop.Name = "DisplayStatus";
                Prop.Caption = "Display status:";
                Prop.DataType = "string";
                Prop.Choices2["Do not display status"] = "Do not display status";
                Prop.Choices2["Display status at bottom of screen"] = "Display status at bottom of screen";
                Prop.Choices2["Display status at top of screen"] = "Display status at top of screen";
                Prop.DefaultValue = "Do not display status";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                Prop.Name = "DVDTVOptions";
                Prop.Caption = "DVD TV Series Options:";
                Prop.DataType = "string";
                Prop.Choices2["Do not process TV series"] = "Do not process TV series";
                Prop.Choices2["Backup disc as one ISO file"] = "Backup disc as one ISO file";
                Prop.Choices2["Backup individual episodes as MKV files"] = "Backup individual episodes as MKV files";
                Prop.DefaultValue = "Do not process TV series";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                Prop.Name = "DVDMovieOptions";
                Prop.Caption = "DVD Movie Options:";
                Prop.DataType = "string";
                Prop.Choices2["Do not process movies"] = "Do not process movies";
                Prop.Choices2["Backup disc as one ISO file"] = "Backup disc as one ISO file";
                Prop.Choices2["Backup disc as IFO & VOB files"] = "Backup disc as IFO & VOB files";
                Prop.Choices2["Backup main movie as H264/MKV file"] = "Backup main movie as H264/MKV file";
                Prop.Choices2["Backup main movie as MPG file"] = "Backup main movie as MPG file";
                //Prop.Choices2["Backup main movie as IFO & VOB files"] = "Backup main movie as IFO & VOB files";
                Prop.Choices2["Backup with my specifed program"] = "Backup with my specifed program";
                Prop.DefaultValue = "Do not process movies";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                Prop.Name = "BRTVOptions";
                Prop.Caption = "Blu-Ray TV Series Options:";
                Prop.DataType = "string";
                Prop.Choices2["Do not process TV series"] = "Do not process TV series";
                Prop.Choices2["Backup disc as one ISO file"] = "Backup disc as one ISO file";
                //Prop.Choices2["Backup individual episodes as ISO files"] = "Backup individual episodes as ISO files";
                //Prop.Choices2["Backup individual episodes as M2TS files"] = "Backup individual episodes as M2TS files";
                Prop.DefaultValue = "Do not process TV series";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                Prop.Name = "BRMovieOptions";
                Prop.Caption = "Blu-Ray Movie Options:";
                Prop.DataType = "string";
                Prop.Choices2["Do not process movies"] = "Do not process movies";
                Prop.Choices2["Backup disc as one ISO file"] = "Backup disc as one ISO file";
                Prop.Choices2["Backup main movie as ISO file"] = "Backup main movie as ISO file";
                Prop.Choices2["Backup main movie as M2TS file"] = "Backup main movie as M2TS file";
                Prop.Choices2["Backup with my specifed program"] = "Backup with my specifed program";
                Prop.DefaultValue = "Do not process movies";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                //Run TV Import
                Prop.Caption = "Run TV import module after disc is processed?";
                Prop.DataType = "section";
                Prop.IsMandatory = false;
                Prop.DefaultValue = "";
                Prop.Name = "importTVModule";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                //Run Movie Import
                Prop.Caption = "Run movie import module after disc is processed?";
                Prop.DataType = "section";
                Prop.IsMandatory = false;
                Prop.DefaultValue = "";
                Prop.Name = "importModule";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                //Import Delay
                Prop.Caption = "Delay import to allow subsequent discs to be processed:";
                Prop.HelpText = "Select the time to delay the import run.";
                Prop.DataType = "string";
                Prop.Choices2["0"] = "0 minutes";
                Prop.Choices2["1"] = "1 minute";
                Prop.Choices2["2"] = "2 minutes";
                Prop.Choices2["3"] = "3 minutes";
                Prop.Choices2["4"] = "4 minutes";
                Prop.Choices2["5"] = "5 minutes";
                Prop.Choices2["6"] = "6 minutes";
                Prop.Choices2["7"] = "7 minutes";
                Prop.Choices2["8"] = "8 minutes";
                Prop.Choices2["9"] = "9 minutes";
                Prop.Choices2["10"] = "10 minutes";
                Prop.CanTypeChoices = false;
                Prop.IsMandatory = false;
                Prop.DefaultValue = "0";
                Prop.Name = "ImportDelay";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                //Quality for HandBrake
                Prop.Caption = "HandBrake - Constant quality percentage:";
                Prop.HelpText = "Enter the quality percentage.";
                Prop.DataType = "string";
                Prop.Choices2[".5"] = "50%";
                Prop.Choices2[".55"] = "55%";
                Prop.Choices2[".6"] = "60%";
                Prop.Choices2[".65"] = "65%";
                Prop.Choices2[".7"] = "70%";
                Prop.Choices2[".75"] = "75%";
                Prop.Choices2[".8"] = "80%";
                Prop.Choices2[".85"] = "85%";
                Prop.Choices2[".9"] = "90%";
                Prop.Choices2[".95"] = "95%";
                Prop.Choices2["1"] = "100%";
                Prop.CanTypeChoices = false;
                Prop.IsMandatory = false;
                Prop.DefaultValue = ".7";
                Prop.Name = "HandBrakeQuality";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                //Downconvert HD to Standard
                Prop.Caption = "Convert DTS-HD/True-HD to standard DTS/AC3";
                Prop.DataType = "bool";
                Prop.IsMandatory = false;
                Prop.DefaultValue = false;
                Prop.Name = "DownConvertAudio";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                //Downconvert HD to Standard
                Prop.Caption = "Prefer LPCM audio?";
                Prop.DataType = "bool";
                Prop.IsMandatory = false;
                Prop.DefaultValue = false;
                Prop.Name = "PreferLPCM";
                Prop.GroupCaption = "General Setup";
                return true;
            }
            if (Index == c++)
            {
                Prop.Name = "CreateFolder";
                Prop.Caption = "Create folder named:";
                Prop.DataType = "string";
                Prop.Choices2["Do Not Create Folder"] = "Do Not Create Folder";
                Prop.Choices2["Movie Name"] = "Movie Name";
                Prop.Choices2["Movie Name.DVDID"] = "Movie Name.DVDID";
                Prop.Choices2["Movie Name.IMDbID"] = "Movie Name.IMDbID";
                Prop.Choices2["Movie Name.DVDID.IMDbID"] = "Movie Name.DVDID.IMDbID";
                Prop.DefaultValue = "Movie Name.DVDID.IMDbID";
                Prop.GroupCaption = "Create Media Folder";
                return true;
            }
            if (Index == c++)
            {
                //DVDID TAG SEPARATOR
                Prop.Caption = "Tag Separator in front of DVDID:";
                Prop.DataType = "string";
                Prop.IsMandatory = false;
                Prop.DefaultValue = " DVDID~";
                Prop.Name = "DVDIDDivider";
                Prop.GroupCaption = "Create Media Folder";
                return true;
            }
            if (Index == c++)
            {
                //IMDbID TAG SEPARATOR
                Prop.Caption = "Tag Separator in front of IMDbID:";
                Prop.DataType = "string";
                Prop.IsMandatory = false;
                Prop.DefaultValue = " IMDbID~";
                Prop.Name = "IMDbIDDivider";
                Prop.GroupCaption = "Create Media Folder";
                return true;
            }
            if (Index == c++)
            {
                //Path to your TV Shows
                Prop.Caption = "Path to TV directory";
                Prop.DataType = "folderlist";
                Prop.IsMandatory = true;
                Prop.DefaultValue = "";
                Prop.Name = "TVDir";
                Prop.GroupCaption = "Create Media Folder";
                return true;
            }
            if (Index == c++)
            {
                //Path to your DVD Movies
                Prop.Caption = "Path to DVD directory";
                Prop.DataType = "folderlist";
                Prop.IsMandatory = true;
                Prop.DefaultValue = "";
                Prop.Name = "DvdDir";
                Prop.GroupCaption = "Create Media Folder";
                return true;
            }
            if (Index == c++)
            {
                //Path to your Blu-Ray Movies
                Prop.Caption = "Path to Blu-Ray directory";
                Prop.DataType = "folderlist";
                Prop.IsMandatory = true;
                Prop.DefaultValue = "";
                Prop.Name = "BrDir";
                Prop.GroupCaption = "Create Media Folder";
                return true;
            }
            if (Index == c++)
            {
                Prop.Name = "MoviePoster";
                Prop.Caption = "Save movie poster as:";
                Prop.DataType = "string";
                Prop.Choices2["Do Not Save Movie Poster"] = "Do Not Save Movie Poster";
                Prop.Choices2["folder.jpg"] = "folder.jpg";
                Prop.Choices2["Movie Name.jpg"] = "Movie Name.jpg";
                Prop.Choices2["Movie Name.DVDID.jpg"] = "Movie Name.DVDID.jpg";
                Prop.Choices2["IMDbID.jpg"] = "IMDbID.jpg";
                Prop.Choices2["Movie Name.IMDbID.jpg"] = "Movie Name.IMDbID.jpg";
                Prop.Choices2["Movie Name.DVDID.IMDbID.jpg"] = "Movie Name.DVDID.IMDbID.jpg";
                Prop.DefaultValue = "Movie Name.IMDbID.jpg";
                Prop.GroupCaption = "Poster Options";
                return true;
            }
            if (Index == c++)
            {
                //POSTER TAG SEPARATOR
                Prop.Caption = "Character to divide poster tags:";
                Prop.DataType = "string";
                Prop.IsMandatory = false;
                Prop.DefaultValue = "~";
                Prop.Name = "PosterTagDivider";
                Prop.GroupCaption = "Poster Options";
                return true;
            }
            if (Index == c++)
            {
                //Path to your Movie Posters
                Prop.Caption = "Directory to save movie posters:";
                Prop.HelpText = "If left blank, posters will be saved to the created movie directory";
                Prop.DataType = "folder";
                Prop.IsMandatory = false;
                Prop.DefaultValue = "";
                Prop.Name = "PosterDir";
                Prop.GroupCaption = "Poster Options";
                return true;
            }
            if (Index == c++)
            {
                //Path to your External DVD Program
                Prop.Caption = "Path to external DVD program";
                Prop.DataType = "file";
                Prop.IsMandatory = false;
                Prop.DefaultValue = "";
                Prop.Name = "extProgram";
                Prop.GroupCaption = "Run Optional Program";
                return true;
            }
            if (Index == c++)
            {
                //Path to your External DVD Program
                Prop.Caption = "Parameters for external DVD program";
                Prop.DataType = "string";
                Prop.IsMandatory = false;
                Prop.DefaultValue = "";
                Prop.Name = "extParameters";
                Prop.GroupCaption = "Run Optional Program";
                return true;
            }
            if (Index == c++)
            {
                //Path to your External Blu-Ray Program
                Prop.Caption = "Path to external Blu-Ray program";
                Prop.DataType = "file";
                Prop.IsMandatory = false;
                Prop.DefaultValue = "";
                Prop.Name = "brProgram";
                Prop.GroupCaption = "Run Optional Program";
                return true;
            }
            if (Index == c++)
            {
                Prop.Caption = "Parameters for external Blu-Ray program";
                Prop.DataType = "string";
                Prop.IsMandatory = false;
                Prop.DefaultValue = "";
                Prop.Name = "brParameters";
                Prop.GroupCaption = "Run Optional Program";
                return true;
            }
            if (Index == c++)
            {
                //CREATE LOG FILE
                Prop.Caption = "Create Log File?";
                Prop.DataType = "bool";
                Prop.IsMandatory = false;
                Prop.DefaultValue = false;
                Prop.Name = "Log";
                Prop.GroupCaption = "Log File";
                return true;
            }
            return false;
        }
        internal static bool GetMovieImportingProperties(int index, IMeedioPluginProperty prop, ref int counter)
        {
            if (index == counter++)
            {

                prop.Name = "ImportDvdFoldersProp";
                //set name shown to user
                prop.Caption
                    = "Import DVD film back-ups" +
                      "(preserved disc structure)";

                prop.GroupCaption = "Movie Importer Settings";

                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ImportDvdFolders;
                prop.DataType = "bool";
                return true;

            }

            if (index == counter++)
            {

                prop.Name = "MovieTitleLocatorProp";
                //set name shown to user

                prop.Caption = "Override automated movie title locator";

                prop.GroupCaption = "Movie Importer Settings";

                //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";
                return true;
            }

            if (index == counter++)
            {

                prop.Name = "MovieTitleLocationProp";
                //set name shown to user

                prop.Caption = "Movie's title location in path: ";

                prop.GroupCaption = "Movie Importer Settings";

                prop.HelpText =
                    "Please specify here the location" +
                    " of your movies' titles in their path.";

                prop.DefaultValue = Settings
                    .MovieTitleLocationInPath;

                prop.DataType = "string";

                var twochoices = new string[2];
                twochoices[0] = "Parent folder";
                twochoices[1] = "Video filename";

                prop.CanTypeChoices = false;
                prop.Choices = twochoices;
                prop.IsMandatory = false;
                return true;
            }

            return false;
        }
        /// <summary>
        /// Defining config entries
        /// </summary>
        /// <PARAM name="propertyIndex">Parameter number</PARAM><PARAM name="propertyDefinition">Parameter definition</PARAM>
        /// <returns>
        /// Return true if propertyDefinition is filled with valid data, false if no property with index propertyIndex exists.
        /// </returns>
        public bool GetProperty(int index, IMeedioPluginProperty prop)
        {
            int counter = 1;

                if (index == counter++)
                {
                    //set the internal name
                    prop.Name = "LanguageProp";

                    prop.GroupCaption = "Subtitle Languages";
                    //set name shown to user
                    prop.Caption = "Primary subtitle language:";
                    prop.Caption = TranslationProvider.Translate(prop.Caption, this);

                    //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 please 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++)
                {
                    prop.GroupCaption = "Subtitle Languages";
                    //set the internal name
                    prop.Name = "LanguagePropSecondary";
                    //set name shown to user
                    prop.Caption = "Secondary subtitle language:";
                    prop.Caption = TranslationProvider.Translate(prop.Caption, this);
                    //set the tool tip
                    prop.HelpText =
                        "If no subtitles are found for your primary language," +
                        " AVSI will search for and download subtitles for this language.";
                    prop.DefaultValue = Settings.SecondaryLanguage;
                    prop.DataType = "string";
                    return true;
                }

                if (index == counter++)
                {
                    prop.GroupCaption = "Diagnostics";
                    //set the internal name
                    prop.Name = "FileTypeVerifierProp";

                    //set name shown to user
                    prop.Caption = "Enable File Type Verifier";
                    prop.Caption = TranslationProvider.Translate(prop.Caption, this);
                    //set the tool tip

                    prop.HelpText =
                        "If this option is enabled, AVSI will try to verify that"
                        + Environment.NewLine +
                        "each media section's entry corresponds to an actual video file."
                        + Environment.NewLine +
                        " This check uses a file extension table"
                        + Environment.NewLine +
                        "located in the plugin's directory which contains"
                        + Environment.NewLine +
                        " the most common video file extensions.";

                    prop.DefaultValue = Settings.EnableFileTypeVerifier;
                    prop.DataType = "bool";

                    return true;

                }

            // ReSharper disable RedundantAssignment
                if (index == counter++)
            // ReSharper restore RedundantAssignment
                {

                    prop.GroupCaption = "Diagnostics";
                    //set the internal name
                    prop.Name = "DebugLogProp";
                    //set name shown to user
                    prop.Caption = "Write Debug.log";
                    prop.Caption = TranslationProvider.Translate(prop.Caption, this);
                    //set the tool tip

                    prop.HelpText =
                        "With this option enabled, a log file named 'Debug.log' "
                        + Environment.NewLine +
                        "will be written in the plugin's directory" +
                        " containing debug information."
                        + Environment.NewLine +
                        " In case something goes wrong, " +
                        "please provide this file with your bug/issue report.";

                    prop.DefaultValue = Settings.EnableDebugLog;
                    prop.DataType = "bool";

                    return true;

                }

            return false;
        }
Exemplo n.º 14
0
        /// <summary>
        /// Defining config entries
        /// </summary>
        /// <PARAM name="propertyIndex">Parameter number</PARAM><PARAM name="propertyDefinition">Parameter definition</PARAM>
        /// <returns>
        /// Return true if propertyDefinition is filled with valid data, false if no property with index propertyIndex exists.
        /// </returns>
        public bool GetProperty(int index, IMeedioPluginProperty prop)
        {
            try
            {
                int counter = 1;
                MainImportingEngine.Initialized = Initialize();

                #region list of properties

                try
                {

                    if (index == counter++)
                    {
                        prop.CanTypeChoices = true;
                        prop.Caption = "Settings: ";
                        prop.DataType = "custom";
                        //Prop.GroupCaption = "                                  - Advanced - ";
                        prop.DefaultValue = _importerSettings.Default;
                        prop.Name = "customAdvancedOptions";
                        return true;
                    }

                    #region Media Folders
                    if (index == counter++)
                    {
                        prop.Caption = "Movies Folders Settings";
                        prop.HelpText = "Customize the Folders settings";
                        prop.DataType = "custom";
                        prop.DefaultValue = "";
                        prop.Name = "AdvancedSettingsFolders";
                        return true;
                    }

                    if (index == counter++)
                    {
                        prop.Caption = "TV Shows Folders Settings";
                        prop.HelpText = "Customize the Folders settings";
                        prop.DataType = "custom";
                        prop.DefaultValue = "";
                        prop.Name = "AdvancedSettingsFoldersb";
                        return true;
                    }

                    if (index == counter++)
                    {
                        prop.Caption = "Music Folders Settings";
                        prop.HelpText = "Customize the Folders settings";
                        prop.DataType = "custom";
                        prop.DefaultValue = "";
                        prop.Name = "AdvancedSettingsFoldersc";
                        return true;
                    }
                    #endregion Media Folders

                    #region Metadata Folders

                    #region Movies Metadata
                    if (index == counter++)
                    {
                        prop.Caption = "Movies Metadata Settings";
                        prop.HelpText = "Customize the Movies settings";
                        prop.DataType = "custom";
                        prop.DefaultValue = "Default Settings";
                        prop.Name = "AdvancedSettingsMovies";
                        return true;
                    }
                    #endregion Movies Metadata

                    #region TV Series Metadata
                    if (index == counter++)
                    {
                        prop.Caption = "TV Series Metadata Settings";
                        prop.HelpText = "Customize the TVShows settings";
                        prop.DataType = "custom";
                        prop.DefaultValue = "Default Settings";
                        prop.Name = "AdvancedSettingsTVShows";
                        return true;
                    }
                    #endregion

                    #region Music Metadata
                    // ReSharper disable RedundantAssignment
                    if (index == counter++)
                    // ReSharper restore RedundantAssignment
                    {
                        prop.Caption = "Music Metadata Settings";
                        prop.HelpText = "Customize the Music settings";
                        prop.DataType = "custom";
                        prop.DefaultValue = "Default Settings";
                        prop.Name = "AdvancedSettingsMusic";
                        return true;
                    }
                    #endregion

                    #endregion Metadata Folders


                }
                catch (Exception e)
                {
                    MessageBox.Show(e.ToString());
                    return false;
                }

                #endregion
            }

            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }

            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;
        }
Exemplo n.º 16
0
        internal static bool GetMovieImportingProperties
            (int index, IMeedioPluginProperty prop, ref int counter)
        {
            if (index == counter++)
            {
                prop.Name = "ImportDvdFoldersProp";
                //set name shown to user
                prop.Caption
                    = "Import DVD film back-ups" +
                      "(preserved disc structure)";


                prop.GroupCaption = "Movie Importer Settings";

                //set the tool tip
                prop.HelpText     = "";
                prop.DefaultValue = Settings.ImportDvdFolders;
                prop.DataType     = "bool";
                return(true);
            }


            if (index == counter++)
            {
                prop.Name = "MovieTitleLocatorProp";
                //set name shown to user

                prop.Caption = "Override automated movie title locator";

                prop.GroupCaption = "Movie Importer Settings";

                //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";
                return(true);
            }


            if (index == counter++)
            {
                prop.Name = "MovieTitleLocationProp";
                //set name shown to user


                prop.Caption = "Movie's title location in path: ";

                prop.GroupCaption = "Movie Importer Settings";


                prop.HelpText =
                    "Please specify here the location" +
                    " of your movies' titles in their path.";

                prop.DefaultValue = Settings
                                    .MovieTitleLocationInPath;

                prop.DataType = "string";

                var twochoices = new string[2];
                twochoices[0] = "Parent folder";
                twochoices[1] = "Video filename";

                prop.CanTypeChoices = false;
                prop.Choices        = twochoices;
                prop.IsMandatory    = false;
                return(true);
            }

            return(false);
        }
                /// <summary>
                /// Defining config entries
                /// </summary>
                /// <PARAM name="propertyIndex">Parameter number</PARAM><PARAM name="propertyDefinition">Parameter definition</PARAM>
                /// <returns>
                /// Return true if propertyDefinition is filled with valid data, false if no property with index propertyIndex exists.
                /// </returns>
                public bool GetProperty
                    (int index, IMeedioPluginProperty prop)
                {


                    try
                    {



                        int counter = 1;
                        MainImportingEngine
                            .Initialized
                            = Initialize();



                        if (ImporterPropertiesGroups.
                            MediaImporters.GetMediaImportersProperties
                            (index, prop, ref counter))
                            return true;



                        if (GetImporterProperties.GetDiagnosticsProperties
                            (index, prop, ref counter))
                            return true;







                        #region Media Folders

                        if (index == counter++)
                        {
                            prop.Caption = "Films Folders Settings";
                            prop.GroupCaption = "Media Folders:";

                            prop.HelpText = "Customize the Folders settings";
                            prop.DataType = "custom";
                            prop.DefaultValue = "";
                            prop.Name = "AdvancedSettingsFoldersa";
                            return true;
                        }

                        #endregion Media Folders



                    }

                    catch (Exception e)
                    {
                        MessageBox.Show(e.ToString());
                    }


                    return false;
                }