Ejemplo n.º 1
0
        public frmOptions(frmMain mw)
        {
            InitializeComponent();
            mainWindow = mw;

            IDictionary <string, string> langList = LanguageUtilities.MapLanguages();

            foreach (string item in langList.Keys)
            {
                drop_preferredLang.Items.Add(item);
            }

            // #############################
            // General
            // #############################

            // Enable Tooltips.
            if (Properties.Settings.Default.tooltipEnable)
            {
                check_tooltip.CheckState = CheckState.Checked;
                ToolTip.Active           = true;
            }

            // Update Check
            if (Properties.Settings.Default.updateStatus)
            {
                check_updateCheck.CheckState = CheckState.Checked;
            }

            // Days between update checks
            switch (Properties.Settings.Default.daysBetweenUpdateCheck)
            {
            case 1:
                drop_updateCheckDays.SelectedIndex = 0;
                break;

            case 7:
                drop_updateCheckDays.SelectedIndex = 1;
                break;

            case 30:
                drop_updateCheckDays.SelectedIndex = 2;
                break;
            }

            // On Encode Completeion Action
            drp_completeOption.Text = userSettingService.GetUserSettingString("WhenCompleteAction");

            // Growl.
            if (userSettingService.GetUserSettingBoolean(UserSettingConstants.GrowlEncode))
            {
                check_growlEncode.CheckState = CheckState.Checked;
            }

            if (userSettingService.GetUserSettingBoolean(UserSettingConstants.GrowlQueue))
            {
                check_GrowlQueue.CheckState = CheckState.Checked;
            }

            // Enable auto naming feature.
            if (Properties.Settings.Default.autoNaming)
            {
                check_autoNaming.CheckState = CheckState.Checked;
            }

            // Store the auto name path
            text_an_path.Text = Properties.Settings.Default.autoNamePath;
            if (text_an_path.Text == string.Empty)
            {
                text_an_path.Text = "Click 'Browse' to set the default location";
            }

            // Store auto name format
            txt_autoNameFormat.Text = Properties.Settings.Default.autoNameFormat;

            // Use iPod/iTunes friendly .m4v extension for MP4 files.
            cb_mp4FileMode.SelectedIndex = Properties.Settings.Default.useM4v;

            // Remove Underscores
            check_removeUnderscores.Checked = Properties.Settings.Default.AutoNameRemoveUnderscore;

            // Title case
            check_TitleCase.Checked = Properties.Settings.Default.AutoNameTitleCase;

            // #############################
            // Picture Tab
            // #############################

            // VLC Path
            txt_vlcPath.Text = Properties.Settings.Default.VLC_Path;

            // #############################
            // Audio and Subtitles Tab
            // #############################

            drop_preferredLang.SelectedItem = Properties.Settings.Default.NativeLanguage;

            switch (Settings.Default.DubMode)
            {
            case 1:
                radio_dub.Checked = true;
                break;

            case 2:
                radio_foreignAndSubs.Checked = true;
                break;

            case 3:
                radio_preferredAudioAndSubs.Checked = true;
                break;
            }

            check_AddCCTracks.Checked = Properties.Settings.Default.useClosedCaption;

            // #############################
            // CLI
            // #############################

            // Priority level for encodes
            drp_Priority.Text = userSettingService.GetUserSettingString(UserSettingConstants.ProcessPriority);

            check_preventSleep.Checked = userSettingService.GetUserSettingBoolean(UserSettingConstants.PreventSleep);

            // Log Verbosity Level
            cb_logVerboseLvl.SelectedIndex = userSettingService.GetUserSettingInt(UserSettingConstants.Verbosity);

            // Save logs in the same directory as encoded files
            if (userSettingService.GetUserSettingBoolean(UserSettingConstants.SaveLogWithVideo))
            {
                check_saveLogWithVideo.CheckState = CheckState.Checked;
            }

            // Save Logs in a specified path
            if (userSettingService.GetUserSettingBoolean(UserSettingConstants.SaveLogToCopyDirectory))
            {
                check_logsInSpecifiedLocation.CheckState = CheckState.Checked;
            }

            // The saved log path
            text_logPath.Text = userSettingService.GetUserSettingString(UserSettingConstants.SaveLogCopyDirectory);

            check_clearOldLogs.Checked = Properties.Settings.Default.clearOldLogs;

            // #############################
            // Advanced
            // #############################

            // Minimise to Tray
            if (Properties.Settings.Default.trayIconAlerts)
            {
                check_trayStatusAlerts.CheckState = CheckState.Checked;
            }

            // Tray Balloon popups
            if (Properties.Settings.Default.MainWindowMinimize)
            {
                check_mainMinimize.CheckState = CheckState.Checked;
            }

            // Enable / Disable Query editor tab
            if (Properties.Settings.Default.QueryEditorTab)
            {
                check_queryEditorTab.CheckState = CheckState.Checked;
            }
            check_promptOnUnmatchingQueries.Enabled = check_queryEditorTab.Checked;

            // Prompt on inconsistant queries
            check_promptOnUnmatchingQueries.Checked = Properties.Settings.Default.PromptOnUnmatchingQueries;

            // Preset update notification
            if (Properties.Settings.Default.presetNotification)
            {
                check_disablePresetNotification.CheckState = CheckState.Checked;
            }

            // Show CLI Window
            check_showCliForInGUIEncode.Checked = userSettingService.GetUserSettingBoolean(UserSettingConstants.ShowCLI);

            // Set the preview count
            drop_previewScanCount.SelectedItem = Properties.Settings.Default.previewScanCount.ToString();

            // x264 step
            string step = userSettingService.GetUserSettingString(UserSettingConstants.X264Step).ToString(new CultureInfo("en-US"));

            switch (step)
            {
            case "1":
                drop_x264step.SelectedIndex = 0;
                break;

            case "0.5":
                drop_x264step.SelectedIndex = 1;
                break;

            case "0.25":
                drop_x264step.SelectedIndex = 2;
                break;

            case "0.2":
                drop_x264step.SelectedIndex = 3;
                break;
            }

            // Use Experimental dvdnav
            if (userSettingService.GetUserSettingBoolean(UserSettingConstants.DisableLibDvdNav))
            {
                check_dvdnav.CheckState = CheckState.Checked;
            }

            optionsWindowLoading = false;
        }
