OSDN Git Service

# New
authorsr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 7 May 2009 15:09:33 +0000 (15:09 +0000)
committersr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Thu, 7 May 2009 15:09:33 +0000 (15:09 +0000)
- DTS support on the audio tab
- Angle support added to the source options

# Changed
- Chapter Markers are not selectable when only 1 chapter is selected or available
- Last Encode and scan logs now stored in application data folder. This will make them more persistent.
- Option to open the HandBrake log folder from the Activity window right click menu

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

win/C#/Functions/Encode.cs
win/C#/Functions/QueryGenerator.cs
win/C#/Functions/QueryParser.cs
win/C#/Parsing/Title.cs
win/C#/frmActivityWindow.Designer.cs
win/C#/frmActivityWindow.cs
win/C#/frmMain.Designer.cs
win/C#/frmMain.cs
win/C#/frmMain.resx

index 1579528..870c24a 100644 (file)
@@ -32,7 +32,8 @@ namespace Handbrake.Functions
             try\r
             {\r
                 string handbrakeCLIPath = Path.Combine(Application.StartupPath, "HandBrakeCLI.exe");\r
-                string logPath = Path.Combine(Path.GetTempPath(), "hb_encode_log.dat");\r
+                string logDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\logs";\r
+                string logPath = Path.Combine(logDir, "last_encode_log.txt");\r
 \r
                 string strCmdLine = String.Format(@" CMD /c """"{0}"" {1} 2>""{2}"" """, handbrakeCLIPath, query, logPath);\r
 \r
@@ -113,7 +114,8 @@ namespace Handbrake.Functions
         /// <param name="query"></param>\r
         public void addCLIQueryToLog(string query)\r
         {\r
-            string logPath = Path.Combine(Path.GetTempPath(), "hb_encode_log.dat");\r
+            string logDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\logs";\r
+            string logPath = Path.Combine(logDir, "last_encode_log.txt");\r
 \r
             StreamReader reader = new StreamReader(File.Open(logPath, FileMode.Open, FileAccess.Read));\r
             String log = reader.ReadToEnd();\r
@@ -141,7 +143,7 @@ namespace Handbrake.Functions
                 try\r
                 {\r
                     string logDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\logs";\r
-                    string tempLogFile = Path.Combine(Path.GetTempPath(), "hb_encode_log.dat");\r
+                    string tempLogFile = Path.Combine(logDir, "last_encode_log.txt");\r
 \r
                     string encodeDestinationPath = Path.GetDirectoryName(destination);\r
                     String[] destName = destination.Split('\\');\r
index 1a6d1e9..f2a083a 100644 (file)
@@ -34,6 +34,9 @@ namespace Handbrake.Functions
                 query += " -t " + titleInfo[0];\r
             }\r
 \r
+            if (mainWindow.drop_angle.SelectedIndex != 0)\r
+                query += " --angle " + mainWindow.drop_angle.SelectedItem;\r
+\r
             if (mainWindow.drop_chapterFinish.Text == mainWindow.drop_chapterStart.Text && mainWindow.drop_chapterStart.Text != "Auto")\r
                 query += " -c " + mainWindow.drop_chapterStart.Text;\r
             else if (mainWindow.drop_chapterStart.Text == "Auto" && mainWindow.drop_chapterFinish.Text != "Auto")\r
@@ -74,6 +77,9 @@ namespace Handbrake.Functions
                 query += " -t " + titleInfo[0];\r
             }\r
 \r
+            if (mainWindow.drop_angle.SelectedIndex != 0)\r
+                query += " --angle " + mainWindow.drop_angle.SelectedItem;\r
+\r
             query += " --start-at-preview " + preview;\r
             query += " --stop-at duration:" + duration + " ";\r
 \r
@@ -305,6 +311,7 @@ namespace Handbrake.Functions
             // Audio Codec (-E)\r
             foreach (String item in codecs)\r
             {\r
+                \r
                 if (firstLoop)\r
                 {\r
                     audioItems = item; firstLoop = false;\r
@@ -473,14 +480,16 @@ namespace Handbrake.Functions
         {\r
             switch (selectedEncoder)\r
             {\r
-                case "AAC":\r
+                case "AAC (faac)":\r
                     return "faac";\r
-                case "MP3":\r
+                case "MP3 (lame)":\r
                     return "lame";\r
-                case "Vorbis":\r
+                case "Vorbis (vorbis)":\r
                     return "vorbis";\r
-                case "AC3":\r
+                case "AC3 Passthru":\r
                     return "ac3";\r
+                case "DTS Passthru":\r
+                    return "dts";\r
                 default:\r
                     return "";\r
             }\r
index 5557b51..bbdb77b 100644 (file)
@@ -425,15 +425,17 @@ namespace Handbrake.Functions
             switch (audioEnc)\r
             {\r
                 case "faac":\r
-                    return "AAC";\r
+                    return "AAC (faac)";\r
                 case "lame":\r
-                    return "MP3";\r
+                    return "MP3 (lame)";\r
                 case "vorbis":\r
-                    return "Vorbis";\r
+                    return "Vorbis (vorbis)";\r
                 case "ac3":\r
-                    return "AC3";\r
+                    return "AC3 Passthru";\r
+                case "dts":\r
+                    return "DTS Passthru";\r
                 default:\r
-                    return "AAC";\r
+                    return "AAC (faac)";\r
             }\r
         }\r
     }\r
index 39b8d3c..69afe3e 100644 (file)
@@ -22,6 +22,7 @@ namespace Handbrake.Parsing
         private readonly List<AudioTrack> m_audioTracks;\r
         private readonly List<Chapter> m_chapters;\r
         private readonly List<Subtitle> m_subtitles;\r
+        private List<String> m_angles = new List<string>();\r
         private float m_aspectRatio;\r
         private int[] m_autoCrop;\r
         private TimeSpan m_duration;\r
@@ -108,6 +109,14 @@ namespace Handbrake.Parsing
         }\r
 \r
         /// <summary>\r
+        /// Collection of Angles in this Title\r
+        /// </summary>\r
+        public List<string> Angles\r
+        {\r
+            get { return m_angles; }\r
+        }\r
+  \r
+        /// <summary>\r
         /// Override of the ToString method to provide an easy way to use this object in the UI\r
         /// </summary>\r
         /// <returns>A string representing this track in the format: {title #} (00:00:00)</returns>\r
@@ -134,8 +143,16 @@ namespace Handbrake.Parsing
                 m = Regex.Match(output.ReadLine(), @"  \+ angle\(s\) ([0-9,])");\r
                 if (m.Success)\r
                 {\r
-                    //  + angle(s) 1\r
-                    // Do nothing. Will add this later.\r
+                    String angleList = m.Value.Replace("+ angle(s) ", "").Trim();\r
+\r
+                    if (angleList.Contains(","))\r
+                    {\r
+                        string[] angles = angleList.Split(',');\r
+                        foreach (string s in angles)\r
+                            thisTitle.m_angles.Add(s);\r
+                    }\r
+                    else\r
+                        thisTitle.m_angles.Add(m.Value.Replace("+ angle(s) ", "").Trim());\r
                 }\r
             }\r
 \r
