OSDN Git Service

WinGui:
authorsr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Mon, 9 Jul 2007 16:45:25 +0000 (16:45 +0000)
committersr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Mon, 9 Jul 2007 16:45:25 +0000 (16:45 +0000)
- Another chunk of code ported to C#

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

win/C#/HandBrakeCS.csproj
win/C#/HandBrakeCS.suo
win/C#/frmMain.Designer.cs
win/C#/frmMain.cs
win/C#/frmReadDVD.cs

index aed93e2..246a491 100644 (file)
@@ -61,7 +61,7 @@
     <Compile Include="frmOptions.Designer.cs">\r
       <DependentUpon>frmOptions.cs</DependentUpon>\r
     </Compile>\r
-    <Compile Include="HandBrake.cs" />\r
+    <Compile Include="HB.cs" />\r
     <Compile Include="Program.cs" />\r
     <Compile Include="Properties\AssemblyInfo.cs" />\r
     <EmbeddedResource Include="frmAbout.resx">\r
index 7833f2b..627f73a 100644 (file)
Binary files a/win/C#/HandBrakeCS.suo and b/win/C#/HandBrakeCS.suo differ
index d55eabf..80c5d4b 100644 (file)
@@ -241,6 +241,7 @@ namespace Handbrake
             this.drp_dvdtitle.TabIndex = 39;\r
             this.drp_dvdtitle.Text = "Automatic";\r
             this.ToolTip.SetToolTip(this.drp_dvdtitle, "The title number you wish to encode.");\r
+            this.drp_dvdtitle.SelectedIndexChanged += new System.EventHandler(this.drp_dvdtitle_SelectedIndexChanged);\r
             // \r
             // RadioISO\r
             // \r
@@ -702,6 +703,7 @@ namespace Handbrake
             this.text_height.Name = "text_height";\r
             this.text_height.Size = new System.Drawing.Size(64, 21);\r
             this.text_height.TabIndex = 8;\r
+            this.text_height.TextChanged += new System.EventHandler(this.text_height_TextChanged);\r
             // \r
             // Label55\r
             // \r
@@ -722,6 +724,7 @@ namespace Handbrake
             this.text_width.Name = "text_width";\r
             this.text_width.Size = new System.Drawing.Size(64, 21);\r
             this.text_width.TabIndex = 7;\r
+            this.text_width.TextChanged += new System.EventHandler(this.text_width_TextChanged);\r
             // \r
             // btn_destBrowse\r
             // \r
@@ -764,6 +767,7 @@ namespace Handbrake
             this.drp_videoEncoder.Size = new System.Drawing.Size(156, 21);\r
             this.drp_videoEncoder.TabIndex = 5;\r
             this.drp_videoEncoder.Text = "H.264";\r
+            this.drp_videoEncoder.SelectedIndexChanged += new System.EventHandler(this.drp_videoEncoder_SelectedIndexChanged);\r
             // \r
             // Label47\r
             // \r
@@ -791,6 +795,7 @@ namespace Handbrake
             this.drp_audioCodec.Size = new System.Drawing.Size(111, 21);\r
             this.drp_audioCodec.TabIndex = 6;\r
             this.drp_audioCodec.Text = "AAC";\r
+            this.drp_audioCodec.SelectedIndexChanged += new System.EventHandler(this.drp_audioCodec_SelectedIndexChanged);\r
             // \r
             // Label12\r
             // \r
@@ -988,6 +993,7 @@ namespace Handbrake
             this.drp_crop.Size = new System.Drawing.Size(123, 21);\r
             this.drp_crop.TabIndex = 9;\r
             this.drp_crop.Text = "No Crop";\r
+            this.drp_crop.SelectedIndexChanged += new System.EventHandler(this.drp_crop_SelectedIndexChanged);\r
             // \r
             // text_right\r
             // \r
@@ -1075,6 +1081,7 @@ namespace Handbrake
             this.check_largeFile.TabIndex = 51;\r
             this.check_largeFile.Text = "Larger mp4 Files (> 4GB)";\r
             this.check_largeFile.UseVisualStyleBackColor = true;\r
+            this.check_largeFile.Click += new System.EventHandler(this.check_largeFile_CheckedChanged);\r
             // \r
             // check_turbo\r
             // \r
@@ -1086,6 +1093,7 @@ namespace Handbrake
             this.check_turbo.TabIndex = 50;\r
             this.check_turbo.Text = "Turbo 1st Pass";\r
             this.check_turbo.UseVisualStyleBackColor = true;\r
+            this.check_turbo.Click += new System.EventHandler(this.check_turbo_CheckedChanged);\r
             // \r
             // Label36\r
             // \r