Ejemplo n.º 2
0
        private static string SourceQuery(frmMain mainWindow, int mode, int duration, string preview)
        {
            string query = string.Empty;

            if (!string.IsNullOrEmpty(mainWindow.sourcePath) && mainWindow.sourcePath.Trim() != "Select \"Source\" to continue")
            {
                if (mainWindow.sourcePath.EndsWith("\\"))
                {
                    query = " -i " + mainWindow.sourcePath;
                }
                else
                {
                    query = " -i " + '"' + mainWindow.sourcePath + '"';
                }
            }

            if (mainWindow.drp_dvdtitle.Text != string.Empty)
            {
                string[] titleInfo = mainWindow.drp_dvdtitle.Text.Split(' ');
                query += " -t " + titleInfo[0];
            }

            if (!UserSettingService.GetUserSettingBoolean(UserSettingConstants.DisableLibDvdNav) && mainWindow.drop_angle.Items.Count != 0)
            {
                query += " --angle " + mainWindow.drop_angle.SelectedItem;
            }

            // Decide what part of the video we want to encode.
            switch (mode)
            {
            case 0:     // Chapters
                if (mainWindow.drop_chapterFinish.Text == mainWindow.drop_chapterStart.Text &&
                    mainWindow.drop_chapterStart.Text != string.Empty)
                {
                    query += string.Format(" -c {0}", mainWindow.drop_chapterStart.Text);
                }
                else if (mainWindow.drop_chapterStart.Text != string.Empty &&
                         mainWindow.drop_chapterFinish.Text != string.Empty)
                {
                    query += string.Format(" -c {0}-{1}", mainWindow.drop_chapterStart.Text,
                                           mainWindow.drop_chapterFinish.Text);
                }
                break;

            case 1:     // Seconds
                int start, end;
                int.TryParse(mainWindow.drop_chapterStart.Text, out start);
                int.TryParse(mainWindow.drop_chapterFinish.Text, out end);
                int calculatedDuration = end - start;

                query += string.Format(" --start-at duration:{0} --stop-at duration:{1}", mainWindow.drop_chapterStart.Text, calculatedDuration);
                break;

            case 2:     // Frames
                int.TryParse(mainWindow.drop_chapterStart.Text, out start);
                int.TryParse(mainWindow.drop_chapterFinish.Text, out end);
                calculatedDuration = end - start;

                query += string.Format(" --start-at frame:{0} --stop-at frame:{1}", mainWindow.drop_chapterStart.Text, calculatedDuration);
                break;

            case 3:     // Preview
                query += " --previews " + Properties.Settings.Default.previewScanCount + " ";
                query += " --start-at-preview " + preview;
                query += " --stop-at duration:" + duration + " ";
                break;

            default:
                break;
            }

            return(query);
        }