index cdd7d2d..11e5c0d 100644 (file)
@@ -49,6 +49,7 @@ namespace Handbrake
             this.statusStrip1 = new System.Windows.Forms.StatusStrip();\r
             this.lbl_slb = new System.Windows.Forms.ToolStripStatusLabel();\r
             this.txt_log = new System.Windows.Forms.ToolStripStatusLabel();\r
+            this.mnu_openLogFolder = new System.Windows.Forms.ToolStripMenuItem();\r
             this.rightClickMenu.SuspendLayout();\r
             this.toolStrip1.SuspendLayout();\r
             this.statusStrip1.SuspendLayout();\r
@@ -70,15 +71,16 @@ namespace Handbrake
             // rightClickMenu\r
             // \r
             this.rightClickMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
-            this.mnu_copy_log});\r
+            this.mnu_copy_log,\r
+            this.mnu_openLogFolder});\r
             this.rightClickMenu.Name = "rightClickMenu";\r
-            this.rightClickMenu.Size = new System.Drawing.Size(111, 26);\r
+            this.rightClickMenu.Size = new System.Drawing.Size(247, 70);\r
             // \r
             // mnu_copy_log\r
             // \r
             this.mnu_copy_log.Image = global::Handbrake.Properties.Resources.copy;\r
             this.mnu_copy_log.Name = "mnu_copy_log";\r
-            this.mnu_copy_log.Size = new System.Drawing.Size(110, 22);\r
+            this.mnu_copy_log.Size = new System.Drawing.Size(246, 22);\r
             this.mnu_copy_log.Text = "Copy";\r
             this.mnu_copy_log.Click += new System.EventHandler(this.mnu_copy_log_Click);\r
             // \r
@@ -172,6 +174,14 @@ namespace Handbrake
             this.txt_log.Size = new System.Drawing.Size(74, 17);\r
             this.txt_log.Text = "{selected log}";\r
             // \r
+            // mnu_openLogFolder\r
+            // \r
+            this.mnu_openLogFolder.Image = global::Handbrake.Properties.Resources.folder;\r
+            this.mnu_openLogFolder.Name = "mnu_openLogFolder";\r
+            this.mnu_openLogFolder.Size = new System.Drawing.Size(246, 22);\r
+            this.mnu_openLogFolder.Text = "Open Individual Log File Directory";\r
+            this.mnu_openLogFolder.Click += new System.EventHandler(this.mnu_openLogFolder_Click);\r
+            // \r
             // frmActivityWindow\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);\r
@@ -215,5 +225,6 @@ namespace Handbrake
         private System.Windows.Forms.ToolStripStatusLabel lbl_slb;\r
         private System.Windows.Forms.ContextMenuStrip rightClickMenu;\r
         private System.Windows.Forms.ToolStripMenuItem mnu_copy_log;\r
+        private System.Windows.Forms.ToolStripMenuItem mnu_openLogFolder;\r
     }\r
 }
\ No newline at end of file
index b1fa0da..d2d1ff1 100644 (file)
@@ -5,7 +5,6 @@
           It may be used under the terms of the GNU General Public License. */\r
 \r
 using System;\r
-using System.Collections.Generic;\r
 using System.Windows.Forms;\r
 using System.IO;\r
 using System.Threading;\r
@@ -22,6 +21,7 @@ namespace Handbrake
         Thread monitor;\r
         Queue.QueueHandler encodeQueue;\r
         int position;  // Position in the arraylist reached by the current log output in the rtf box.\r
+        string logDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\logs";\r
 \r
         /// <summary>\r
         /// This window should be used to display the RAW output of the handbrake CLI which is produced during an encode.\r
