OSDN Git Service

WinGui:
authorsr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 12 Feb 2009 17:49:21 +0000 (17:49 +0000)
committersr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 12 Feb 2009 17:49:21 +0000 (17:49 +0000)
- Removes 0.33 from x264 granularity slider.
- Fixes some rounding issues

git-svn-id: svn://localhost/HandBrake/trunk@2149 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/C#/frmMain.cs
win/C#/frmMain/PresetLoader.cs
win/C#/frmMain/QueryGenerator.cs
win/C#/frmOptions.Designer.cs

index c922440..eb2ced5 100644 (file)
@@ -1064,15 +1064,31 @@ namespace Handbrake
                     break;\r
                 case "H.264 (x264)":\r
                     slider_videoQuality.Minimum = 0;\r
-                    double tickFreq;\r
-                    double.TryParse(Properties.Settings.Default.x264cqstep, out tickFreq);\r
-                    tickFreq = 1/tickFreq;\r
-                    int freq;\r
-                    int.TryParse(Math.Round(tickFreq).ToString(), out freq);\r
-                    slider_videoQuality.Maximum = (51 * freq);\r
-                    slider_videoQuality.TickFrequency = 1;\r
                     slider_videoQuality.Value = 0;\r
+                    slider_videoQuality.TickFrequency = 1;\r
                     SliderValue.Text = "0% RF: 51.00";\r
+                    String step = Properties.Settings.Default.x264cqstep;\r
+                    switch (step)\r
+                    {\r
+                        case "0.20":\r
+                            slider_videoQuality.Maximum = 255;\r
+                            break;\r
+                        case "0.25":\r
+                            slider_videoQuality.Maximum = 204;\r
+                            break;\r
+                        case "0.33":\r
+                            slider_videoQuality.Maximum = 155;\r
+                            break;\r
+                        case "0.50":\r
+                            slider_videoQuality.Maximum = 102;\r
+                            break;\r
+                        case "1.0":\r
+                            slider_videoQuality.Maximum = 51;\r
+                            break;\r
+                        default:\r
+                            slider_videoQuality.Maximum = 51;\r
+                            break;  \r
+                    }                   \r
                     break;\r
                 case "VP3 (Theora)":\r
                     slider_videoQuality.Minimum = 0;\r
@@ -1082,16 +1098,15 @@ namespace Handbrake
                     break;\r
             }\r
         }\r
-\r
         private void slider_videoQuality_Scroll(object sender, EventArgs e)\r
         {\r
             switch (drp_videoEncoder.Text)\r
             {\r
                 case "MPEG-4 (FFmpeg)":\r
-                    float rfValue = 31 - (slider_videoQuality.Value -1);\r
-                    float max = slider_videoQuality.Maximum;\r
-                    float min = slider_videoQuality.Minimum;\r
-                    float val = ((max - min) - (rfValue - min)) / (max - min);\r
+                    double rfValue = 31 - (slider_videoQuality.Value - 1);\r
+                    double max = slider_videoQuality.Maximum;\r
+                    double min = slider_videoQuality.Minimum;\r
+                    double val = ((max - min) - (rfValue - min)) / (max - min);\r
                     SliderValue.Text = Math.Round((val * 100), 2) + "% QP:" + (32 - slider_videoQuality.Value);\r
                     break;\r
                 case "MPEG-4 (XviD)":\r
@@ -1102,17 +1117,18 @@ namespace Handbrake
                     SliderValue.Text = Math.Round((val * 100), 2) + "% QP:" + (32 - slider_videoQuality.Value);\r
                     break;\r
                 case "H.264 (x264)":\r
-                    float divided;\r
-                    float.TryParse(Properties.Settings.Default.x264cqstep, out divided);\r
-                    rfValue = 51 - slider_videoQuality.Value*divided;\r
+                    double divided;\r
+                    double.TryParse(Properties.Settings.Default.x264cqstep, out divided);\r
+                    rfValue = 51.0 - slider_videoQuality.Value*divided;\r
                     max = slider_videoQuality.Maximum * divided;\r
                     min = slider_videoQuality.Minimum;\r
                     val = ((max - min) - (rfValue - min)) / (max - min);\r
-                    SliderValue.Text = Math.Round((val * 100), 2) + "% RF:" + (51 - slider_videoQuality.Value * divided); \r
+                    rfValue = Math.Round(rfValue, 2);\r
+                    SliderValue.Text = Math.Round((val * 100), 2) + "% RF:" + rfValue; \r
                     break;\r
                 case "VP3 (Theora)":\r
                     rfValue = slider_videoQuality.Value;\r
-                    float value = rfValue/63;\r
+                    double value = rfValue / 63;\r
                     SliderValue.Text = Math.Round((value * 100), 2) + "% QP:" + slider_videoQuality.Value;\r
                     break;\r
             }\r
index c7b5036..7064b0c 100644 (file)
@@ -195,6 +195,12 @@ namespace Handbrake
                     // when used with .33 and .2 and 1.0 for example.\r
                     int.TryParse(calculated.ToString(), out value);\r
 \r
+                    if (value == 0)\r
+                    {\r
+                        double val =  Math.Round(calculated, 0);\r
+                        int.TryParse(val.ToString(), out value);\r
+                    }\r
+\r
                     mainWindow.slider_videoQuality.Value = value;\r
                 }\r
                 else\r