@@ -1107,6 +1115,7 @@ namespace Handbrake
             this.Check_ChapterMarkers.TabIndex = 48;\r
             this.Check_ChapterMarkers.Text = "Chapter Markers";\r
             this.Check_ChapterMarkers.UseVisualStyleBackColor = true;\r
+            this.Check_ChapterMarkers.CheckedChanged += new System.EventHandler(this.Check_ChapterMarkers_CheckedChanged);\r
             // \r
             // Label28\r
             // \r
@@ -1148,6 +1157,7 @@ namespace Handbrake
             this.CheckCRF.TabIndex = 44;\r
             this.CheckCRF.Text = "Enable CRF";\r
             this.CheckCRF.UseVisualStyleBackColor = true;\r
+            this.CheckCRF.Click += new System.EventHandler(this.CheckCRF_CheckedChanged);\r
             // \r
             // CheckPixelRatio\r
             // \r
@@ -1159,6 +1169,7 @@ namespace Handbrake
             this.CheckPixelRatio.TabIndex = 40;\r
             this.CheckPixelRatio.Text = "Anamorphic PAR";\r
             this.CheckPixelRatio.UseVisualStyleBackColor = true;\r
+            this.CheckPixelRatio.CheckedChanged += new System.EventHandler(this.CheckPixelRatio_CheckedChanged);\r
             // \r
             // Label23\r
             // \r
@@ -1355,6 +1366,7 @@ namespace Handbrake
             this.drp_audioMixDown.Size = new System.Drawing.Size(173, 21);\r
             this.drp_audioMixDown.TabIndex = 50;\r
             this.drp_audioMixDown.Text = "Automatic";\r
+            this.drp_audioMixDown.SelectedIndexChanged += new System.EventHandler(this.drp_audioMixDown_SelectedIndexChanged);\r
             // \r
             // drp_audioChannels\r
             // \r
@@ -1372,6 +1384,17 @@ namespace Handbrake
             this.drp_audioBitrate.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
             this.drp_audioBitrate.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.drp_audioBitrate.FormattingEnabled = true;\r
+            this.drp_audioBitrate.Items.AddRange(new object[] {\r
+            "32",\r
+            "40",\r
+            "48",\r
+            "56",\r
+            "64",\r
+            "80",\r
+            "86",\r
+            "112",\r
+            "128",\r
+            "160"});\r
             this.drp_audioBitrate.Location = new System.Drawing.Point(157, 37);\r
             this.drp_audioBitrate.Name = "drp_audioBitrate";\r
             this.drp_audioBitrate.Size = new System.Drawing.Size(101, 21);\r
index f20fb15..2abc7c7 100644 (file)
@@ -141,6 +141,7 @@ namespace Handbrake
         {\r
             File_Open.ShowDialog();\r
         }\r
+\r
         private void mnu_save_Click(object sender, EventArgs e)\r
         {\r
             File_Save.ShowDialog();\r
@@ -373,6 +374,13 @@ namespace Handbrake
 \r
             DVD_Save.ShowDialog();\r
             text_destination.Text = DVD_Save.FileName;\r
+\r
+            if (Check_ChapterMarkers.CheckState.ToString() == "Checked")\r
+            {\r
+                string destination = text_destination.Text;\r
+                destination = destination.Replace(".mp4", ".m4v");\r
+                text_destination.Text = destination;\r
+            }\r
         }\r
 \r
         private void btn_h264Clear_Click(object sender, EventArgs e)\r
@@ -503,8 +511,241 @@ namespace Handbrake
             System.Diagnostics.Process.Start("http://handbrake.m0k.org/trac/wiki/x264Options");\r
         }\r
 \r
+        private void text_width_TextChanged(object sender, EventArgs e)\r
+        {\r
+            try\r
+            {\r
+                if (CheckPixelRatio.CheckState.ToString() == "Checked") {\r
+                    text_width.Text = "";\r
+                } else {\r
+                    if ((int.Parse(text_width.Text) % 16) != 0){\r
+                        text_width.BackColor = Color.LightCoral;\r
+                    }else {\r
+                        text_width.BackColor = Color.LightGreen;\r
+                    }\r
+                }\r
+\r
+                if (!lbl_Aspect.Text.Equals("Select a Title")){\r
+                    int height = int.Parse(text_width.Text) / int.Parse(lbl_Aspect.Text);\r
+                    int mod16 = height % 16;\r
+                    height = height - mod16;\r
+                    text_height.Text = height.ToString();\r
+                }\r
+               \r
+            } catch(Exception){\r
+            }\r
+        }\r
+\r
+        private void text_height_TextChanged(object sender, EventArgs e)\r
+        {\r
+            try\r
+            {\r
+                if (CheckPixelRatio.CheckState.ToString() == "Checked")\r
+                {\r
+                    text_height.Text = "";\r
+                }\r
+                else\r
+                {\r
+                    if ((int.Parse(text_height.Text) % 16) != 0)\r
+                    {\r
+                        text_height.BackColor = Color.LightCoral;\r
+                    }\r
+                    else\r
+                    {\r
+                        text_height.BackColor = Color.LightGreen;\r
+                    }\r
+                }\r
+            } catch(Exception){\r
+            }\r
+        }\r
+\r
+        private void drp_crop_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            if ((string)drp_crop.SelectedItem == "Manual")\r
+            {\r
+            text_left.Enabled = true;\r
+            text_right.Enabled = true;\r
+            text_top.Enabled = true;\r
+            text_bottom.Enabled = true;\r
+            }\r
 \r