@@ -41,9 +41,9 @@ namespace Handbrake
             // Print the Log header in the Rich text box.\r
             displayLogHeader();\r
 \r
-            if (file == "dvdinfo.dat")\r
+            if (file == "last_scan_log.txt")\r
                 txt_log.Text = "Scan Log";\r
-            else if (file == "hb_encode_log.dat")\r
+            else if (file == "last_encode_log.txt")\r
                 txt_log.Text = "Encode Log";\r
 \r
             // Start a new thread which will montior and keep the log window up to date if required/\r
@@ -80,7 +80,7 @@ namespace Handbrake
         {\r
             try\r
             {\r
-                string logFile = Path.Combine(Path.GetTempPath(), file);\r
+                string logFile = Path.Combine(logDir, file);\r
                 if (File.Exists(logFile))\r
                 {\r
                     // Start a new thread to run the autoUpdate process\r
@@ -192,10 +192,10 @@ namespace Handbrake
             String appendText = String.Empty;\r
             try\r
             {\r
-                // hb_encode_log.dat is the primary log file. Since .NET can't read this file whilst the CLI is outputing to it (Not even in read only mode),\r
+                // last_encode_log.txt is the primary log file. Since .NET can't read this file whilst the CLI is outputing to it (Not even in read only mode),\r
                 // we'll need to make a copy of it.\r
-                string logFile = Path.Combine(Path.GetTempPath(), read_file);\r
-                string logFile2 = Path.Combine(Path.GetTempPath(), "hb_encode_log_AppReadable.dat");\r
+                string logFile = Path.Combine(logDir, read_file);\r
+                string logFile2 = Path.Combine(logDir, "tmp_appReadable_log.txt");\r
 \r
                 // Make sure the application readable log file does not already exist. FileCopy fill fail if it does.\r
                 if (File.Exists(logFile2))\r
@@ -254,6 +254,15 @@ namespace Handbrake
             else\r
                 Clipboard.SetDataObject(rtf_actLog.Text, true);\r
         }\r
+        private void mnu_openLogFolder_Click(object sender, EventArgs e)\r
+        {\r
+            string logDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\logs";\r
+            string windir = Environment.GetEnvironmentVariable("WINDIR");\r
+            System.Diagnostics.Process prc = new System.Diagnostics.Process();\r
+            prc.StartInfo.FileName = windir + @"\explorer.exe";\r
+            prc.StartInfo.Arguments = logDir;\r
+            prc.Start();\r
+        }\r
         private void btn_copy_Click(object sender, EventArgs e)\r
         {\r
             if (rtf_actLog.SelectedText != "")\r
@@ -269,7 +278,7 @@ namespace Handbrake
                 monitor.Abort();\r
 \r
             rtf_actLog.Clear();\r
-            read_file = "dvdinfo.dat";\r
+            read_file = "last_scan_log.txt";\r
             displayLogHeader();\r
             startLogThread(read_file);\r
             txt_log.Text = "Scan Log";\r
@@ -282,7 +291,7 @@ namespace Handbrake
                 monitor.Abort();\r
 \r
             rtf_actLog.Clear();\r
-            read_file = "hb_encode_log.dat";\r
+            read_file = "last_encode_log.txt";\r
             position = 0;\r
             displayLogHeader();\r
             startLogThread(read_file);\r
index 7a89b0f..b03d929 100644 (file)
@@ -40,7 +40,7 @@ namespace Handbrake
             this.components = new System.ComponentModel.Container();\r
             System.Windows.Forms.ContextMenuStrip notifyIconMenu;\r
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));\r
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();\r
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();\r
             this.btn_restore = new System.Windows.Forms.ToolStripMenuItem();\r
             this.DVD_Save = new System.Windows.Forms.SaveFileDialog();\r
             this.File_Save = new System.Windows.Forms.SaveFileDialog();\r
@@ -183,14 +183,9 @@ namespace Handbrake
             this.Check_ChapterMarkers = new System.Windows.Forms.CheckBox();\r
             this.tabs_panel = new System.Windows.Forms.TabControl();\r
             this.tab_Filters = new System.Windows.Forms.TabPage();\r
-            this.ctl_deinterlace = new Handbrake.Deinterlace();\r
-            this.ctl_denoise = new Handbrake.Denoise();\r
-            this.ctl_decomb = new Handbrake.Decomb();\r
-            this.ctl_detelecine = new Handbrake.Detelecine();\r
             this.tab_chapters = new System.Windows.Forms.TabPage();\r
             this.label31 = new System.Windows.Forms.Label();\r
             this.h264Tab = new System.Windows.Forms.TabPage();\r
-            this.x264Panel = new Handbrake.Controls.x264Panel();\r
             this.tab_query = new System.Windows.Forms.TabPage();\r
             this.btn_clear = new System.Windows.Forms.Button();\r
             this.label34 = new System.Windows.Forms.Label();\r
@@ -225,6 +220,13 @@ namespace Handbrake
             this.StatusStrip = new System.Windows.Forms.StatusStrip();\r
             this.lbl_encode = new System.Windows.Forms.ToolStripStatusLabel();\r
             this.hbproc = new System.Diagnostics.Process();\r
+            this.drop_angle = new System.Windows.Forms.ComboBox();\r
+            this.label4 = new System.Windows.Forms.Label();\r
+            this.ctl_deinterlace = new Handbrake.Deinterlace();\r
+            this.ctl_denoise = new Handbrake.Denoise();\r
+            this.ctl_decomb = new Handbrake.Decomb();\r
+            this.ctl_detelecine = new Handbrake.Detelecine();\r
+            this.x264Panel = new Handbrake.Controls.x264Panel();\r
             notifyIconMenu = new System.Windows.Forms.ContextMenuStrip(this.components);\r
             notifyIconMenu.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.slider_videoQuality)).BeginInit();\r
