}\r
private void btn_RemoveAudioTrack_Click(object sender, EventArgs e)\r
{\r
- // Remove the Item and reselect the control if the following conditions are met.\r
- if (lv_audioList.SelectedItems.Count != 0)\r
- {\r
- // Record the current selected index.\r
- int currentPosition = lv_audioList.SelectedIndices[0];\r
-\r
- lv_audioList.Items.RemoveAt(lv_audioList.SelectedIndices[0]);\r
-\r
- // Now reslect the correct item and give focus to the audio list.\r
- if (lv_audioList.Items.Count != 0)\r
- {\r
- if (currentPosition <= (lv_audioList.Items.Count - 1))\r
- lv_audioList.Items[currentPosition].Selected = true;\r
- else if (currentPosition > (lv_audioList.Items.Count - 1))\r
- lv_audioList.Items[lv_audioList.Items.Count - 1].Selected = true;\r
-\r
- lv_audioList.Select();\r
- }\r
- // Regenerate the ID numers\r
- reGenerateListIDs();\r
- }\r
+ removeAudioTrack();\r
}\r
\r
// Audio List Menu\r
\r
lv_audioList.Select();\r
}\r
+ // Regenerate the ID numers\r
+ reGenerateListIDs();\r
}\r
}\r
\r
/// </summary>\r
public void closeCLI(EncodeProcess ep)\r
{\r
- Process[] prs = Process.GetProcesses();\r
- foreach (Process process in prs)\r
- {\r
- if (process.Id == ep.processID)\r
- {\r
- process.Refresh();\r
- if (!process.HasExited)\r
- process.Kill();\r
-\r
- process.WaitForExit();\r
- }\r
- } \r
+ Process cli = Process.GetProcessById(ep.processID);\r
+ if (!cli.HasExited)\r
+ cli.Kill();\r
}\r
\r
/// <summary>\r
return Duration;\r
}\r
\r
- /// <summary>\r
- /// Calculate the non-anamorphic resoltuion of the source\r
- /// </summary>\r
- /// <param name="width"></param>\r
- /// <param name="top"></param>\r
- /// <param name="bottom"></param>\r
- /// <param name="left"></param>\r
- /// <param name="right"></param>\r
- /// <param name="selectedTitle"></param>\r
- /// <returns></returns>\r
- public static int cacluateNonAnamorphicHeight(int width, decimal top, decimal bottom, decimal left, decimal right, Parsing.Title selectedTitle)\r
- {\r
- float aspect = selectedTitle.AspectRatio;\r
- int aw = 0;\r
- int ah = 0;\r
- if (aspect.ToString() == "1.78")\r
- {\r
- aw = 16;\r
- ah = 9;\r
- }\r
- else if (aspect.ToString() == "1.33")\r
- {\r
- aw = 4;\r
- ah = 3;\r
- }\r
-\r
- if (aw != 0)\r
- {\r
- double a = width * selectedTitle.Resolution.Width * ah * (selectedTitle.Resolution.Height - (double)top - (double)bottom);\r
- double b = selectedTitle.Resolution.Height * aw * (selectedTitle.Resolution.Width - (double)left - (double)right);\r
-\r
- double y = a / b;\r
-\r
- // If it's not Mod 16, make it mod 16\r
- if ((y % 16) != 0)\r
- {\r
- double mod16 = y % 16;\r
- if (mod16 >= 8)\r
- {\r
- mod16 = 16 - mod16;\r
- y = y + mod16;\r
- }\r
- else\r
- {\r
- y = y - mod16;\r
- }\r
- }\r
-\r
- //16 * (421 / 16)\r
- //double z = ( 16 * (( y + 8 ) / 16 ) );\r
- int x = int.Parse(y.ToString());\r
- return x;\r
- }\r
- return 0;\r
- }\r
-\r
/// <summary>\r
/// Select the longest title in the DVD title dropdown menu on frmMain\r
/// </summary>\r
Properties.Settings.Default.hb_version = arr[0];\r
}\r
if (cliProcess.TotalProcessorTime.Seconds > 10) // Don't wait longer than 10 seconds.\r
- killCLI();\r
-\r
+ killCLI(cliProcess.Id);\r
}\r
}\r
catch (Exception e)\r
/// <summary>\r
/// Search through the running processes on the system and kill HandBrakeCLI\r
/// </summary>\r
- private static void killCLI()\r
+ private static void killCLI(int id)\r
{\r
- string AppName = "HandBrakeCLI";\r
- AppName = AppName.ToUpper();\r
-\r
- Process[] prs = Process.GetProcesses();\r
- foreach (Process proces in prs)\r
- {\r
- if (proces.ProcessName.ToUpper() == AppName)\r
- {\r
- proces.Refresh();\r
- if (!proces.HasExited)\r
- proces.Kill();\r
- }\r
- }\r
+ Process cli = Process.GetProcessById(id);\r
+ if (!cli.HasExited)\r
+ cli.Kill();\r
}\r
\r
/// <summary>\r
mainWindow.audioPanel.addTrackForPreset(newTrack);\r
}\r
\r
- // Subtitle Stuff\r
+ /*/ Subtitle Stuff\r
mainWindow.drp_subtitle.Text = presetQuery.Subtitles;\r
\r
if (presetQuery.ForcedSubtitles)\r
mainWindow.check_forced.Enabled = true;\r
}\r
else\r
- mainWindow.check_forced.CheckState = CheckState.Unchecked;\r
+ mainWindow.check_forced.CheckState = CheckState.Unchecked;*/\r
\r
#endregion\r
\r
if (audioItems.Trim() != String.Empty)\r
query += " -D " + audioItems;\r
\r
- // Subtitles\r
- string subtitles = mainWindow.drp_subtitle.Text;\r
- if (subtitles == "Autoselect")\r
- query += " -U ";\r
- else if (subtitles != "" && subtitles != "None")\r
+ #endregion\r
+\r
+ #region Subtitles Tab\r
+\r
+ if (mainWindow.Subtitles.lv_subList.Items.Count != 0) // If we have subtitle tracks\r
{\r
- string[] tempSub = subtitles.Split(' ');\r
- query += " -s " + tempSub[0];\r
- }\r
+ // Find --subtitle <string>\r
+ query += " --subtitle ";\r
+ String subtitleTracks = "";\r
+ String itemToAdd;\r
+ foreach (ListViewItem item in mainWindow.Subtitles.lv_subList.Items)\r
+ {\r
+ if (item.SubItems[1].Text.Contains("Foreign Audio Search"))\r
+ itemToAdd = "scan";\r
+ else\r
+ {\r
+ string[] tempSub = item.SubItems[1].Text.Split(' ');\r
+ itemToAdd = tempSub[0];\r
+ }\r
+\r
+ subtitleTracks += subtitleTracks == "" ? itemToAdd : "," + itemToAdd;\r
+ }\r
+ query += subtitleTracks;\r
+\r
+\r
+ // Find --subtitle-forced\r
+ String forcedTrack = "";\r
+ foreach (ListViewItem item in mainWindow.Subtitles.lv_subList.Items)\r
+ {\r
+ itemToAdd = "";\r
+ string[] tempSub = item.SubItems[1].Text.Split(' ');\r
+ string trackID = tempSub[0];\r
+\r
+ if (item.SubItems[2].Text == "Yes")\r
+ itemToAdd = trackID;\r
\r
- if (mainWindow.check_forced.Checked)\r
- query += " -F ";\r
+ if (itemToAdd != "")\r
+ forcedTrack += forcedTrack == "" ? itemToAdd : "," + itemToAdd;\r
+ }\r
+ if (forcedTrack != "")\r
+ query += " --subtitle-forced " + forcedTrack;\r
+\r
+\r
+ // Find --subtitle-burn and --subtitle-default\r
+ String burned = "";\r
+ String defaultTrack = "";\r
+ foreach (ListViewItem item in mainWindow.Subtitles.lv_subList.Items)\r
+ {\r
+ string[] tempSub = item.SubItems[1].Text.Split(' ');\r
+ string trackID = tempSub[0];\r
+\r
+ if (trackID.Trim() == "Foreign")\r
+ trackID = "scan";\r
+\r
+ if (item.SubItems[3].Text == "Yes") // Burned\r
+ burned = trackID;\r
+\r
+ if (item.SubItems[4].Text == "Yes") // Burned\r
+ defaultTrack = trackID;\r
+\r
+ }\r
+ if (burned != "")\r
+ query += " --subtitle-burn " + burned;\r
+\r
+ if (defaultTrack != "")\r
+ query += " --subtitle-default " + defaultTrack;\r
+\r
+ }\r
\r
#endregion\r
\r
\r
#region Regular Expressions\r
\r
- // Useful Destination Finder\r
- //Regex r1 = new Regex(@"(-i)(?:\s\"")([a-zA-Z0-9?';!^%&*()_\-:\\\s\.]+)(?:\"")");\r
- //Match source = r1.Match(input.Replace('"', '\"'));\r
-\r
//Source\r
Match title = Regex.Match(input, @"-t ([0-9]*)");\r
Match chapters = Regex.Match(input, @"-c ([0-9-]*)");\r
<Compile Include="Functions\PresetLoader.cs" />\r
<Compile Include="Functions\QueryGenerator.cs" />\r
<Compile Include="Functions\Main.cs" />\r
- <Compile Include="frmTestWindow.cs">\r
- <SubType>Form</SubType>\r
- </Compile>\r
- <Compile Include="frmTestWindow.Designer.cs">\r
- <DependentUpon>frmTestWindow.cs</DependentUpon>\r
- </Compile>\r
<Compile Include="Functions\Win32.cs" />\r
<Compile Include="Presets\preset.cs" />\r
<Compile Include="Presets\PresetsHandler.cs" />\r
<DependentUpon>frmUpdater.cs</DependentUpon>\r
<SubType>Designer</SubType>\r
</EmbeddedResource>\r
- <EmbeddedResource Include="frmTestWindow.resx">\r
- <DependentUpon>frmTestWindow.cs</DependentUpon>\r
- <SubType>Designer</SubType>\r
- </EmbeddedResource>\r
<EmbeddedResource Include="Properties\Resources.resx">\r
<Generator>ResXFileCodeGenerator</Generator>\r
<LastGenOutput>Resources.Designer.cs</LastGenOutput>\r
/// <returns>A string formatted as: {track #} {language}</returns>\r
public override string ToString()\r
{\r
- return string.Format("{0} {1}", m_trackNumber, m_language);\r
+ return string.Format("{0} {1} ({2})", m_trackNumber, m_language, m_type);\r
}\r
\r
public static Subtitle Parse(StringReader output)\r
this.slider_videoQuality = new System.Windows.Forms.TrackBar();\r
this.text_filesize = new System.Windows.Forms.TextBox();\r
this.text_bitrate = new System.Windows.Forms.TextBox();\r
- this.drp_subtitle = new System.Windows.Forms.ComboBox();\r
this.btn_setDefault = new System.Windows.Forms.Button();\r
this.check_optimiseMP4 = new System.Windows.Forms.CheckBox();\r
this.check_iPodAtom = new System.Windows.Forms.CheckBox();\r
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();\r
this.mnu_about = new System.Windows.Forms.ToolStripMenuItem();\r
this.frmMainMenu = new System.Windows.Forms.MenuStrip();\r
- this.debugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
- this.mnu_qptest = new System.Windows.Forms.ToolStripMenuItem();\r
this.gb_source = new System.Windows.Forms.GroupBox();\r
this.lbl_angle = new System.Windows.Forms.Label();\r
this.Label13 = new System.Windows.Forms.Label();\r
this.tab_audio = new System.Windows.Forms.TabPage();\r
this.audioPanel = new Handbrake.Controls.AudioPanel();\r
this.AudioMenuRowHeightHack = new System.Windows.Forms.ImageList(this.components);\r
- this.check_forced = new System.Windows.Forms.CheckBox();\r
- this.Label19 = new System.Windows.Forms.Label();\r
- this.Label20 = new System.Windows.Forms.Label();\r
this.tab_video = new System.Windows.Forms.TabPage();\r
this.radio_cq = new System.Windows.Forms.RadioButton();\r
this.radio_avgBitrate = new System.Windows.Forms.RadioButton();\r
this.ctl_decomb = new Handbrake.Decomb();\r
this.ctl_detelecine = new Handbrake.Detelecine();\r
this.tab_subtitles = new System.Windows.Forms.TabPage();\r
+ this.Subtitles = new Handbrake.Controls.Subtitles();\r
this.tab_chapters = new System.Windows.Forms.TabPage();\r
this.label31 = new System.Windows.Forms.Label();\r
this.tab_advanced = new System.Windows.Forms.TabPage();\r
this.text_bitrate.TabIndex = 10;\r
this.ToolTip.SetToolTip(this.text_bitrate, "Set the bitrate of the video");\r
// \r
- // drp_subtitle\r
- // \r
- this.drp_subtitle.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.drp_subtitle.FormattingEnabled = true;\r
- this.drp_subtitle.Items.AddRange(new object[] {\r
- "None",\r
- "Autoselect"});\r
- this.drp_subtitle.Location = new System.Drawing.Point(79, 39);\r
- this.drp_subtitle.Name = "drp_subtitle";\r
- this.drp_subtitle.Size = new System.Drawing.Size(138, 21);\r
- this.drp_subtitle.TabIndex = 43;\r
- this.drp_subtitle.Text = "None";\r
- this.ToolTip.SetToolTip(this.drp_subtitle, resources.GetString("drp_subtitle.ToolTip"));\r
- this.drp_subtitle.SelectedIndexChanged += new System.EventHandler(this.drp_subtitle_SelectedIndexChanged);\r
- // \r
// btn_setDefault\r
// \r
this.btn_setDefault.FlatAppearance.BorderColor = System.Drawing.Color.Black;\r
this.FileToolStripMenuItem,\r
this.ToolsToolStripMenuItem,\r
this.PresetsToolStripMenuItem,\r
- this.HelpToolStripMenuItem,\r
- this.debugToolStripMenuItem});\r
+ this.HelpToolStripMenuItem});\r
this.frmMainMenu.Location = new System.Drawing.Point(0, 0);\r
this.frmMainMenu.Name = "frmMainMenu";\r
this.frmMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;\r
this.frmMainMenu.TabIndex = 0;\r
this.frmMainMenu.Text = "MenuStrip";\r
// \r
- // debugToolStripMenuItem\r
- // \r
- this.debugToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
- this.mnu_qptest});\r
- this.debugToolStripMenuItem.Name = "debugToolStripMenuItem";\r
- this.debugToolStripMenuItem.Size = new System.Drawing.Size(56, 20);\r
- this.debugToolStripMenuItem.Text = "Debug";\r
- this.debugToolStripMenuItem.Visible = false;\r
- // \r
- // mnu_qptest\r
- // \r
- this.mnu_qptest.Name = "mnu_qptest";\r
- this.mnu_qptest.Size = new System.Drawing.Size(201, 22);\r
- this.mnu_qptest.Text = "Query Parser Tester";\r
- this.mnu_qptest.Click += new System.EventHandler(this.mnu_qptest_Click);\r
- // \r
// gb_source\r
// \r
this.gb_source.Controls.Add(this.drop_angle);\r
this.audioPanel.Name = "audioPanel";\r
this.audioPanel.Size = new System.Drawing.Size(715, 310);\r
this.audioPanel.TabIndex = 0;\r
-\r
// \r
// AudioMenuRowHeightHack\r
// \r
this.AudioMenuRowHeightHack.ImageSize = new System.Drawing.Size(1, 18);\r
this.AudioMenuRowHeightHack.TransparentColor = System.Drawing.Color.Transparent;\r
// \r
- // check_forced\r
- // \r
- this.check_forced.AutoSize = true;\r
- this.check_forced.BackColor = System.Drawing.Color.Transparent;\r
- this.check_forced.Enabled = false;\r
- this.check_forced.Location = new System.Drawing.Point(223, 42);\r
- this.check_forced.Name = "check_forced";\r
- this.check_forced.Size = new System.Drawing.Size(147, 17);\r
- this.check_forced.TabIndex = 44;\r
- this.check_forced.Text = "Forced Subtitles Only";\r
- this.check_forced.UseVisualStyleBackColor = false;\r
- // \r
- // Label19\r
- // \r
- this.Label19.AutoSize = true;\r
- this.Label19.BackColor = System.Drawing.Color.Transparent;\r
- this.Label19.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.Label19.Location = new System.Drawing.Point(13, 13);\r
- this.Label19.Name = "Label19";\r
- this.Label19.Size = new System.Drawing.Size(64, 13);\r
- this.Label19.TabIndex = 40;\r
- this.Label19.Text = "Subtitles";\r
- // \r
- // Label20\r
- // \r
- this.Label20.AutoSize = true;\r
- this.Label20.BackColor = System.Drawing.Color.Transparent;\r
- this.Label20.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
- this.Label20.Location = new System.Drawing.Point(13, 42);\r
- this.Label20.Name = "Label20";\r
- this.Label20.Size = new System.Drawing.Size(61, 13);\r
- this.Label20.TabIndex = 42;\r
- this.Label20.Text = "Subtitles:";\r
- // \r
// tab_video\r
// \r
this.tab_video.BackColor = System.Drawing.Color.Transparent;\r
// \r
// tab_subtitles\r
// \r
- this.tab_subtitles.Controls.Add(this.drp_subtitle);\r
- this.tab_subtitles.Controls.Add(this.check_forced);\r
- this.tab_subtitles.Controls.Add(this.Label20);\r
- this.tab_subtitles.Controls.Add(this.Label19);\r
+ this.tab_subtitles.Controls.Add(this.Subtitles);\r
this.tab_subtitles.Location = new System.Drawing.Point(4, 22);\r
this.tab_subtitles.Name = "tab_subtitles";\r
this.tab_subtitles.Padding = new System.Windows.Forms.Padding(3);\r
this.tab_subtitles.Text = "Subtitles";\r
this.tab_subtitles.UseVisualStyleBackColor = true;\r
// \r
+ // Subtitles\r
+ // \r
+ this.Subtitles.BackColor = System.Drawing.Color.Transparent;\r
+ this.Subtitles.Location = new System.Drawing.Point(0, 0);\r
+ this.Subtitles.Name = "Subtitles";\r
+ this.Subtitles.setContainer = 0;\r
+ this.Subtitles.Size = new System.Drawing.Size(722, 310);\r
+ this.Subtitles.TabIndex = 0;\r
+ // \r
// tab_chapters\r
// \r
this.tab_chapters.BackColor = System.Drawing.Color.Transparent;\r
this.tab_filters.ResumeLayout(false);\r
this.tab_filters.PerformLayout();\r
this.tab_subtitles.ResumeLayout(false);\r
- this.tab_subtitles.PerformLayout();\r
this.tab_chapters.ResumeLayout(false);\r
this.tab_chapters.PerformLayout();\r
this.tab_advanced.ResumeLayout(false);\r
internal System.Windows.Forms.TabControl tabs_panel;\r
internal System.Windows.Forms.Label Label46;\r
private System.Windows.Forms.GroupBox groupBox_dest;\r
- internal System.Windows.Forms.ComboBox drp_subtitle;\r
- internal System.Windows.Forms.Label Label19;\r
- internal System.Windows.Forms.Label Label20;\r
internal System.Windows.Forms.CheckBox check_grayscale;\r
internal System.Windows.Forms.Label label24;\r
private System.Windows.Forms.GroupBox groupBox2;\r
private System.Windows.Forms.TabPage tab_chapters;\r
internal System.Windows.Forms.Label label31;\r
internal System.Windows.Forms.CheckBox check_optimiseMP4;\r
- internal System.Windows.Forms.CheckBox check_forced;\r
internal System.Windows.Forms.DataGridView data_chpt;\r
private System.Windows.Forms.TabPage tab_query;\r
private System.Windows.Forms.Label label34;\r
private System.Windows.Forms.ImageList AudioMenuRowHeightHack;\r
private System.Windows.Forms.ToolStripMenuItem pmnu_saveChanges;\r
private System.Windows.Forms.ToolStripMenuItem mnu_killCLI;\r
- private System.Windows.Forms.ToolStripMenuItem debugToolStripMenuItem;\r
- private System.Windows.Forms.ToolStripMenuItem mnu_qptest;\r
private System.Windows.Forms.TabPage tab_filters;\r
internal Deinterlace ctl_deinterlace;\r
internal Denoise ctl_denoise;\r
private TabPage tab_subtitles;\r
internal Handbrake.Controls.AudioPanel audioPanel;\r
internal Handbrake.Controls.PictureSettings pictureSettings;\r
+ internal Handbrake.Controls.Subtitles Subtitles;\r
\r
\r
}\r
}\r
#endregion\r
\r
- #region Debug Menu\r
- private void mnu_qptest_Click(object sender, EventArgs e)\r
- {\r
- QueryParserTester qptest = new QueryParserTester();\r
- qptest.Show();\r
- }\r
- #endregion\r
-\r
#region Preset Bar\r
// Right Click Menu Code\r
private void pmnu_expandAll_Click(object sender, EventArgs e)\r
audioPanel.setTrackList(selectedTitle);\r
\r
// Populate the Subtitles dropdown\r
- drp_subtitle.Items.Clear();\r
- drp_subtitle.Items.Add("None");\r
- drp_subtitle.Items.Add("Autoselect");\r
- drp_subtitle.Items.AddRange(selectedTitle.Subtitles.ToArray());\r
- if (drp_subtitle.Items.Count > 0)\r
- drp_subtitle.Text = drp_subtitle.Items[0].ToString();\r
-\r
+ Subtitles.drp_subtitleTracks.Items.Clear();\r
+ Subtitles.drp_subtitleTracks.Items.Add("Foreign Audio Search (Bitmap)");\r
+ Subtitles.drp_subtitleTracks.Items.AddRange(selectedTitle.Subtitles.ToArray());\r
+ Subtitles.drp_subtitleTracks.SelectedIndex = 0;\r
}\r
\r
// Run the autoName & chapterNaming functions\r
setExtension(".mkv");\r
\r
audioPanel.setAudioByContainer(drop_format.Text);\r
+ Subtitles.setContainer = drop_format.SelectedIndex;\r
\r
string oldval;\r
if ((drop_format.Text.Contains("MP4")) || (drop_format.Text.Contains("M4V")))\r
lbl_deblockVal.Text = slider_deblock.Value == 4 ? "Off" : slider_deblock.Value.ToString();\r
}\r
\r
- //Subtitles Tab\r
- private void drp_subtitle_SelectedIndexChanged(object sender, EventArgs e)\r
- {\r
- if (drp_subtitle.Text.Contains("None"))\r
- {\r
- check_forced.Enabled = false;\r
- check_forced.Checked = false;\r
- }\r
- else\r
- check_forced.Enabled = true;\r
- }\r
-\r
// Chapter Marker Tab\r
private void Check_ChapterMarkers_CheckedChanged(object sender, EventArgs e)\r
{\r
#endregion\r
\r
\r
-\r
// This is the END of the road ****************************************\r
}\r
}
\ No newline at end of file
<metadata name="ToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
<value>18, 15</value>\r
</metadata>\r
- <data name="drp_subtitle.ToolTip" xml:space="preserve">\r
- <value>Select the subtitle language you require from this dropdown.\r
- - or -\r
-Autoselect: Scan for subtitles in an extra 1st pass, and choose\r
-the one that's only used 10 percent of the time or less. \r
-This should locate subtitles for short foreign language segments. \r
-Best used in conjunction with forced subtitles.</value>\r
- </data>\r
<metadata name="number.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
<value>True</value>\r
</metadata>\r
+++ /dev/null
-namespace Handbrake.Functions\r
-{\r
- partial class QueryParserTester\r
- {\r
- /// <summary>\r
- /// Required designer variable.\r
- /// </summary>\r
- private System.ComponentModel.IContainer components = null;\r
-\r
- /// <summary>\r
- /// Clean up any resources being used.\r
- /// </summary>\r
- /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>\r
- protected override void Dispose(bool disposing)\r
- {\r
- if (disposing && (components != null))\r
- {\r
- components.Dispose();\r
- }\r
- base.Dispose(disposing);\r
- }\r
-\r
- #region Windows Form Designer generated code\r
-\r
- /// <summary>\r
- /// Required method for Designer support - do not modify\r
- /// the contents of this method with the code editor.\r
- /// </summary>\r
- private void InitializeComponent()\r
- {\r
- this.rtf_testContent = new System.Windows.Forms.RichTextBox();\r
- this.btn_test = new System.Windows.Forms.Button();\r
- this.rtf_query = new System.Windows.Forms.RichTextBox();\r
- this.label1 = new System.Windows.Forms.Label();\r
- this.label2 = new System.Windows.Forms.Label();\r
- this.SuspendLayout();\r
- // \r
- // rtf_testContent\r
- // \r
- this.rtf_testContent.Location = new System.Drawing.Point(111, 164);\r
- this.rtf_testContent.Name = "rtf_testContent";\r
- this.rtf_testContent.Size = new System.Drawing.Size(641, 420);\r
- this.rtf_testContent.TabIndex = 0;\r
- this.rtf_testContent.Text = "";\r
- // \r
- // btn_test\r
- // \r
- this.btn_test.Location = new System.Drawing.Point(405, 115);\r
- this.btn_test.Name = "btn_test";\r
- this.btn_test.Size = new System.Drawing.Size(75, 23);\r
- this.btn_test.TabIndex = 1;\r
- this.btn_test.Text = "Test";\r
- this.btn_test.UseVisualStyleBackColor = true;\r
- this.btn_test.Click += new System.EventHandler(this.btn_test_Click);\r
- // \r
- // rtf_query\r
- // \r
- this.rtf_query.Location = new System.Drawing.Point(111, 12);\r
- this.rtf_query.Name = "rtf_query";\r
- this.rtf_query.Size = new System.Drawing.Size(641, 77);\r
- this.rtf_query.TabIndex = 2;\r
- this.rtf_query.Text = "";\r
- // \r
- // label1\r
- // \r
- this.label1.AutoSize = true;\r
- this.label1.Location = new System.Drawing.Point(37, 43);\r
- this.label1.Name = "label1";\r
- this.label1.Size = new System.Drawing.Size(38, 13);\r
- this.label1.TabIndex = 3;\r
- this.label1.Text = "Query:";\r
- // \r
- // label2\r
- // \r
- this.label2.AutoSize = true;\r
- this.label2.Location = new System.Drawing.Point(37, 327);\r
- this.label2.Name = "label2";\r
- this.label2.Size = new System.Drawing.Size(40, 13);\r
- this.label2.TabIndex = 4;\r
- this.label2.Text = "Result:";\r
- // \r
- // QueryParserTester\r
- // \r
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
- this.ClientSize = new System.Drawing.Size(780, 625);\r
- this.Controls.Add(this.label2);\r
- this.Controls.Add(this.label1);\r
- this.Controls.Add(this.rtf_query);\r
- this.Controls.Add(this.btn_test);\r
- this.Controls.Add(this.rtf_testContent);\r
- this.Name = "QueryParserTester";\r
- this.Text = "QueryParserTester";\r
- this.ResumeLayout(false);\r
- this.PerformLayout();\r
-\r
- }\r
-\r
- #endregion\r
-\r
- private System.Windows.Forms.RichTextBox rtf_testContent;\r
- private System.Windows.Forms.Button btn_test;\r
- private System.Windows.Forms.RichTextBox rtf_query;\r
- private System.Windows.Forms.Label label1;\r
- private System.Windows.Forms.Label label2;\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-using System;\r
-using System.Windows.Forms;\r
-\r
-namespace Handbrake.Functions\r
-{\r
- public partial class QueryParserTester : Form\r
- {\r
- public QueryParserTester()\r
- {\r
- InitializeComponent();\r
-\r
- }\r
-\r
- private void btn_test_Click(object sender, EventArgs e)\r
- {\r
- QueryParser parsed = QueryParser.Parse(rtf_query.Text);\r
-\r
- rtf_testContent.Clear();\r
-\r
- //Source\r
- rtf_testContent.Text += "## Source " + Environment.NewLine;\r
- if (parsed.DVDTitle != 0)\r
- rtf_testContent.Text += "Title: " + parsed.DVDTitle + Environment.NewLine;\r
- if (parsed.DVDChapterStart != 0)\r
- rtf_testContent.Text += "Start Chapter: " + parsed.DVDChapterStart + Environment.NewLine;\r
- if (parsed.DVDChapterFinish != 0)\r
- rtf_testContent.Text += "End Chapter: " + parsed.DVDChapterFinish + Environment.NewLine;\r
-\r
- //Output Settings\r
- rtf_testContent.Text += Environment.NewLine + "## Output Settings " + Environment.NewLine;\r
- if (parsed.Format != null)\r
- rtf_testContent.Text += "Format: " + parsed.Format + Environment.NewLine;\r
- if (parsed.LargeMP4)\r
- rtf_testContent.Text += "Large File Size: " + parsed.LargeMP4 + Environment.NewLine;\r
- if (parsed.OptimizeMP4)\r
- rtf_testContent.Text += "Web Optimized: " + parsed.OptimizeMP4 + Environment.NewLine;\r
- if (parsed.IpodAtom)\r
- rtf_testContent.Text += "iPod 5G Support " + parsed.IpodAtom + Environment.NewLine;\r
-\r
- //Picture Settings\r
- rtf_testContent.Text += Environment.NewLine + "## Picture Settings " + Environment.NewLine;\r
- if (parsed.CropValues != null)\r
- rtf_testContent.Text += "Cropping: " + parsed.CropValues + Environment.NewLine;\r
- if (parsed.Width != 0)\r
- rtf_testContent.Text += "Width: " + parsed.Width + Environment.NewLine;\r
- if (parsed.Height != 0)\r
- rtf_testContent.Text += "Height: " + parsed.Height + Environment.NewLine;\r
- if (parsed.MaxWidth != 0)\r
- rtf_testContent.Text += "Max Width: " + parsed.MaxWidth + Environment.NewLine;\r
- if (parsed.MaxHeight != 0)\r
- rtf_testContent.Text += "Max Height: " + parsed.MaxHeight + Environment.NewLine;\r
- rtf_testContent.Text += "Anamorphic Mode: " + parsed.AnamorphicMode + Environment.NewLine;\r
-\r
- //Picture Settings - Filters\r
- rtf_testContent.Text += Environment.NewLine + "## Filters " + Environment.NewLine;\r
- rtf_testContent.Text += "Detelecine: " + parsed.DeTelecine + Environment.NewLine;\r
- rtf_testContent.Text += "Decomb: " + parsed.Decomb + Environment.NewLine;\r
- rtf_testContent.Text += "Deinterlace: " + parsed.DeInterlace + Environment.NewLine;\r
- rtf_testContent.Text += "Denoise: " + parsed.DeNoise + Environment.NewLine;\r
- rtf_testContent.Text += "Deblock: " + parsed.DeBlock + Environment.NewLine;\r
-\r
- //Video\r
- rtf_testContent.Text += Environment.NewLine + "## Video " + Environment.NewLine;\r
- rtf_testContent.Text += "Video Codec: " + parsed.VideoEncoder + Environment.NewLine;\r
- rtf_testContent.Text += "Video Framerate: " + parsed.VideoFramerate + Environment.NewLine;\r
- if (parsed.Grayscale)\r
- rtf_testContent.Text += "Grayscale: " + parsed.Grayscale + Environment.NewLine;\r
- if (parsed.TwoPass)\r
- rtf_testContent.Text += "2-Pass Encoding: " + parsed.TwoPass + Environment.NewLine;\r
- if (parsed.TurboFirstPass)\r
- rtf_testContent.Text += "Turbo first pass: " + parsed.TurboFirstPass + Environment.NewLine;\r
- if (parsed.VideoTargetSize != null)\r
- rtf_testContent.Text += "Target Size: " + parsed.VideoTargetSize + Environment.NewLine;\r
- if (parsed.AverageVideoBitrate != null)\r
- rtf_testContent.Text += "Avg Bitrate: " + parsed.AverageVideoBitrate + Environment.NewLine;\r
- if (parsed.VideoQuality != 0)\r
- rtf_testContent.Text += "Constant Quality: " + parsed.VideoQuality + Environment.NewLine;\r
-\r
- //Audio\r
- // TODO\r
-\r
- //Chapters\r
- if (parsed.ChapterMarkers)\r
- {\r
- rtf_testContent.Text += Environment.NewLine + "## Chapers " + Environment.NewLine;\r
- rtf_testContent.Text += "Chapters: " + parsed.ChapterMarkers + Environment.NewLine;\r
- }\r
-\r
- //Advanced\r
- if (parsed.H264Query != null)\r
- {\r
- rtf_testContent.Text += Environment.NewLine + "## x264 " + Environment.NewLine;\r
- rtf_testContent.Text += "x264: " + parsed.H264Query + Environment.NewLine;\r
- }\r
- }\r
-\r
- }\r
-}\r
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>\r
-<root>\r
- <!-- \r
- Microsoft ResX Schema \r
- \r
- Version 2.0\r
- \r
- The primary goals of this format is to allow a simple XML format \r
- that is mostly human readable. The generation and parsing of the \r
- various data types are done through the TypeConverter classes \r
- associated with the data types.\r
- \r
- Example:\r
- \r
- ... ado.net/XML headers & schema ...\r
- <resheader name="resmimetype">text/microsoft-resx</resheader>\r
- <resheader name="version">2.0</resheader>\r
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>\r
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>\r
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">\r
- <value>[base64 mime encoded serialized .NET Framework object]</value>\r
- </data>\r
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r
- <comment>This is a comment</comment>\r
- </data>\r
- \r
- There are any number of "resheader" rows that contain simple \r
- name/value pairs.\r
- \r
- Each data row contains a name, and value. The row also contains a \r
- type or mimetype. Type corresponds to a .NET class that support \r
- text/value conversion through the TypeConverter architecture. \r
- Classes that don't support this are serialized and stored with the \r
- mimetype set.\r
- \r
- The mimetype is used for serialized objects, and tells the \r
- ResXResourceReader how to depersist the object. This is currently not \r
- extensible. For a given mimetype the value must be set accordingly:\r
- \r
- Note - application/x-microsoft.net.object.binary.base64 is the format \r
- that the ResXResourceWriter will generate, however the reader can \r
- read any of the formats listed below.\r
- \r
- mimetype: application/x-microsoft.net.object.binary.base64\r
- value : The object must be serialized with \r
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r
- : and then encoded with base64 encoding.\r
- \r
- mimetype: application/x-microsoft.net.object.soap.base64\r
- value : The object must be serialized with \r
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r
- : and then encoded with base64 encoding.\r
-\r
- mimetype: application/x-microsoft.net.object.bytearray.base64\r
- value : The object must be serialized into a byte array \r
- : using a System.ComponentModel.TypeConverter\r
- : and then encoded with base64 encoding.\r
- -->\r
- <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">\r
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />\r
- <xsd:element name="root" msdata:IsDataSet="true">\r
- <xsd:complexType>\r
- <xsd:choice maxOccurs="unbounded">\r
- <xsd:element name="metadata">\r
- <xsd:complexType>\r
- <xsd:sequence>\r
- <xsd:element name="value" type="xsd:string" minOccurs="0" />\r
- </xsd:sequence>\r
- <xsd:attribute name="name" use="required" type="xsd:string" />\r
- <xsd:attribute name="type" type="xsd:string" />\r
- <xsd:attribute name="mimetype" type="xsd:string" />\r
- <xsd:attribute ref="xml:space" />\r
- </xsd:complexType>\r
- </xsd:element>\r
- <xsd:element name="assembly">\r
- <xsd:complexType>\r
- <xsd:attribute name="alias" type="xsd:string" />\r
- <xsd:attribute name="name" type="xsd:string" />\r
- </xsd:complexType>\r
- </xsd:element>\r
- <xsd:element name="data">\r
- <xsd:complexType>\r
- <xsd:sequence>\r
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />\r
- </xsd:sequence>\r
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />\r
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />\r
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />\r
- <xsd:attribute ref="xml:space" />\r
- </xsd:complexType>\r
- </xsd:element>\r
- <xsd:element name="resheader">\r
- <xsd:complexType>\r
- <xsd:sequence>\r
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
- </xsd:sequence>\r
- <xsd:attribute name="name" type="xsd:string" use="required" />\r
- </xsd:complexType>\r
- </xsd:element>\r
- </xsd:choice>\r
- </xsd:complexType>\r
- </xsd:element>\r
- </xsd:schema>\r
- <resheader name="resmimetype">\r
- <value>text/microsoft-resx</value>\r
- </resheader>\r
- <resheader name="version">\r
- <value>2.0</value>\r
- </resheader>\r
- <resheader name="reader">\r
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
- </resheader>\r
- <resheader name="writer">\r
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
- </resheader>\r
-</root>
\ No newline at end of file