From: sr55 Date: Sat, 31 Jan 2009 00:04:36 +0000 (+0000) Subject: WinGui: X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f1f96b31f917f426112bd7d968dcb95c82592b6e;p=handbrake-jp%2Fhandbrake-jp-git.git WinGui: - QueryParser: Add support for values to be attached to deinterlace, decomb, detelecine and denoise (second element of deblock still be done) - Added a debug menu + a Query Parser Testing window - Fixed small bug on the preset bar where it would crash if you left clicked on open white space. git-svn-id: svn://localhost/HandBrake/trunk@2111 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- diff --git a/win/C#/Functions/QueryParser.cs b/win/C#/Functions/QueryParser.cs index f189e1bb..c255e6d6 100644 --- a/win/C#/Functions/QueryParser.cs +++ b/win/C#/Functions/QueryParser.cs @@ -8,6 +8,7 @@ using System; using System.Globalization; using System.Text.RegularExpressions; using System.Windows.Forms; +using System.Collections; namespace Handbrake.Functions { @@ -87,10 +88,10 @@ namespace Handbrake.Functions private string q_croptop; private string q_cropValues; private int q_deBlock; - private Boolean q_decomb; + private string q_decomb; private string q_deinterlace; private string q_denoise; - private Boolean q_detelecine; + private string q_detelecine; private Boolean q_looseAnamorphic; private int q_maxHeight; private int q_maxWidth; @@ -181,7 +182,7 @@ namespace Handbrake.Functions /// /// Returns a boolean to indicate wither DeTelecine is on or off /// - public Boolean DeTelecine + public string DeTelecine { get { return q_detelecine; } } @@ -213,7 +214,7 @@ namespace Handbrake.Functions /// /// Returns a string with the DeNoise option used. /// - public Boolean Decomb + public string Decomb { get { return q_decomb; } } @@ -609,7 +610,6 @@ namespace Handbrake.Functions #endregion // All the Main Window GUI options - /// /// Takes in a query which can be in any order and parses it. /// All varibles are then set so they can be used elsewhere. @@ -629,37 +629,39 @@ namespace Handbrake.Functions //Source Match title = Regex.Match(input, @"-t ([0-9]*)"); Match chapters = Regex.Match(input, @"-c ([0-9-]*)"); + + //Output Settings Match format = Regex.Match(input, @"-f ([a-z0-9a-z0-9a-z0-9]*)"); - - //Destination - Match videoEncoder = Regex.Match(input, @"-e ([a-zA-Z0-9]*)"); + Match grayscale = Regex.Match(input, @" -g"); + Match largerMp4 = Regex.Match(input, @" -4"); + Match ipodAtom = Regex.Match(input, @" -I"); //Picture Settings Tab Match width = Regex.Match(input, @"-w ([0-9]*)"); Match height = Regex.Match(input, @"-l ([0-9]*)"); Match maxWidth = Regex.Match(input, @"-X ([0-9]*)"); Match maxHeight = Regex.Match(input, @"-Y ([0-9]*)"); - Match deinterlace = Regex.Match(input, @"--deinterlace=\""([a-zA-Z]*)\"""); - Match denoise = Regex.Match(input, @"--denoise=\""([a-zA-Z]*)\"""); - Match deblock = Regex.Match(input, @"--deblock=([0-9]*)"); - Match detelecine = Regex.Match(input, @"--detelecine"); - Match anamorphic = Regex.Match(input, @" -p "); - Match chapterMarkers = Regex.Match(input, @" -m"); - Match chapterMarkersFileMode = Regex.Match(input, @"--markers"); Match crop = Regex.Match(input, @"--crop ([0-9]*):([0-9]*):([0-9]*):([0-9]*)"); Match lanamorphic = Regex.Match(input, @" -P"); + Match anamorphic = Regex.Match(input, @" -p "); + + // Picture Settings - Filters Match decomb = Regex.Match(input, @" --decomb"); + Match decombValue = Regex.Match(input, @" --decomb=\""([a-zA-Z0-9.:]*)\"""); + Match deinterlace = Regex.Match(input, @"--deinterlace=\""([a-zA-Z0-9.:]*)\"""); + Match denoise = Regex.Match(input, @"--denoise=\""([a-zA-Z0-9.:]*)\"""); + Match deblock = Regex.Match(input, @"--deblock=([0-9:]*)"); + Match detelecine = Regex.Match(input, @"--detelecine"); + Match detelecineValue = Regex.Match(input, @" --detelecine=\""([a-zA-Z0-9.:]*)\"""); //Video Settings Tab + Match videoEncoder = Regex.Match(input, @"-e ([a-zA-Z0-9]*)"); Match videoFramerate = Regex.Match(input, @"-r ([0-9]*)"); Match videoBitrate = Regex.Match(input, @"-b ([0-9]*)"); Match videoQuality = Regex.Match(input, @"-q ([0-9.]*)"); Match videoFilesize = Regex.Match(input, @"-S ([0-9.]*)"); Match twoPass = Regex.Match(input, @" -2"); Match turboFirstPass = Regex.Match(input, @" -T"); - Match grayscale = Regex.Match(input, @" -g"); - Match largerMp4 = Regex.Match(input, @" -4"); - Match ipodAtom = Regex.Match(input, @" -I"); Match optimizeMP4 = Regex.Match(input, @" -O"); //Audio Settings Tab @@ -677,8 +679,7 @@ namespace Handbrake.Functions Match audioEncoder1 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*)"); Match audioEncoder2 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)"); Match audioEncoder3 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)"); - Match audioEncoder4 = Regex.Match(input, - @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)"); + Match audioEncoder4 = Regex.Match(input, @"-E ([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*),([a-zA-Z0-9+]*)"); Match audioBitrate1 = Regex.Match(input, @"-B ([0-9auto]*)"); Match audioBitrate2 = Regex.Match(input, @"-B ([0-9auto]*),([0-9auto]*)"); @@ -699,6 +700,10 @@ namespace Handbrake.Functions Match subScan = Regex.Match(input, @" -U"); Match forcedSubtitles = Regex.Match(input, @" -F"); + // Chapters Tab + Match chapterMarkers = Regex.Match(input, @" -m"); + Match chapterMarkersFileMode = Regex.Match(input, @"--markers"); + //H264 Tab Match x264 = Regex.Match(input, @"-x ([.,/a-zA-Z0-9=:-]*)"); @@ -728,34 +733,15 @@ namespace Handbrake.Functions if ((thisQuery.q_chaptersStart == 1) && (thisQuery.q_chaptersFinish == 0)) thisQuery.q_chaptersFinish = thisQuery.q_chaptersStart; } - - if (format.Success) - thisQuery.q_format = format.ToString().Replace("-f ", ""); - #endregion - #region Destination + #region Output Settings - string videoEncoderConvertion = videoEncoder.ToString().Replace("-e ", ""); - switch (videoEncoderConvertion) - { - case "ffmpeg": - videoEncoderConvertion = "MPEG-4 (FFmpeg)"; - break; - case "xvid": - videoEncoderConvertion = "MPEG-4 (XviD)"; - break; - case "x264": - videoEncoderConvertion = "H.264 (x264)"; - break; - case "theora": - videoEncoderConvertion = "VP3 (Theora)"; - break; - default: - videoEncoderConvertion = "MPEG-4 (FFmpeg)"; - break; - } - thisQuery.q_videoEncoder = videoEncoderConvertion; + if (format.Success) + thisQuery.q_format = format.ToString().Replace("-f ", ""); + thisQuery.q_largeMp4 = largerMp4.Success; + thisQuery.q_ipodAtom = ipodAtom.Success; + thisQuery.q_optimizeMp4 = optimizeMP4.Success; #endregion @@ -782,77 +768,81 @@ namespace Handbrake.Functions thisQuery.q_cropLeft = actCropValues[2]; thisQuery.q_cropRight = actCropValues[3]; } + + thisQuery.q_anamorphic = anamorphic.Success; + thisQuery.q_looseAnamorphic = lanamorphic.Success; - // Deblock Slider - string deblockValue = ""; - thisQuery.q_deBlock = 0; - if (deblock.Success) - deblockValue = deblock.ToString().Replace("--deblock=", ""); + #endregion - if (deblockValue != "") - int.TryParse(deblockValue, out thisQuery.q_deBlock); + #region Picture Tab - Filters - thisQuery.q_detelecine = detelecine.Success; - thisQuery.q_decomb = decomb.Success; + if (decomb.Success) + { + thisQuery.q_decomb = "True"; + if (decombValue.Success) + thisQuery.q_decomb = decombValue.ToString().Replace("--decomb=", "").Replace("\"", ""); + } else + thisQuery.q_decomb = "False"; thisQuery.q_deinterlace = "None"; if (deinterlace.Success) { - switch (deinterlace.ToString().Replace("--deinterlace=", "").Replace("\"", "")) - { - case "fast": - thisQuery.q_deinterlace = "Fast"; - break; - case "slow": - thisQuery.q_deinterlace = "Slow"; - break; - case "slower": - thisQuery.q_deinterlace = "Slower"; - break; - case "slowest": - thisQuery.q_deinterlace = "Slowest"; - break; - default: - thisQuery.q_deinterlace = "None"; - break; - } + thisQuery.q_deinterlace = deinterlace.ToString().Replace("--deinterlace=", "").Replace("\"", ""); + thisQuery.q_deinterlace = thisQuery.q_deinterlace.Replace("fast", "Fast").Replace("slow", "Slow").Replace("slower", "Slower"); + thisQuery.q_deinterlace = thisQuery.q_deinterlace.Replace("slowest", "Slowest"); } thisQuery.q_denoise = "None"; if (denoise.Success) { - switch (denoise.ToString().Replace("--denoise=", "").Replace("\"", "")) - { - case "weak": - thisQuery.q_denoise = "Weak"; - break; - case "medium": - thisQuery.q_denoise = "Medium"; - break; - case "strong": - thisQuery.q_denoise = "Strong"; - break; - default: - thisQuery.q_denoise = "None"; - break; - } + thisQuery.q_denoise = denoise.ToString().Replace("--denoise=", "").Replace("\"", ""); + thisQuery.q_denoise = thisQuery.q_denoise.Replace("weak", "Weak").Replace("medium", "Medium").Replace("strong", "Strong"); } - thisQuery.q_anamorphic = anamorphic.Success; - if (chapterMarkersFileMode.Success || chapterMarkers.Success) - thisQuery.q_chapterMarkers = true; - thisQuery.q_looseAnamorphic = lanamorphic.Success; + string deblockValue = ""; + thisQuery.q_deBlock = 0; + if (deblock.Success) + deblockValue = deblock.ToString().Replace("--deblock=", ""); + if (deblockValue != "") + int.TryParse(deblockValue, out thisQuery.q_deBlock); + if (detelecine.Success) + { + thisQuery.q_detelecine = "True"; + if (detelecineValue.Success) + thisQuery.q_detelecine = detelecineValue.ToString().Replace("--detelecine=", "").Replace("\"", ""); + } + else + thisQuery.q_detelecine = "False"; #endregion #region Video Settings Tab + string videoEncoderConvertion = videoEncoder.ToString().Replace("-e ", ""); + switch (videoEncoderConvertion) + { + case "ffmpeg": + videoEncoderConvertion = "MPEG-4 (FFmpeg)"; + break; + case "xvid": + videoEncoderConvertion = "MPEG-4 (XviD)"; + break; + case "x264": + videoEncoderConvertion = "H.264 (x264)"; + break; + case "theora": + videoEncoderConvertion = "VP3 (Theora)"; + break; + default: + videoEncoderConvertion = "MPEG-4 (FFmpeg)"; + break; + } + thisQuery.q_videoEncoder = videoEncoderConvertion; + thisQuery.q_videoFramerate = videoFramerate.Success ? videoFramerate.ToString().Replace("-r ", "") : "Same as source"; thisQuery.q_grayscale = grayscale.Success; thisQuery.q_twoPass = twoPass.Success; thisQuery.q_turboFirst = turboFirstPass.Success; - thisQuery.q_largeMp4 = largerMp4.Success; - thisQuery.q_videoFramerate = videoFramerate.Success ? videoFramerate.ToString().Replace("-r ", "") : "Same as source"; - + if (videoBitrate.Success) thisQuery.q_avgBitrate = videoBitrate.ToString().Replace("-b ", ""); if (videoFilesize.Success) @@ -865,9 +855,6 @@ namespace Handbrake.Functions qConvert = Math.Ceiling(qConvert); thisQuery.q_videoQuality = int.Parse(qConvert.ToString()); } - thisQuery.q_ipodAtom = ipodAtom.Success; - thisQuery.q_optimizeMp4 = optimizeMP4.Success; - #endregion #region Audio Tab @@ -1068,6 +1055,11 @@ namespace Handbrake.Functions #endregion + #region Chapters Tab + if (chapterMarkersFileMode.Success || chapterMarkers.Success) + thisQuery.q_chapterMarkers = true; + #endregion + #region H.264 and other // diff --git a/win/C#/Functions/QueryParserTester.Designer.cs b/win/C#/Functions/QueryParserTester.Designer.cs new file mode 100644 index 00000000..9a3691cf --- /dev/null +++ b/win/C#/Functions/QueryParserTester.Designer.cs @@ -0,0 +1,107 @@ +namespace Handbrake.Functions +{ + partial class QueryParserTester + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.rtf_testContent = new System.Windows.Forms.RichTextBox(); + this.btn_test = new System.Windows.Forms.Button(); + this.rtf_query = new System.Windows.Forms.RichTextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // rtf_testContent + // + this.rtf_testContent.Location = new System.Drawing.Point(111, 164); + this.rtf_testContent.Name = "rtf_testContent"; + this.rtf_testContent.Size = new System.Drawing.Size(641, 420); + this.rtf_testContent.TabIndex = 0; + this.rtf_testContent.Text = ""; + // + // btn_test + // + this.btn_test.Location = new System.Drawing.Point(405, 115); + this.btn_test.Name = "btn_test"; + this.btn_test.Size = new System.Drawing.Size(75, 23); + this.btn_test.TabIndex = 1; + this.btn_test.Text = "Test"; + this.btn_test.UseVisualStyleBackColor = true; + this.btn_test.Click += new System.EventHandler(this.btn_test_Click); + // + // rtf_query + // + this.rtf_query.Location = new System.Drawing.Point(111, 12); + this.rtf_query.Name = "rtf_query"; + this.rtf_query.Size = new System.Drawing.Size(641, 77); + this.rtf_query.TabIndex = 2; + this.rtf_query.Text = ""; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(37, 43); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(38, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Query:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(37, 327); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(40, 13); + this.label2.TabIndex = 4; + this.label2.Text = "Result:"; + // + // QueryParserTester + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(780, 625); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.rtf_query); + this.Controls.Add(this.btn_test); + this.Controls.Add(this.rtf_testContent); + this.Name = "QueryParserTester"; + this.Text = "QueryParserTester"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.RichTextBox rtf_testContent; + private System.Windows.Forms.Button btn_test; + private System.Windows.Forms.RichTextBox rtf_query; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + } +} \ No newline at end of file diff --git a/win/C#/Functions/QueryParserTester.cs b/win/C#/Functions/QueryParserTester.cs new file mode 100644 index 00000000..75d8c30c --- /dev/null +++ b/win/C#/Functions/QueryParserTester.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace Handbrake.Functions +{ + public partial class QueryParserTester : Form + { + public QueryParserTester() + { + InitializeComponent(); + + } + + private void btn_test_Click(object sender, EventArgs e) + { + QueryParser parsed = QueryParser.Parse(rtf_query.Text); + + rtf_testContent.Clear(); + + //Source + rtf_testContent.Text += "## Source " + Environment.NewLine; + if (parsed.DVDTitle != 0) + rtf_testContent.Text += "Title: " + parsed.DVDTitle + Environment.NewLine; + if (parsed.DVDChapterStart != 0) + rtf_testContent.Text += "Start Chapter: " + parsed.DVDChapterStart + Environment.NewLine; + if (parsed.DVDChapterFinish != 0) + rtf_testContent.Text += "End Chapter: " + parsed.DVDChapterFinish + Environment.NewLine; + + //Output Settings + rtf_testContent.Text += Environment.NewLine + "## Output Settings " + Environment.NewLine; + if (parsed.Format != null) + rtf_testContent.Text += "Format: " + parsed.Format + Environment.NewLine; + if (parsed.LargeMP4) + rtf_testContent.Text += "Large File Size: " + parsed.LargeMP4 + Environment.NewLine; + if (parsed.OptimizeMP4) + rtf_testContent.Text += "Web Optimized: " + parsed.OptimizeMP4 + Environment.NewLine; + if (parsed.IpodAtom) + rtf_testContent.Text += "iPod 5G Support " + parsed.IpodAtom + Environment.NewLine; + + //Picture Settings + rtf_testContent.Text += Environment.NewLine + "## Picture Settings " + Environment.NewLine; + if (parsed.CropValues != null) + rtf_testContent.Text += "Cropping: " + parsed.CropValues + Environment.NewLine; + if (parsed.Width != 0) + rtf_testContent.Text += "Width: " + parsed.Width + Environment.NewLine; + if (parsed.Height != 0) + rtf_testContent.Text += "Height: " + parsed.Height + Environment.NewLine; + if (parsed.MaxWidth != 0) + rtf_testContent.Text += "Max Width: " + parsed.MaxWidth + Environment.NewLine; + if (parsed.MaxHeight != 0) + rtf_testContent.Text += "Max Height: " + parsed.MaxHeight + Environment.NewLine; + if (parsed.Anamorphic) + rtf_testContent.Text += "Anamorphic: " + parsed.Anamorphic + Environment.NewLine; + if (parsed.LooseAnamorphic) + rtf_testContent.Text += "Loose Anamorphic: " + parsed.LooseAnamorphic + Environment.NewLine; + + //Picture Settings - Filters + rtf_testContent.Text += Environment.NewLine + "## Filters " + Environment.NewLine; + rtf_testContent.Text += "Detelecine: " + parsed.DeTelecine + Environment.NewLine; + rtf_testContent.Text += "Decomb: " + parsed.Decomb + Environment.NewLine; + rtf_testContent.Text += "Deinterlace: " + parsed.DeInterlace + Environment.NewLine; + rtf_testContent.Text += "Denoise: " + parsed.DeNoise + Environment.NewLine; + rtf_testContent.Text += "Deblock: " + parsed.DeBlock + Environment.NewLine; + + //Video + rtf_testContent.Text += Environment.NewLine + "## Video " + Environment.NewLine; + rtf_testContent.Text += "Video Codec: " + parsed.VideoEncoder + Environment.NewLine; + rtf_testContent.Text += "Video Framerate: " + parsed.VideoFramerate + Environment.NewLine; + if (parsed.Grayscale) + rtf_testContent.Text += "Grayscale: " + parsed.Grayscale + Environment.NewLine; + if (parsed.TwoPass) + rtf_testContent.Text += "2-Pass Encoding: " + parsed.TwoPass + Environment.NewLine; + if (parsed.TurboFirstPass) + rtf_testContent.Text += "Turbo first pass: " + parsed.TurboFirstPass + Environment.NewLine; + if (parsed.VideoTargetSize != null) + rtf_testContent.Text += "Target Size: " + parsed.VideoTargetSize + Environment.NewLine; + if (parsed.AverageVideoBitrate != null) + rtf_testContent.Text += "Avg Bitrate: " + parsed.AverageVideoBitrate + Environment.NewLine; + if (parsed.VideoQuality != 0) + rtf_testContent.Text += "Constant Quality: " + parsed.VideoQuality + Environment.NewLine; + + //Audio + // TODO + + //Chapters + if (parsed.ChapterMarkers) + { + rtf_testContent.Text += Environment.NewLine + "## Chapers " + Environment.NewLine; + rtf_testContent.Text += "Chapters: " + parsed.ChapterMarkers + Environment.NewLine; + } + + //Advanced + if (parsed.H264Query != null) + { + rtf_testContent.Text += Environment.NewLine + "## x264 " + Environment.NewLine; + rtf_testContent.Text += "x264: " + parsed.H264Query + Environment.NewLine; + } + } + + } +} diff --git a/win/C#/Functions/QueryParserTester.resx b/win/C#/Functions/QueryParserTester.resx new file mode 100644 index 00000000..ff31a6db --- /dev/null +++ b/win/C#/Functions/QueryParserTester.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/win/C#/HandBrakeCS.csproj b/win/C#/HandBrakeCS.csproj index 4899db28..d93d90a7 100644 --- a/win/C#/HandBrakeCS.csproj +++ b/win/C#/HandBrakeCS.csproj @@ -169,6 +169,12 @@ + + Form + + + QueryParserTester.cs + @@ -228,6 +234,10 @@ frmUpdater.cs Designer + + QueryParserTester.cs + Designer + ResXFileCodeGenerator Resources.Designer.cs diff --git a/win/C#/frmMain.Designer.cs b/win/C#/frmMain.Designer.cs index d290de5c..63674eac 100644 --- a/win/C#/frmMain.Designer.cs +++ b/win/C#/frmMain.Designer.cs @@ -38,7 +38,7 @@ namespace Handbrake System.Windows.Forms.Label Label38; System.Windows.Forms.ContextMenuStrip notifyIconMenu; System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); this.btn_restore = new System.Windows.Forms.ToolStripMenuItem(); this.DVD_Save = new System.Windows.Forms.SaveFileDialog(); this.File_Save = new System.Windows.Forms.SaveFileDialog(); @@ -253,6 +253,8 @@ namespace Handbrake this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components); this.StatusStrip = new System.Windows.Forms.StatusStrip(); this.lbl_encode = new System.Windows.Forms.ToolStripStatusLabel(); + this.debugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.mnu_qptest = new System.Windows.Forms.ToolStripMenuItem(); Label38 = new System.Windows.Forms.Label(); notifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components); notifyIconMenu.SuspendLayout(); @@ -648,9 +650,9 @@ namespace Handbrake // // number // - dataGridViewCellStyle3.Format = "N0"; - dataGridViewCellStyle3.NullValue = null; - this.number.DefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle1.Format = "N0"; + dataGridViewCellStyle1.NullValue = null; + this.number.DefaultCellStyle = dataGridViewCellStyle1; this.number.HeaderText = "Chapter Number"; this.number.MaxInputLength = 3; this.number.Name = "number"; @@ -1405,7 +1407,8 @@ namespace Handbrake this.FileToolStripMenuItem, this.ToolsToolStripMenuItem, this.PresetsToolStripMenuItem, - this.HelpToolStripMenuItem}); + this.HelpToolStripMenuItem, + this.debugToolStripMenuItem}); this.frmMainMenu.Location = new System.Drawing.Point(0, 0); this.frmMainMenu.Name = "frmMainMenu"; this.frmMainMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; @@ -2932,6 +2935,21 @@ namespace Handbrake this.lbl_encode.Size = new System.Drawing.Size(31, 17); this.lbl_encode.Text = "{0}"; // + // debugToolStripMenuItem + // + this.debugToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnu_qptest}); + this.debugToolStripMenuItem.Name = "debugToolStripMenuItem"; + this.debugToolStripMenuItem.Size = new System.Drawing.Size(56, 20); + this.debugToolStripMenuItem.Text = "Debug"; + // + // mnu_qptest + // + this.mnu_qptest.Name = "mnu_qptest"; + this.mnu_qptest.Size = new System.Drawing.Size(201, 22); + this.mnu_qptest.Text = "Query Parser Tester"; + this.mnu_qptest.Click += new System.EventHandler(this.mnu_qptest_Click); + // // frmMain // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -3212,6 +3230,8 @@ namespace Handbrake private System.Windows.Forms.ToolStripMenuItem mnu_killCLI; private System.Windows.Forms.DataGridViewTextBoxColumn number; private System.Windows.Forms.DataGridViewTextBoxColumn name; + private System.Windows.Forms.ToolStripMenuItem debugToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem mnu_qptest; } } \ No newline at end of file diff --git a/win/C#/frmMain.cs b/win/C#/frmMain.cs index 44c7ac29..00e5515c 100644 --- a/win/C#/frmMain.cs +++ b/win/C#/frmMain.cs @@ -12,6 +12,7 @@ using System.Windows.Forms; using System.IO; using System.Diagnostics; using System.Threading; +using Handbrake.Functions; namespace Handbrake { @@ -426,8 +427,11 @@ namespace Handbrake treeView_presets.SelectedNode = treeView_presets.GetNodeAt(e.Location); else if (e.Button == MouseButtons.Left) { - if (groupBox_output.Text.Contains(treeView_presets.GetNodeAt(e.Location).Text)) - selectPreset(); + if (treeView_presets.GetNodeAt(e.Location) != null) + { + if (groupBox_output.Text.Contains(treeView_presets.GetNodeAt(e.Location).Text)) + selectPreset(); + } } treeView_presets.Select(); @@ -783,7 +787,6 @@ namespace Handbrake lbl_encode.Text = ""; } - private void drp_dvdtitle_Click(object sender, EventArgs e) { if ((drp_dvdtitle.Items.Count == 1) && (drp_dvdtitle.Items[0].ToString() == "Automatic")) @@ -1656,7 +1659,6 @@ namespace Handbrake MessageBox.Show("frmMain.cs - enableGUI " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } - private static void killCLI() { // This may seem like a long way of killing HandBrakeCLI, but for whatever reason, @@ -2066,6 +2068,13 @@ namespace Handbrake #endregion + private void mnu_qptest_Click(object sender, EventArgs e) + { + QueryParserTester qptest = new QueryParserTester(); + qptest.Show(); + + } + // This is the END of the road ------------------------------------------------------------------------------ } } \ No newline at end of file diff --git a/win/C#/frmMain.resx b/win/C#/frmMain.resx index 0039ebd8..d6bf08e3 100644 --- a/win/C#/frmMain.resx +++ b/win/C#/frmMain.resx @@ -155,12 +155,6 @@ Make sure you have selected a "Title" from the "Source" box above otherwise the list will not be populated with the correct amount of chapters. Note: Do not change any of the chapter numbers! - - True - - - True - CABAC, or context adaptive binary arithmetic coding, is used by x264 to reduce the bitrate needed for a given quality by 15%. This makes it very cool and very useful, and it should be left on whenever possible. However, it is incompatible with the iPod 5.5G, and makes the AppleTV struggle. diff --git a/win/C#/frmMain/PresetLoader.cs b/win/C#/frmMain/PresetLoader.cs index c486247f..7080f92d 100644 --- a/win/C#/frmMain/PresetLoader.cs +++ b/win/C#/frmMain/PresetLoader.cs @@ -110,12 +110,12 @@ namespace Handbrake mainWindow.drp_deInterlace_option.Text = presetQuery.DeInterlace; mainWindow.drp_deNoise.Text = presetQuery.DeNoise; - if (presetQuery.Decomb) + if (presetQuery.Decomb != "False") mainWindow.check_decomb.CheckState = CheckState.Checked; else mainWindow.check_decomb.CheckState = CheckState.Unchecked; - if (presetQuery.DeTelecine) + if (presetQuery.DeTelecine != "False") mainWindow.check_detelecine.CheckState = CheckState.Checked; else mainWindow.check_detelecine.CheckState = CheckState.Unchecked;