@@ -293,7 +295,7 @@ namespace Handbrake
             // \r
             this.drop_chapterFinish.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.drop_chapterFinish.FormattingEnabled = true;\r
-            this.drop_chapterFinish.Location = new System.Drawing.Point(427, 52);\r
+            this.drop_chapterFinish.Location = new System.Drawing.Point(503, 52);\r
             this.drop_chapterFinish.Name = "drop_chapterFinish";\r
             this.drop_chapterFinish.Size = new System.Drawing.Size(69, 21);\r
             this.drop_chapterFinish.TabIndex = 10;\r
@@ -305,7 +307,7 @@ namespace Handbrake
             // \r
             this.drop_chapterStart.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.drop_chapterStart.FormattingEnabled = true;\r
-            this.drop_chapterStart.Location = new System.Drawing.Point(295, 52);\r
+            this.drop_chapterStart.Location = new System.Drawing.Point(371, 52);\r
             this.drop_chapterStart.Name = "drop_chapterStart";\r
             this.drop_chapterStart.Size = new System.Drawing.Size(69, 21);\r
             this.drop_chapterStart.TabIndex = 9;\r
@@ -319,7 +321,7 @@ namespace Handbrake
             this.drp_dvdtitle.FormattingEnabled = true;\r
             this.drp_dvdtitle.Items.AddRange(new object[] {\r
             "Automatic"});\r
-            this.drp_dvdtitle.Location = new System.Drawing.Point(99, 52);\r
+            this.drp_dvdtitle.Location = new System.Drawing.Point(75, 52);\r
             this.drp_dvdtitle.Name = "drp_dvdtitle";\r
             this.drp_dvdtitle.Size = new System.Drawing.Size(119, 21);\r
             this.drp_dvdtitle.TabIndex = 7;\r
@@ -332,9 +334,9 @@ namespace Handbrake
             // text_destination\r
             // \r
             this.text_destination.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.text_destination.Location = new System.Drawing.Point(99, 19);\r
+            this.text_destination.Location = new System.Drawing.Point(75, 19);\r
             this.text_destination.Name = "text_destination";\r
-            this.text_destination.Size = new System.Drawing.Size(503, 21);\r
+            this.text_destination.Size = new System.Drawing.Size(549, 21);\r
             this.text_destination.TabIndex = 1;\r
             this.ToolTip.SetToolTip(this.text_destination, "Location where the encoded file will be saved.");\r
             this.text_destination.TextChanged += new System.EventHandler(this.text_destination_TextChanged);\r
@@ -598,9 +600,9 @@ namespace Handbrake
             // \r
             // number\r
             // \r
-            dataGridViewCellStyle2.Format = "N0";\r
-            dataGridViewCellStyle2.NullValue = null;\r
-            this.number.DefaultCellStyle = dataGridViewCellStyle2;\r
+            dataGridViewCellStyle1.Format = "N0";\r
+            dataGridViewCellStyle1.NullValue = null;\r
+            this.number.DefaultCellStyle = dataGridViewCellStyle1;\r
             this.number.Frozen = true;\r
             this.number.HeaderText = "Chapter Number";\r
             this.number.MaxInputLength = 3;\r
@@ -649,15 +651,15 @@ namespace Handbrake
             this.drp_audenc_1.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.drp_audenc_1.FormattingEnabled = true;\r
             this.drp_audenc_1.Items.AddRange(new object[] {\r
-            "AAC",\r
-            "MP3",\r
-            "Vorbis",\r
-            "AC3"});\r
+            "AAC (faac)",\r
+            "MP3 (lame)",\r
+            "Vorbis (vorbis)",\r
+            "AC3 Passthru"});\r
             this.drp_audenc_1.Location = new System.Drawing.Point(216, 47);\r
             this.drp_audenc_1.Name = "drp_audenc_1";\r
             this.drp_audenc_1.Size = new System.Drawing.Size(111, 20);\r
             this.drp_audenc_1.TabIndex = 5;\r
-            this.drp_audenc_1.Text = "AAC";\r
+            this.drp_audenc_1.Text = "AAC (faac)";\r
             this.ToolTip.SetToolTip(this.drp_audenc_1, "Select an audio encoder.");\r
             this.drp_audenc_1.SelectedIndexChanged += new System.EventHandler(this.drp_audenc_1_SelectedIndexChanged);\r
             // \r
@@ -706,10 +708,10 @@ namespace Handbrake
             // text_source\r
             // \r
             this.text_source.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.text_source.Location = new System.Drawing.Point(99, 19);\r
+            this.text_source.Location = new System.Drawing.Point(75, 19);\r
             this.text_source.Name = "text_source";\r
             this.text_source.ReadOnly = true;\r