+            if ((string)drp_crop.SelectedItem == "Auto Crop")\r
+            {\r
+                text_left.Enabled = false;\r
+                text_right.Enabled = false;\r
+                text_top.Enabled = false;\r
+                text_bottom.Enabled = false;\r
+                text_left.Text = "";\r
+                text_right.Text = "";\r
+                text_top.Text = "";\r
+                text_bottom.Text = "";\r
+\r
+                if (lbl_RecomendedCrop.Text != "Select a Title")\r
+                {\r
+                    string[] temp = new string[4];\r
+                    temp = lbl_RecomendedCrop.Text.Split('/');\r
+                    text_left.Text = temp[2];\r
+                    text_right.Text = temp[3];\r
+                    text_top.Text = temp[0];\r
+                    text_bottom.Text = temp[1];\r
+                }\r
+            }\r
+\r
+            if ((string)drp_crop.SelectedItem == "No Crop")\r
+            {\r
+                text_left.Enabled = false;\r
+                text_right.Enabled = false;\r
+                text_top.Enabled = false;\r
+                text_bottom.Enabled = false;\r
+                text_left.Text = "0";\r
+                text_right.Text = "0";\r
+                text_top.Text = "0";\r
+                text_bottom.Text = "0";\r
 \r
+            }\r
+        }\r
+        \r
+        private void CheckPixelRatio_CheckedChanged(object sender, EventArgs e)\r
+        {\r
+            text_width.Text = "";\r
+            text_height.Text = "";\r
+            text_width.BackColor = Color.White;\r
+            text_height.BackColor = Color.White;\r
+        }\r
+\r
+        private void drp_dvdtitle_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            if (drp_dvdtitle.Items.Count == 1)\r
+            {\r
+                MessageBox.Show("There are no titles to select. Please scan the DVD by clicking the 'browse' button above before trying to select a title.", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);\r
+            }\r
+        }\r
+\r
+        private void drp_audioCodec_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+\r
+            //CLI Audio mixdown Names: mono stereo dpl1 dpl2 6ch\r
+\r
+            drp_audioMixDown.Items.Clear();\r
+\r
+            if (drp_audioCodec.Text == "AAC")\r
+            {\r
+                drp_audioMixDown.Items.Add("Mono");\r
+                drp_audioMixDown.Items.Add("Stereo");\r
+                drp_audioMixDown.Items.Add("Dolby Surround");\r
+                drp_audioMixDown.Items.Add("Dolby Pro Logic II");\r
+                drp_audioMixDown.Items.Add("6 Channel Discrete");\r
+                drp_audioBitrate.Items.Clear();\r
+                drp_audioBitrate.Items.Add("32");\r
+                drp_audioBitrate.Items.Add("40");\r
+                drp_audioBitrate.Items.Add("48");\r
+                drp_audioBitrate.Items.Add("56");\r
+                drp_audioBitrate.Items.Add("64");\r
+                drp_audioBitrate.Items.Add("80");\r
+                drp_audioBitrate.Items.Add("86");\r
+                drp_audioBitrate.Items.Add("112");\r
+                drp_audioBitrate.Items.Add("128");\r
+                drp_audioBitrate.Items.Add("160");\r
+\r
+            }\r
+            else\r
+            {\r
+                drp_audioMixDown.Items.Add("Stereo");\r
+                drp_audioMixDown.Items.Add("Dolby Surround");\r
+                drp_audioMixDown.Items.Add("Dolby Pro Logic II");\r
+\r
+                drp_audioBitrate.Items.Clear();\r
+                drp_audioBitrate.Items.Add("32");\r
+                drp_audioBitrate.Items.Add("40");\r
+                drp_audioBitrate.Items.Add("48");\r
+                drp_audioBitrate.Items.Add("56");\r
+                drp_audioBitrate.Items.Add("64");\r
+                drp_audioBitrate.Items.Add("80");\r
+                drp_audioBitrate.Items.Add("86");\r
+                drp_audioBitrate.Items.Add("112");\r
+                drp_audioBitrate.Items.Add("128");\r
+                drp_audioBitrate.Items.Add("160");\r
+                drp_audioBitrate.Items.Add("192");\r
+                drp_audioBitrate.Items.Add("224");\r
+                drp_audioBitrate.Items.Add("256");\r
+                drp_audioBitrate.Items.Add("320");\r
+                drp_audioBitrate.Items.Add("384");\r
+            }\r
+        }\r
+\r
+        private void drp_audioMixDown_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            if (drp_audioCodec.Text == "AAC")\r
+            {\r
+                if (drp_audioMixDown.Text == "6 Channel Discrete")\r
+                {\r
+\r
+                    drp_audioBitrate.Items.Clear();\r
+                    drp_audioBitrate.Items.Add("32");\r
+                    drp_audioBitrate.Items.Add("40");\r
+                    drp_audioBitrate.Items.Add("48");\r
+                    drp_audioBitrate.Items.Add("56");\r
+                    drp_audioBitrate.Items.Add("64");\r
+                    drp_audioBitrate.Items.Add("80");\r
+                    drp_audioBitrate.Items.Add("86");\r
+                    drp_audioBitrate.Items.Add("112");\r
+                    drp_audioBitrate.Items.Add("128");\r
+                    drp_audioBitrate.Items.Add("160");\r
+                    drp_audioBitrate.Items.Add("192");\r
+                    drp_audioBitrate.Items.Add("224");\r
+                    drp_audioBitrate.Items.Add("256");\r
+                    drp_audioBitrate.Items.Add("320");\r
+                    drp_audioBitrate.Items.Add("384");\r
+                }\r
+            }\r
+        }\r
+\r
+        private void Check_ChapterMarkers_CheckedChanged(object sender, EventArgs e)\r
+        {\r
+            if (Check_ChapterMarkers.CheckState.ToString() == "Checked")\r
+            {\r
+                string destination = text_destination.Text;\r
+                destination = destination.Replace(".mp4", ".m4v");\r
+                text_destination.Text = destination;\r
+            }\r
+        }\r
+\r
+        private void check_largeFile_CheckedChanged(object sender, EventArgs e)\r
+        {\r
+            if (!text_destination.Text.Contains(".mp4"))\r
+            {\r
+                MessageBox.Show("This option is only compatible with the mp4 file container.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+                check_largeFile.CheckState = CheckState.Unchecked;\r
+            }\r
+        }\r
+\r
+        private void check_turbo_CheckedChanged(object sender, EventArgs e)\r
+        {\r
+            if (!drp_videoEncoder.Text.Contains("H.264"))\r
+            {\r
+                MessageBox.Show("This option is only compatible with the H.264 encoder's", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+                check_turbo.CheckState = CheckState.Unchecked;\r
+            }\r
+        }\r
+\r
+        private void drp_videoEncoder_SelectedIndexChanged(object sender, EventArgs e)\r
+        {\r
+            //Turn off some options which are H.264 only when the user selects a non h.264 encoder\r
+            if (!drp_videoEncoder.Text.Contains("H.264"))\r
+            {\r
+                check_turbo.CheckState = CheckState.Unchecked;\r
+                CheckCRF.CheckState = CheckState.Unchecked;\r
+            }\r
+        }\r
+\r
+        private void CheckCRF_CheckedChanged(object sender, EventArgs e)\r
+        {\r
+            if (slider_videoQuality.Value == 0)\r
+            {\r
+                MessageBox.Show("This option is can only be used with the 'Video Quality' slider.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+                CheckCRF.CheckState = CheckState.Unchecked;\r
+            }\r
+        }\r
 \r
         //\r
         // The Query Generation Function\r
@@ -942,11 +1183,8 @@ namespace Handbrake
             // ----------------------------------------------------------------------\r
 \r
             return querySource+ queryDestination+ queryPictureSettings+ queryVideoSettings+ h264Settings+ queryAudioSettings+ queryAdvancedSettings+ verbose;\r
-        }\r
+        }     \r
 \r
-        \r
-\r
-        \r
 \r
         // This is the END of the road ------------------------------------------------------------------------------\r
     }\r
index 2ecff6f..378642d 100644 (file)
@@ -198,7 +198,7 @@ namespace Handbrake
 \r
         private void btn_ok_Click(object sender, EventArgs e)\r
         {\r
-            start(inputFile);\r
+            scan(inputFile);\r
         }\r
 \r
        \r