index 4dabd24..31ba53e 100644 (file)
@@ -206,7 +206,7 @@ namespace Handbrake
             // Video Quality Setting\r
             if (mainWindow.radio_cq.Checked)\r
             {\r
-                float value;\r
+                double value;\r
                 switch (mainWindow.drp_videoEncoder.Text)\r
                 {\r
                     case "MPEG-4 (FFmpeg)":\r
@@ -218,9 +218,10 @@ namespace Handbrake
                         query += " -q " + value.ToString(new CultureInfo("en-US"));\r
                         break;\r
                     case "H.264 (x264)":\r
-                        float divided;\r
-                        float.TryParse(Properties.Settings.Default.x264cqstep, out divided);\r
+                        double divided;\r
+                        double.TryParse(Properties.Settings.Default.x264cqstep, out divided);\r
                         value = 51 - mainWindow.slider_videoQuality.Value * divided;\r
+                        value = Math.Round(value, 2);\r
                         query += " -q " + value.ToString(new CultureInfo("en-US"));\r
                         break;\r
                     case "VP3 (Theora)":\r
index 7c13e91..fc6eecc 100644 (file)
@@ -74,6 +74,9 @@ namespace Handbrake
             this.drp_processors = new System.Windows.Forms.ComboBox();\r
             this.Label4 = new System.Windows.Forms.Label();\r
             this.tab_advanced = new System.Windows.Forms.TabPage();\r
+            this.label30 = new System.Windows.Forms.Label();\r
+            this.drop_x264step = new System.Windows.Forms.ComboBox();\r
+            this.label28 = new System.Windows.Forms.Label();\r
             this.check_queryEditorTab = new System.Windows.Forms.CheckBox();\r
             this.lbl_appcastUnstable = new System.Windows.Forms.Label();\r
             this.check_mainMinimize = new System.Windows.Forms.CheckBox();\r
@@ -113,9 +116,6 @@ namespace Handbrake
             this.label26 = new System.Windows.Forms.Label();\r
             this.label27 = new System.Windows.Forms.Label();\r
             this.openFile_vlc = new System.Windows.Forms.OpenFileDialog();\r
-            this.label28 = new System.Windows.Forms.Label();\r
-            this.drop_x264step = new System.Windows.Forms.ComboBox();\r
-            this.label30 = new System.Windows.Forms.Label();\r
             this.tab_options.SuspendLayout();\r
             this.tab_general.SuspendLayout();\r
             this.tab_picture.SuspendLayout();\r
@@ -615,6 +615,43 @@ namespace Handbrake
             this.tab_advanced.Text = "Advanced / Other";\r
             this.tab_advanced.UseVisualStyleBackColor = true;\r
             // \r
+            // label30\r
+            // \r
+            this.label30.AutoSize = true;\r
+            this.label30.Location = new System.Drawing.Point(76, 142);\r
+            this.label30.Name = "label30";\r
+            this.label30.Size = new System.Drawing.Size(230, 13);\r
+            this.label30.TabIndex = 87;\r
+            this.label30.Text = "Constant Quality fractional granularity:\r\n";\r
+            // \r
+            // drop_x264step\r
+            // \r
+            this.drop_x264step.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
+            this.drop_x264step.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.drop_x264step.FormattingEnabled = true;\r
+            this.drop_x264step.Items.AddRange(new object[] {\r
+            "1.0",\r
+            "0.50",\r
+            "0.25",\r
+            "0.20"});\r
+            this.drop_x264step.Location = new System.Drawing.Point(312, 139);\r
+            this.drop_x264step.Name = "drop_x264step";\r
+            this.drop_x264step.Size = new System.Drawing.Size(111, 21);\r
+            this.drop_x264step.TabIndex = 86;\r
+            this.ToolTip.SetToolTip(this.drop_x264step, "The number of processor\'s / processor cores. Unless your having problems, leave o" +\r
+                    "n Automatic.");\r
+            this.drop_x264step.SelectedIndexChanged += new System.EventHandler(this.x264step_SelectedIndexChanged);\r
+            // \r
+            // label28\r
+            // \r
+            this.label28.AutoSize = true;\r
+            this.label28.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.label28.Location = new System.Drawing.Point(27, 142);\r
+            this.label28.Name = "label28";\r
+            this.label28.Size = new System.Drawing.Size(43, 13);\r
+            this.label28.TabIndex = 85;\r
+            this.label28.Text = "x264:";\r
+            // \r
             // check_queryEditorTab\r
             // \r
             this.check_queryEditorTab.AutoSize = true;\r
@@ -1050,44 +1087,6 @@ namespace Handbrake
             this.openFile_vlc.DefaultExt = "exe";\r
             this.openFile_vlc.Filter = "exe|*.exe";\r
             // \r
-            // label28\r
-            // \r
-            this.label28.AutoSize = true;\r
-            this.label28.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label28.Location = new System.Drawing.Point(27, 142);\r
-            this.label28.Name = "label28";\r
-            this.label28.Size = new System.Drawing.Size(43, 13);\r
-            this.label28.TabIndex = 85;\r
-            this.label28.Text = "x264:";\r
-            // \r
-            // drop_x264step\r
-            // \r
-            this.drop_x264step.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
-            this.drop_x264step.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.drop_x264step.FormattingEnabled = true;\r
-            this.drop_x264step.Items.AddRange(new object[] {\r
-            "1.0",\r
-            "0.50",\r
-            "0.33",\r
-            "0.25",\r
-            "0.20"});\r
-            this.drop_x264step.Location = new System.Drawing.Point(312, 139);\r
-            this.drop_x264step.Name = "drop_x264step";\r
-            this.drop_x264step.Size = new System.Drawing.Size(111, 21);\r
-            this.drop_x264step.TabIndex = 86;\r
-            this.ToolTip.SetToolTip(this.drop_x264step, "The number of processor\'s / processor cores. Unless your having problems, leave o" +\r
-                    "n Automatic.");\r
-            this.drop_x264step.SelectedIndexChanged += new System.EventHandler(this.x264step_SelectedIndexChanged);\r
-            // \r
-            // label30\r
-            // \r
-            this.label30.AutoSize = true;\r
-            this.label30.Location = new System.Drawing.Point(76, 142);\r
-            this.label30.Name = "label30";\r
-            this.label30.Size = new System.Drawing.Size(230, 13);\r
-            this.label30.TabIndex = 87;\r
-            this.label30.Text = "Constant Quality fractional granularity:\r\n";\r
-            // \r
             // frmOptions\r
             // \r
             this.ClientSize = new System.Drawing.Size(514, 375);\r