-            this.text_source.Size = new System.Drawing.Size(584, 21);\r
+            this.text_source.Size = new System.Drawing.Size(642, 21);\r
             this.text_source.TabIndex = 1;\r
             this.text_source.Text = "Click \'Source\' to continue";\r
             this.ToolTip.SetToolTip(this.text_source, "Location of the source input file, folder or dvd.");\r
@@ -730,7 +732,7 @@ namespace Handbrake
             this.lbl_duration.AutoSize = true;\r
             this.lbl_duration.BackColor = System.Drawing.Color.Transparent;\r
             this.lbl_duration.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.lbl_duration.Location = new System.Drawing.Point(569, 56);\r
+            this.lbl_duration.Location = new System.Drawing.Point(645, 56);\r
             this.lbl_duration.Name = "lbl_duration";\r
             this.lbl_duration.Size = new System.Drawing.Size(72, 12);\r
             this.lbl_duration.TabIndex = 43;\r
@@ -741,7 +743,7 @@ namespace Handbrake
             this.label_duration.AutoSize = true;\r
             this.label_duration.BackColor = System.Drawing.Color.Transparent;\r
             this.label_duration.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label_duration.Location = new System.Drawing.Point(502, 55);\r
+            this.label_duration.Location = new System.Drawing.Point(578, 55);\r
             this.label_duration.Name = "label_duration";\r
             this.label_duration.Size = new System.Drawing.Size(61, 13);\r
             this.label_duration.TabIndex = 42;\r
@@ -986,6 +988,8 @@ namespace Handbrake
             // \r
             // gb_source\r
             // \r
+            this.gb_source.Controls.Add(this.drop_angle);\r
+            this.gb_source.Controls.Add(this.label4);\r
             this.gb_source.Controls.Add(this.lbl_duration);\r
             this.gb_source.Controls.Add(this.label_duration);\r
             this.gb_source.Controls.Add(this.Label13);\r
@@ -1009,7 +1013,7 @@ namespace Handbrake
             // \r
             this.Label13.AutoSize = true;\r
             this.Label13.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.Label13.Location = new System.Drawing.Point(370, 55);\r
+            this.Label13.Location = new System.Drawing.Point(446, 55);\r
             this.Label13.Name = "Label13";\r
             this.Label13.Size = new System.Drawing.Size(51, 13);\r
             this.Label13.TabIndex = 10;\r
@@ -1031,7 +1035,7 @@ namespace Handbrake
             this.Label9.AutoSize = true;\r
             this.Label9.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.Label9.ForeColor = System.Drawing.Color.Black;\r
-            this.Label9.Location = new System.Drawing.Point(225, 55);\r
+            this.Label9.Location = new System.Drawing.Point(301, 55);\r
             this.Label9.Name = "Label9";\r
             this.Label9.Size = new System.Drawing.Size(64, 13);\r
             this.Label9.TabIndex = 8;\r
@@ -1871,48 +1875,6 @@ namespace Handbrake
             this.tab_Filters.Text = "Video Filters";\r
             this.tab_Filters.UseVisualStyleBackColor = true;\r
             // \r
-            // ctl_deinterlace\r
-            // \r
-            this.ctl_deinterlace.AutoSize = true;\r
-            this.ctl_deinterlace.Location = new System.Drawing.Point(19, 95);\r
-            this.ctl_deinterlace.Margin = new System.Windows.Forms.Padding(0);\r
-            this.ctl_deinterlace.MaximumSize = new System.Drawing.Size(400, 30);\r
-            this.ctl_deinterlace.Name = "ctl_deinterlace";\r
-            this.ctl_deinterlace.Size = new System.Drawing.Size(275, 28);\r
-            this.ctl_deinterlace.TabIndex = 41;\r
-            this.ctl_deinterlace.onChange += new System.EventHandler(this.ctl_deinterlace_changed);\r
-            // \r
-            // ctl_denoise\r
-            // \r
-            this.ctl_denoise.AutoSize = true;\r
-            this.ctl_denoise.Location = new System.Drawing.Point(19, 123);\r
-            this.ctl_denoise.Margin = new System.Windows.Forms.Padding(0);\r
-            this.ctl_denoise.MaximumSize = new System.Drawing.Size(400, 30);\r
-            this.ctl_denoise.Name = "ctl_denoise";\r
-            this.ctl_denoise.Size = new System.Drawing.Size(275, 28);\r
-            this.ctl_denoise.TabIndex = 40;\r
-            // \r
-            // ctl_decomb\r
-            // \r
-            this.ctl_decomb.AutoSize = true;\r
-            this.ctl_decomb.Location = new System.Drawing.Point(19, 66);\r
-            this.ctl_decomb.Margin = new System.Windows.Forms.Padding(0);\r
-            this.ctl_decomb.MaximumSize = new System.Drawing.Size(400, 30);\r
-            this.ctl_decomb.Name = "ctl_decomb";\r
-            this.ctl_decomb.Size = new System.Drawing.Size(275, 28);\r
-            this.ctl_decomb.TabIndex = 39;\r
-            this.ctl_decomb.onChange += new System.EventHandler(this.ctl_decomb_changed);\r
-            // \r
-            // ctl_detelecine\r
-            // \r
-            this.ctl_detelecine.AutoSize = true;\r
-            this.ctl_detelecine.Location = new System.Drawing.Point(19, 38);\r
-            this.ctl_detelecine.Margin = new System.Windows.Forms.Padding(0);\r
-            this.ctl_detelecine.MaximumSize = new System.Drawing.Size(400, 30);\r
-            this.ctl_detelecine.Name = "ctl_detelecine";\r
-            this.ctl_detelecine.Size = new System.Drawing.Size(275, 28);\r
-            this.ctl_detelecine.TabIndex = 38;\r
-            // \r
             // tab_chapters\r
             // \r
             this.tab_chapters.BackColor = System.Drawing.Color.Transparent;\r
@@ -1950,14 +1912,6 @@ namespace Handbrake
             this.h264Tab.Text = "Advanced";\r
             this.h264Tab.UseVisualStyleBackColor = true;\r
             // \r
-            // x264Panel\r
-            // \r
-            this.x264Panel.Location = new System.Drawing.Point(0, 0);\r
-            this.x264Panel.Name = "x264Panel";\r
-            this.x264Panel.Size = new System.Drawing.Size(720, 306);\r
-            this.x264Panel.TabIndex = 0;\r
-            this.x264Panel.x264Query = "";\r
-            // \r
             // tab_query\r
             // \r
             this.tab_query.Controls.Add(this.btn_clear);\r
@@ -2045,7 +1999,7 @@ namespace Handbrake
             // btn_destBrowse\r
             // \r
             this.btn_destBrowse.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
-            this.btn_destBrowse.Location = new System.Drawing.Point(608, 17);\r
+            this.btn_destBrowse.Location = new System.Drawing.Point(642, 18);\r
             this.btn_destBrowse.Name = "btn_destBrowse";\r
             this.btn_destBrowse.Size = new System.Drawing.Size(75, 23);\r
             this.btn_destBrowse.TabIndex = 13;\r
@@ -2317,6 +2271,78 @@ namespace Handbrake
             this.hbproc.StartInfo.UserName = "";\r
             this.hbproc.SynchronizingObject = this;\r
             // \r
+            // drop_angle\r
+            // \r
+            this.drop_angle.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.drop_angle.FormattingEnabled = true;\r
+            this.drop_angle.Location = new System.Drawing.Point(250, 52);\r
+            this.drop_angle.Name = "drop_angle";\r
+            this.drop_angle.Size = new System.Drawing.Size(45, 21);\r
+            this.drop_angle.TabIndex = 45;\r
+            this.drop_angle.Text = "1";\r
+            this.ToolTip.SetToolTip(this.drop_angle, "Select the chapter range you would like to enocde. (default: All Chapters)");\r
+            // \r
+            // label4\r
+            // \r
+            this.label4.AutoSize = true;\r
+            this.label4.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.label4.ForeColor = System.Drawing.Color.Black;\r
+            this.label4.Location = new System.Drawing.Point(200, 55);\r
+            this.label4.Name = "label4";\r
+            this.label4.Size = new System.Drawing.Size(44, 13);\r
+            this.label4.TabIndex = 44;\r
+            this.label4.Text = "Angle:";\r
+            // \r
+            // ctl_deinterlace\r
+            // \r
+            this.ctl_deinterlace.AutoSize = true;\r
+            this.ctl_deinterlace.Location = new System.Drawing.Point(19, 95);\r
+            this.ctl_deinterlace.Margin = new System.Windows.Forms.Padding(0);\r
+            this.ctl_deinterlace.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.ctl_deinterlace.Name = "ctl_deinterlace";\r
+            this.ctl_deinterlace.Size = new System.Drawing.Size(275, 28);\r
+            this.ctl_deinterlace.TabIndex = 41;\r
+            this.ctl_deinterlace.onChange += new System.EventHandler(this.ctl_deinterlace_changed);\r
+            // \r
+            // ctl_denoise\r
+            // \r
+            this.ctl_denoise.AutoSize = true;\r
+            this.ctl_denoise.Location = new System.Drawing.Point(19, 123);\r
+            this.ctl_denoise.Margin = new System.Windows.Forms.Padding(0);\r
+            this.ctl_denoise.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.ctl_denoise.Name = "ctl_denoise";\r
+            this.ctl_denoise.Size = new System.Drawing.Size(275, 28);\r
+            this.ctl_denoise.TabIndex = 40;\r
+            // \r
+            // ctl_decomb\r
+            // \r
+            this.ctl_decomb.AutoSize = true;\r
+            this.ctl_decomb.Location = new System.Drawing.Point(19, 66);\r
+            this.ctl_decomb.Margin = new System.Windows.Forms.Padding(0);\r
+            this.ctl_decomb.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.ctl_decomb.Name = "ctl_decomb";\r
+            this.ctl_decomb.Size = new System.Drawing.Size(275, 28);\r
+            this.ctl_decomb.TabIndex = 39;\r
+            this.ctl_decomb.onChange += new System.EventHandler(this.ctl_decomb_changed);\r
+            // \r
+            // ctl_detelecine\r
+            // \r
+            this.ctl_detelecine.AutoSize = true;\r
+            this.ctl_detelecine.Location = new System.Drawing.Point(19, 38);\r
+            this.ctl_detelecine.Margin = new System.Windows.Forms.Padding(0);\r
+            this.ctl_detelecine.MaximumSize = new System.Drawing.Size(400, 30);\r
+            this.ctl_detelecine.Name = "ctl_detelecine";\r
+            this.ctl_detelecine.Size = new System.Drawing.Size(275, 28);\r
+            this.ctl_detelecine.TabIndex = 38;\r
+            // \r
+            // x264Panel\r
+            // \r
+            this.x264Panel.Location = new System.Drawing.Point(0, 0);\r
+            this.x264Panel.Name = "x264Panel";\r
+            this.x264Panel.Size = new System.Drawing.Size(720, 306);\r
+            this.x264Panel.TabIndex = 0;\r
+            this.x264Panel.x264Query = "";\r
+            // \r
             // frmMain\r
             // \r
             this.AllowDrop = true;\r
@@ -2569,6 +2595,8 @@ namespace Handbrake
         private System.Windows.Forms.DataGridViewTextBoxColumn name;\r
         internal TextBox text_source;\r
         private System.Diagnostics.Process hbproc;\r
+        internal ComboBox drop_angle;\r
+        internal Label label4;\r
 \r
  \r
     }\r
index dddf3fd..78074b1 100644 (file)
@@ -246,7 +246,7 @@ namespace Handbrake
         private void mnu_encodeLog_Click(object sender, EventArgs e)\r
         {\r
             String file;\r
-            file = lastAction == "scan" ? "dvdinfo.dat" : "hb_encode_log.dat";\r
+            file = lastAction == "scan" ? "last_scan_log.txt" : "last_encode_log.txt";\r
 \r
             frmActivityWindow dvdInfoWindow = new frmActivityWindow(file, encodeQueue);\r
             dvdInfoWindow.Show();\r
@@ -571,7 +571,7 @@ namespace Handbrake
                     if (node.Text.Equals("Normal"))\r
                         treeView_presets.SelectedNode = treeView_presets.Nodes[treenode.Index].Nodes[0];\r
                 }\r
-            }  \r
+            }\r
         }\r
         #endregion\r
 \r
@@ -692,7 +692,7 @@ namespace Handbrake
         }\r
         private void btn_ActivityWindow_Click(object sender, EventArgs e)\r
         {\r
-            String file = lastAction == "scan" ? "dvdinfo.dat" : "hb_encode_log.dat";\r
+            String file = lastAction == "scan" ? "last_scan_log.txt" : "last_encode_log.txt";\r
 \r
             frmActivityWindow ActivityWindow = new frmActivityWindow(file, encodeQueue);\r
             ActivityWindow.Show();\r
@@ -845,6 +845,10 @@ namespace Handbrake
                 text_left.Text = selectedTitle.AutoCropDimensions[2].ToString();\r
                 text_right.Text = selectedTitle.AutoCropDimensions[3].ToString();\r
 \r
+                // Populate the Angles dropdown\r
+                drop_angle.Items.Clear();\r
+                drop_angle.Items.AddRange(selectedTitle.Angles.ToArray());\r
+\r
                 // Populate the Start chapter Dropdown\r
                 drop_chapterStart.Items.Clear();\r
                 drop_chapterStart.Items.AddRange(selectedTitle.Chapters.ToArray());\r
@@ -885,9 +889,16 @@ namespace Handbrake
             }\r
 \r
             data_chpt.Rows.Clear();\r
-            DataGridView chapterGridView = Main.chapterNaming(data_chpt, drop_chapterFinish.Text);\r
-            if (chapterGridView != null)\r
-                data_chpt = chapterGridView;\r
+            if (selectedTitle.Chapters.Count != 1)\r
+            {\r
+                DataGridView chapterGridView = Main.chapterNaming(data_chpt, drop_chapterFinish.Text);\r
+                if (chapterGridView != null)\r
+                    data_chpt = chapterGridView;\r
+            } else\r
+            {\r
+                Check_ChapterMarkers.Checked = false;\r
+                Check_ChapterMarkers.Enabled = false;\r
+            }\r
 \r
             // Hack to force the redraw of the scrollbars which don't resize properly when the control is disabled.\r
             data_chpt.Columns[0].Width = 166;\r
@@ -915,6 +926,14 @@ namespace Handbrake
             if (Properties.Settings.Default.autoNaming == "Checked")\r
                 text_destination.Text = Main.autoName(drp_dvdtitle, drop_chapterStart.Text, drop_chapterFinish.Text, text_source.Text, text_destination.Text, drop_format.SelectedIndex);\r
 \r
+            // Disable chapter markers if only 1 chapter is selected.\r
+            if (c_start == c_end)\r
+            {\r
+                Check_ChapterMarkers.Checked = false;\r
+                Check_ChapterMarkers.Enabled = false; \r
+            }\r
+            else\r
+                Check_ChapterMarkers.Enabled = true;\r
         }\r
         private void drop_chapterFinish_SelectedIndexChanged(object sender, EventArgs e)\r
         {\r
@@ -956,6 +975,15 @@ namespace Handbrake
                     i++;\r
                 }\r
             }\r
+\r
+            // Disable chapter markers if only 1 chapter is selected.\r
+            if (c_start == c_end)\r
+            {\r
+                Check_ChapterMarkers.Checked = false;\r
+                Check_ChapterMarkers.Enabled = false;\r
+            }\r
+            else\r
+                Check_ChapterMarkers.Enabled = true;\r
         }\r
 \r
         //Destination\r
@@ -981,25 +1009,25 @@ namespace Handbrake
                 if (DVD_Save.FileName.StartsWith("\\"))\r
                     MessageBox.Show("Sorry, HandBrake does not support UNC file paths. \nTry mounting the share as a network drive in My Computer", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
                 else\r
-                {   \r
+                {\r
                     // Add a file extension manually, as FileDialog.AddExtension has issues with dots in filenames\r
                     switch (DVD_Save.FilterIndex)\r
                     {\r
                         case 1:\r
                             if (!Path.GetExtension(DVD_Save.FileName).Equals(".mp4", StringComparison.InvariantCultureIgnoreCase))\r
-                                DVD_Save.FileName += ".mp4";        \r
-                            break;    \r
+                                DVD_Save.FileName += ".mp4";\r
+                            break;\r
                         case 2:\r
-                            if (!Path.GetExtension(DVD_Save.FileName).Equals(".m4v", StringComparison.InvariantCultureIgnoreCase))   \r
-                                DVD_Save.FileName += ".m4v";     \r
-                            break;  \r
-                        case 3:   \r
-                            if (!Path.GetExtension(DVD_Save.FileName).Equals(".mkv", StringComparison.InvariantCultureIgnoreCase))     \r
-                                DVD_Save.FileName += ".mkv";   \r
-                            break;   \r
-                        default:   \r
+                            if (!Path.GetExtension(DVD_Save.FileName).Equals(".m4v", StringComparison.InvariantCultureIgnoreCase))\r
+                                DVD_Save.FileName += ".m4v";\r
+                            break;\r
+                        case 3:\r
+                            if (!Path.GetExtension(DVD_Save.FileName).Equals(".mkv", StringComparison.InvariantCultureIgnoreCase))\r
+                                DVD_Save.FileName += ".mkv";\r
+                            break;\r
+                        default:\r
                             //do nothing  \r
-                            break; \r
+                            break;\r
                     }\r
                     text_destination.Text = DVD_Save.FileName;\r
 \r
@@ -1334,7 +1362,7 @@ namespace Handbrake
         }\r
         private void drp_audenc_1_SelectedIndexChanged(object sender, EventArgs e)\r
         {\r
-            if (drp_audenc_1.Text == "AC3")\r
+            if (drp_audenc_1.Text == "AC3" || drp_audenc_1.Text == "DTS")\r
             {\r
                 drp_audmix_1.Enabled = false;\r
                 drp_audbit_1.Enabled = false;\r
@@ -1607,9 +1635,10 @@ namespace Handbrake
             {\r
                 string inputFile = (string)state;\r
                 string handbrakeCLIPath = Path.Combine(Application.StartupPath, "HandBrakeCLI.exe");\r
-                string dvdInfoPath = Path.Combine(Path.GetTempPath(), "dvdinfo.dat");\r
+                string logDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\logs";\r
+                string dvdInfoPath = Path.Combine(logDir, "last_scan_log.txt");\r
 \r
-                // Make we don't pick up a stale hb_encode_log.dat (and that we have rights to the file)\r
+                // Make we don't pick up a stale last_encode_log.txt (and that we have rights to the file)\r
                 if (File.Exists(dvdInfoPath))\r
                     File.Delete(dvdInfoPath);\r
 \r
@@ -1627,7 +1656,7 @@ namespace Handbrake
 \r
                 if (!File.Exists(dvdInfoPath))\r
                 {\r
-                    throw new Exception("Unable to retrieve the DVD Info. dvdinfo.dat is missing. \nExpected location of dvdinfo.dat: \n" + dvdInfoPath);\r
+                    throw new Exception("Unable to retrieve the DVD Info. last_scan_log.txt is missing. \nExpected location of last_scan_log.txt: \n" + dvdInfoPath);\r
                 }\r
 \r
                 using (StreamReader sr = new StreamReader(dvdInfoPath))\r
@@ -1844,8 +1873,8 @@ namespace Handbrake
             {\r
                 string oldval = drp_audenc_1.Text;\r
                 drp_audenc_1.Items.Clear();\r
-                drp_audenc_1.Items.Add("AAC");\r
-                drp_audenc_1.Items.Add("AC3");\r
+                drp_audenc_1.Items.Add("AAC (faac)");\r
+                drp_audenc_1.Items.Add("AC3 Passthru");\r
                 if ((oldval != "AAC") && (oldval != "AC3"))\r
                     drp_audenc_1.SelectedIndex = 0;\r
 \r
@@ -1853,10 +1882,12 @@ namespace Handbrake
             else if (path.Contains("MKV"))\r
             {\r
                 drp_audenc_1.Items.Clear();\r
-                drp_audenc_1.Items.Add("AAC");\r
-                drp_audenc_1.Items.Add("MP3");\r
-                drp_audenc_1.Items.Add("AC3");\r
-                drp_audenc_1.Items.Add("Vorbis");\r
+                drp_audenc_1.Items.Add("AAC (faac)");\r
+                drp_audenc_1.Items.Add("MP3 (lame)");\r
+                drp_audenc_1.Items.Add("AC3 Passthru");\r
+                drp_audenc_1.Items.Add("DTS Passthru");\r
+                drp_audenc_1.Items.Add("Vorbis (vorbis)");\r
+\r
                 if (drp_audenc_1.Text == string.Empty)\r
                     drp_audenc_1.SelectedIndex = 0;\r
             }\r
index ca7b50f..f4b7ffb 100644 (file)
@@ -152,12 +152,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.\r
 Note: Do not change any of the chapter numbers!</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
-  <metadata name="name.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
-    <value>True</value>\r
-  </metadata>\r
   <metadata name="DVD_Open.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
     <value>232, 15</value>\r
   </metadata>\r