From 1e502ab0b9a44ac7970ef9a8d4a205a6e4eaf10b Mon Sep 17 00:00:00 2001 From: Grigory Chudov Date: Tue, 4 Jun 2013 00:10:33 -0400 Subject: [PATCH] CUETools: CTDB verification during encoding, CTDB confidence tags --- CUERipper/frmCUERipper.Designer.cs | 72 +- CUERipper/frmCUERipper.cs | 4 +- CUERipper/frmCUERipper.resx | 445 +++++-- CUETools.AccurateRip/AccurateRip.cs | 3 +- CUETools.CTDB/CUEToolsDB.cs | 44 + CUETools.Codecs.FLACCL/FLACCLWriter.cs | 5 +- CUETools.Processor/CUEConfigAdvanced.cs | 6 + CUETools.Processor/CUESheet.cs | 94 +- CUETools.Processor/CUESheetLogWriter.cs | 1 + CUETools.Processor/CUEToolsProfile.cs | 18 +- CUETools/CUETools.csproj | 1 + CUETools/CUETools.sln | 6 +- CUETools/Properties/Resources.Designer.cs | 10 + CUETools/Properties/Resources.resx | 199 +-- CUETools/frmBatch.cs | 2 +- CUETools/frmCUETools.Designer.cs | 146 +-- CUETools/frmCUETools.cs | 29 +- CUETools/frmCUETools.resx | 1412 +++++++++++---------- 18 files changed, 1419 insertions(+), 1078 deletions(-) diff --git a/CUERipper/frmCUERipper.Designer.cs b/CUERipper/frmCUERipper.Designer.cs index 8eb749d..249b70a 100644 --- a/CUERipper/frmCUERipper.Designer.cs +++ b/CUERipper/frmCUERipper.Designer.cs @@ -30,13 +30,13 @@ namespace CUERipper { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmCUERipper)); + CUEControls.RectRadius rectRadius8 = new CUEControls.RectRadius(); CUEControls.RectRadius rectRadius1 = new CUEControls.RectRadius(); CUEControls.RectRadius rectRadius2 = new CUEControls.RectRadius(); CUEControls.RectRadius rectRadius3 = new CUEControls.RectRadius(); CUEControls.RectRadius rectRadius4 = new CUEControls.RectRadius(); CUEControls.RectRadius rectRadius5 = new CUEControls.RectRadius(); CUEControls.RectRadius rectRadius6 = new CUEControls.RectRadius(); - CUEControls.RectRadius rectRadius7 = new CUEControls.RectRadius(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); this.toolStripStatusLabelMusicBrainz = new System.Windows.Forms.ToolStripStatusLabel(); @@ -328,11 +328,11 @@ namespace CUERipper this.bnComboBoxLosslessOrNot.ImageList = null; resources.ApplyResources(this.bnComboBoxLosslessOrNot, "bnComboBoxLosslessOrNot"); this.bnComboBoxLosslessOrNot.Name = "bnComboBoxLosslessOrNot"; - rectRadius1.BottomLeft = 2; - rectRadius1.BottomRight = 2; - rectRadius1.TopLeft = 2; - rectRadius1.TopRight = 6; - this.bnComboBoxLosslessOrNot.Radius = rectRadius1; + rectRadius8.BottomLeft = 2; + rectRadius8.BottomRight = 2; + rectRadius8.TopLeft = 2; + rectRadius8.TopRight = 6; + this.bnComboBoxLosslessOrNot.Radius = rectRadius8; this.bnComboBoxLosslessOrNot.SelectedValueChanged += new System.EventHandler(this.bnComboBoxLosslessOrNot_SelectedValueChanged); // // losslessOrNotBindingSource @@ -353,11 +353,11 @@ namespace CUERipper this.bnComboBoxEncoder.ImageList = null; resources.ApplyResources(this.bnComboBoxEncoder, "bnComboBoxEncoder"); this.bnComboBoxEncoder.Name = "bnComboBoxEncoder"; - rectRadius2.BottomLeft = 2; - rectRadius2.BottomRight = 2; - rectRadius2.TopLeft = 2; - rectRadius2.TopRight = 6; - this.bnComboBoxEncoder.Radius = rectRadius2; + rectRadius1.BottomLeft = 2; + rectRadius1.BottomRight = 2; + rectRadius1.TopLeft = 2; + rectRadius1.TopRight = 6; + this.bnComboBoxEncoder.Radius = rectRadius1; this.bnComboBoxEncoder.SelectedValueChanged += new System.EventHandler(this.bnComboBoxEncoder_SelectedValueChanged); // // encodersBindingSource @@ -380,11 +380,11 @@ namespace CUERipper this.bnComboBoxFormat.ImageList = null; resources.ApplyResources(this.bnComboBoxFormat, "bnComboBoxFormat"); this.bnComboBoxFormat.Name = "bnComboBoxFormat"; - rectRadius3.BottomLeft = 2; - rectRadius3.BottomRight = 2; - rectRadius3.TopLeft = 2; - rectRadius3.TopRight = 6; - this.bnComboBoxFormat.Radius = rectRadius3; + rectRadius2.BottomLeft = 2; + rectRadius2.BottomRight = 2; + rectRadius2.TopLeft = 2; + rectRadius2.TopRight = 6; + this.bnComboBoxFormat.Radius = rectRadius2; this.bnComboBoxFormat.SelectedValueChanged += new System.EventHandler(this.bnComboBoxFormat_SelectedValueChanged); // // formatsBindingSource @@ -406,11 +406,11 @@ namespace CUERipper this.bnComboBoxImage.ImageList = null; resources.ApplyResources(this.bnComboBoxImage, "bnComboBoxImage"); this.bnComboBoxImage.Name = "bnComboBoxImage"; - rectRadius4.BottomLeft = 2; - rectRadius4.BottomRight = 2; - rectRadius4.TopLeft = 2; - rectRadius4.TopRight = 6; - this.bnComboBoxImage.Radius = rectRadius4; + rectRadius3.BottomLeft = 2; + rectRadius3.BottomRight = 2; + rectRadius3.TopLeft = 2; + rectRadius3.TopRight = 6; + this.bnComboBoxImage.Radius = rectRadius3; this.bnComboBoxImage.SelectedValueChanged += new System.EventHandler(this.bnComboBoxImage_SelectedValueChanged); // // cUEStylesBindingSource @@ -550,11 +550,11 @@ namespace CUERipper this.bnComboBoxRelease.ImageKeyMember = "ImageKey"; this.bnComboBoxRelease.ImageList = this.imageListMetadataSource; this.bnComboBoxRelease.Name = "bnComboBoxRelease"; - rectRadius5.BottomLeft = 2; - rectRadius5.BottomRight = 2; - rectRadius5.TopLeft = 2; - rectRadius5.TopRight = 6; - this.bnComboBoxRelease.Radius = rectRadius5; + rectRadius4.BottomLeft = 2; + rectRadius4.BottomRight = 2; + rectRadius4.TopLeft = 2; + rectRadius4.TopRight = 6; + this.bnComboBoxRelease.Radius = rectRadius4; this.bnComboBoxRelease.SelectedValueChanged += new System.EventHandler(this.bnComboBoxRelease_SelectedValueChanged); // // releasesBindingSource @@ -588,11 +588,11 @@ namespace CUERipper this.bnComboBoxDrives.ImageKeyMember = "ImageKey"; this.bnComboBoxDrives.ImageList = this.imageListMetadataSource; this.bnComboBoxDrives.Name = "bnComboBoxDrives"; - rectRadius6.BottomLeft = 2; - rectRadius6.BottomRight = 2; - rectRadius6.TopLeft = 2; - rectRadius6.TopRight = 6; - this.bnComboBoxDrives.Radius = rectRadius6; + rectRadius5.BottomLeft = 2; + rectRadius5.BottomRight = 2; + rectRadius5.TopLeft = 2; + rectRadius5.TopRight = 6; + this.bnComboBoxDrives.Radius = rectRadius5; this.bnComboBoxDrives.SelectedIndexChanged += new System.EventHandler(this.bnComboBoxDrives_SelectedIndexChanged); // // bnComboBoxOutputFormat @@ -603,11 +603,11 @@ namespace CUERipper resources.ApplyResources(this.bnComboBoxOutputFormat, "bnComboBoxOutputFormat"); this.bnComboBoxOutputFormat.ImageList = null; this.bnComboBoxOutputFormat.Name = "bnComboBoxOutputFormat"; - rectRadius7.BottomLeft = 2; - rectRadius7.BottomRight = 2; - rectRadius7.TopLeft = 2; - rectRadius7.TopRight = 6; - this.bnComboBoxOutputFormat.Radius = rectRadius7; + rectRadius6.BottomLeft = 2; + rectRadius6.BottomRight = 2; + rectRadius6.TopLeft = 2; + rectRadius6.TopRight = 6; + this.bnComboBoxOutputFormat.Radius = rectRadius6; this.bnComboBoxOutputFormat.TabStop = false; this.bnComboBoxOutputFormat.DropDown += new System.EventHandler(this.bnComboBoxOutputFormat_DroppedDown); this.bnComboBoxOutputFormat.TextChanged += new System.EventHandler(this.bnComboBoxOutputFormat_TextChanged); diff --git a/CUERipper/frmCUERipper.cs b/CUERipper/frmCUERipper.cs index cffb544..8d2b0b5 100644 --- a/CUERipper/frmCUERipper.cs +++ b/CUERipper/frmCUERipper.cs @@ -422,8 +422,8 @@ namespace CUERipper this.Invoke((MethodInvoker)delegate() { DialogResult dlgRes = audioSource.FailedSectors.PopulationCount() != 0 ? - MessageBox.Show(this, cueSheet.GenerateAccurateRipStatus() + (canFix ? "\n" + Properties.Resources.DoneRippingRepair : "") + ".", Properties.Resources.DoneRippingErrors, MessageBoxButtons.OK, MessageBoxIcon.Error) : - MessageBox.Show(this, cueSheet.GenerateAccurateRipStatus() + ".", Properties.Resources.DoneRipping, MessageBoxButtons.OK, MessageBoxIcon.Information); + MessageBox.Show(this, cueSheet.GenerateVerifyStatus() + (canFix ? "\n" + Properties.Resources.DoneRippingRepair : "") + ".", Properties.Resources.DoneRippingErrors, MessageBoxButtons.OK, MessageBoxIcon.Error) : + MessageBox.Show(this, cueSheet.GenerateVerifyStatus() + ".", Properties.Resources.DoneRipping, MessageBoxButtons.OK, MessageBoxIcon.Information); }); } catch (StopException) diff --git a/CUERipper/frmCUERipper.resx b/CUERipper/frmCUERipper.resx index ffb9725..4e4f083 100644 --- a/CUERipper/frmCUERipper.resx +++ b/CUERipper/frmCUERipper.resx @@ -121,6 +121,31 @@ 222, 95 + + 0, 424 + + + 664, 25 + + + + 12 + + + statusStrip1 + + + statusStrip1 + + + System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + 487, 20 @@ -173,30 +198,36 @@ toolStripStatusAr - - 0, 424 + + 357, 17 + + + + Fill - - 664, 25 + + 0, 0 - - - 12 + + 656, 158 - - statusStrip1 + + 7 - - statusStrip1 + + Double-click to edit track names - - System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + listTracks - - $this + + System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 1 + + panel4 + + + 0 1 @@ -234,37 +265,6 @@ 70 - - - Fill - - - 0, 0 - - - 656, 158 - - - 7 - - - 357, 17 - - - Double-click to edit track names - - - listTracks - - - System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel4 - - - 0 - Top, Left, Right @@ -415,6 +415,174 @@ 12 + + buttonEncoderSettings + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 0 + + + checkBoxTestAndCopy + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 1 + + + bnComboBoxLosslessOrNot + + + CUEControls.ImgComboBox, CUEControls, Version=2.1.5.0, Culture=neutral, PublicKeyToken=null + + + groupBoxSettings + + + 2 + + + bnComboBoxEncoder + + + CUEControls.ImgComboBox, CUEControls, Version=2.1.5.0, Culture=neutral, PublicKeyToken=null + + + groupBoxSettings + + + 3 + + + labelSecureMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 4 + + + bnComboBoxFormat + + + CUEControls.ImgComboBox, CUEControls, Version=2.1.5.0, Culture=neutral, PublicKeyToken=null + + + groupBoxSettings + + + 5 + + + labelEncoderMinMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 6 + + + bnComboBoxImage + + + CUEControls.ImgComboBox, CUEControls, Version=2.1.5.0, Culture=neutral, PublicKeyToken=null + + + groupBoxSettings + + + 7 + + + labelEncoderMaxMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 8 + + + labelEncoderMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 9 + + + trackBarEncoderMode + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 10 + + + trackBarSecureMode + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 11 + + + Left + + + 0, 0 + + + 339, 136 + + + 11 + + + groupBoxSettings + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 2 + Flat @@ -502,6 +670,9 @@ 2 + + 210, 56 + 1217, 56 @@ -781,30 +952,6 @@ 11 - - Left - - - 0, 0 - - - 339, 136 - - - 11 - - - groupBoxSettings - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - 2 - 882, 56 @@ -816,7 +963,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABy - CQAAAk1TRnQBSQFMAgEBBAEAAcwBAgHMAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CQAAAk1TRnQBSQFMAgEBBAEAAeQBAgHkAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -871,15 +1018,12 @@ 624, 17 - - 3, 91 - 454, 17 - - 789, 17 - + + 3, 91 + 170, 23 @@ -898,12 +1042,27 @@ 4 - - 3, 64 - + + 960, 17 + + + 624, 17 + + + 454, 17 + + + 789, 17 + + + 789, 17 + 356, 56 + + 3, 64 + 170, 23 @@ -925,6 +1084,9 @@ 3 + + 356, 56 + Fill @@ -952,6 +1114,9 @@ 1 + + 357, 17 + Top, Left, Right @@ -966,7 +1131,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAY - EgAAAk1TRnQBSQFMAgEBCwEAAcwBAgHMAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + EgAAAk1TRnQBSQFMAgEBCwEAAeQBAgHkAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -1133,24 +1298,6 @@ 0 - - 1 - - - Value - - - 450 - - - 0 - - - Name - - - 140 - Fill @@ -1178,6 +1325,24 @@ 1 + + 1 + + + Value + + + 450 + + + 0 + + + Name + + + 140 + 6, 57 @@ -1445,21 +1610,6 @@ 3 - - Fill - - - 339, 0 - - - 5, 5, 5, 5 - - - 141, 136 - - - 44 - panel7 @@ -1496,23 +1646,32 @@ 2 - - NoControl + + Fill - - 182, 57 + + 339, 0 - - 80, 24 + + 5, 5, 5, 5 - - 45 + + 141, 136 - - Eject + + 44 - - ImageBeforeText + + panel7 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 0 buttonEjectDisk @@ -1553,6 +1712,36 @@ 3 + + NoControl + + + 182, 57 + + + 80, 24 + + + 45 + + + Eject + + + ImageBeforeText + + + buttonEjectDisk + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel3 + + + 0 + Fill diff --git a/CUETools.AccurateRip/AccurateRip.cs b/CUETools.AccurateRip/AccurateRip.cs index ef9a8fc..4db908d 100644 --- a/CUETools.AccurateRip/AccurateRip.cs +++ b/CUETools.AccurateRip/AccurateRip.cs @@ -1037,7 +1037,8 @@ namespace CUETools.AccurateRip public void GenerateFullLog(TextWriter sw, bool verbose, string id) { - sw.WriteLine("[AccurateRip ID: {0}] {1}.", id, ARStatus ?? "found"); + if (ExceptionStatus != WebExceptionStatus.Pending) + sw.WriteLine("[AccurateRip ID: {0}] {1}.", id, ARStatus ?? "found"); if (ExceptionStatus == WebExceptionStatus.Success) { if (verbose) diff --git a/CUETools.CTDB/CUEToolsDB.cs b/CUETools.CTDB/CUEToolsDB.cs index 654977b..772973b 100644 --- a/CUETools.CTDB/CUEToolsDB.cs +++ b/CUETools.CTDB/CUEToolsDB.cs @@ -527,6 +527,50 @@ namespace CUETools.CTDB } } + public int GetConfidence(int iTrack) + { + if (this.QueryExceptionStatus != WebExceptionStatus.Success) + return 0; + + int conf = 0; + foreach (DBEntry entry in this.Entries) + { + if (!entry.hasErrors) + { + conf += entry.conf; + continue; + } + if (entry.canRecover) + { + var tri = this.TOC[this.TOC.FirstAudio + iTrack]; + var tr0 = this.TOC[this.TOC.FirstAudio]; + var min = (int)(tri.Start - tr0.Start) * 588; + var max = (int)(tri.End + 1 - tr0.Start) * 588; + if (0 == entry.repair.GetAffectedSectorsCount(min, max)) + conf += entry.conf; + continue; + } + if (entry.trackcrcs != null) + { + if (this.verify.TrackCRC(iTrack + 1, -entry.offset) == entry.trackcrcs[iTrack]) + { + conf += entry.conf; + continue; + } + const int _arOffsetRange = 5 * 588 - 1; + for (int oi = -_arOffsetRange; oi <= _arOffsetRange; oi++) + { + if (this.verify.TrackCRC(iTrack + 1, oi) == entry.trackcrcs[iTrack]) + { + conf += entry.conf; + break; + } + } + } + } + return conf; + } + public void GenerateLog(TextWriter sw, bool old) { if (this.DBStatus != null || this.Total == 0) diff --git a/CUETools.Codecs.FLACCL/FLACCLWriter.cs b/CUETools.Codecs.FLACCL/FLACCLWriter.cs index 2970e40..d8a21f9 100644 --- a/CUETools.Codecs.FLACCL/FLACCLWriter.cs +++ b/CUETools.Codecs.FLACCL/FLACCLWriter.cs @@ -353,7 +353,6 @@ namespace CUETools.Codecs.FLACCL { if (inited) { - _IO.Close(); if (task2.frameCount > 0) { if (cpu_tasks != null) @@ -374,6 +373,10 @@ namespace CUETools.Codecs.FLACCL task.Dispose(); openCLProgram.Dispose(); OCLMan.Dispose(); + // For some reason, if i move _IO.Close before OCLMan.Dispose, + // interrupting conversion takes many seconds - Delete() just + // hangs somewhere in the vicinity of File.Delete(). + _IO.Close(); inited = false; } diff --git a/CUETools.Processor/CUEConfigAdvanced.cs b/CUETools.Processor/CUEConfigAdvanced.cs index 6348837..a60bac7 100644 --- a/CUETools.Processor/CUEConfigAdvanced.cs +++ b/CUETools.Processor/CUEConfigAdvanced.cs @@ -85,6 +85,12 @@ namespace CUETools.Processor [DefaultValue(false), Category("CTDB"), DisplayName("Detailed log")] public bool DetailedCTDBLog { get; set; } + [DefaultValue(true), Category("Tagging"), DisplayName("Write CTDB tags on encode")] + public bool WriteCTDBTagsOnEncode { get; set; } + + [DefaultValue(false), Category("Tagging"), DisplayName("Write CTDB tags on verify")] + public bool WriteCTDBTagsOnVerify { get; set; } + [DefaultValue(false), Category("Tagging"), DisplayName("Use id3v2.4 instead of id3v2.3")] public bool UseId3v24 { get; set; } diff --git a/CUETools.Processor/CUESheet.cs b/CUETools.Processor/CUESheet.cs index 634c56d..e39c003 100644 --- a/CUETools.Processor/CUESheet.cs +++ b/CUETools.Processor/CUESheet.cs @@ -2400,7 +2400,7 @@ namespace CUETools.Processor _CUEToolsDB.GenerateLog(sw, _config.advanced.DetailedCTDBLog); } - public string GenerateAccurateRipStatus() + public string GenerateVerifyStatus() { string prefix = ""; if (hdcdDecoder != null && string.Format("{0:s}", hdcdDecoder) != "") @@ -2465,6 +2465,25 @@ namespace CUETools.Processor } } + public void GenerateCTDBTagsForTrack(NameValueCollection tags, int iTrack, string prefix) + { + tags.Add(String.Format("{0}CTDBTRACKCONFIDENCE", prefix), String.Format("{0}/{1}", _CUEToolsDB.GetConfidence(iTrack), _CUEToolsDB.Total)); + } + + public void GenerateCTDBTags(NameValueCollection tags, int iTrack) + { + //tags.Add("ACCURATERIPID", _accurateRipId ?? AccurateRipVerify.CalculateAccurateRipId(_toc)); + tags.Add(String.Format("CTDBDISCCONFIDENCE"), String.Format("{0}/{1}", _CUEToolsDB.Confidence, _CUEToolsDB.Total)); + if (iTrack != -1) + GenerateCTDBTagsForTrack(tags, iTrack, ""); + else + for (iTrack = 0; iTrack < TrackCount; iTrack++) + { + GenerateCTDBTagsForTrack(tags, iTrack, + String.Format("cue_track{0:00}_", iTrack + 1)); + } + } + public void CleanupTags(NameValueCollection tags, string substring) { string[] keys = tags.AllKeys; @@ -2590,7 +2609,7 @@ namespace CUETools.Processor { var now = DateTime.Now; var entry = OpenLocalDBEntry(); - entry.Status = this.GenerateAccurateRipStatus(); + entry.Status = this.GenerateVerifyStatus(); entry.ARConfidence = isUsingAccurateRip ? _arVerify.WorstConfidence() : 0; entry.CTDBConfidence = isUsingCUEToolsDB && !isUsingCUEToolsDBFix ? CTDB.Confidence : 0; entry.Log = AccurateRipLog; @@ -2987,18 +3006,20 @@ namespace CUETools.Processor public string WriteReport() { - if (isUsingAccurateRip) + if (isUsingAccurateRip || isUsingCUEToolsDB) { ShowProgress((string)"Generating AccurateRip report...", 0, null, null); - if (_action == CUEAction.Verify && _config.writeArTagsOnVerify && _writeOffset == 0 && !_isArchive && !_isCD) + if (_action == CUEAction.Verify && _writeOffset == 0 && !_isArchive && !_isCD) { - uint tracksMatch; - int bestOffset; - FindBestOffset(1, true, out tracksMatch, out bestOffset); - - if (_hasEmbeddedCUESheet) + if (_config.writeArTagsOnVerify && + isUsingAccurateRip && + _arVerify.ExceptionStatus == WebExceptionStatus.Success) { - if (_fileInfo is TagLib.Flac.File) + uint tracksMatch; + int bestOffset; + FindBestOffset(1, true, out tracksMatch, out bestOffset); + + if (_hasEmbeddedCUESheet) { NameValueCollection tags = Tagging.Analyze(_fileInfo); CleanupTags(tags, "ACCURATERIP"); @@ -3006,11 +3027,9 @@ namespace CUETools.Processor if (Tagging.UpdateTags(_fileInfo, tags, _config)) _fileInfo.Save(); } - } - else if (_hasTrackFilenames) - { - for (int iTrack = 0; iTrack < TrackCount; iTrack++) - if (_tracks[iTrack]._fileInfo is TagLib.Flac.File) + else if (_hasTrackFilenames) + { + for (int iTrack = 0; iTrack < TrackCount; iTrack++) { NameValueCollection tags = Tagging.Analyze(_tracks[iTrack]._fileInfo); CleanupTags(tags, "ACCURATERIP"); @@ -3018,6 +3037,34 @@ namespace CUETools.Processor if (Tagging.UpdateTags(_tracks[iTrack]._fileInfo, tags, _config)) _tracks[iTrack]._fileInfo.Save(); } + } + } + + if (_config.advanced.WriteCTDBTagsOnVerify && + isUsingCUEToolsDB && + _CUEToolsDB.QueryExceptionStatus == WebExceptionStatus.Success) + { + if (_hasEmbeddedCUESheet) + { + NameValueCollection tags = Tagging.Analyze(_fileInfo); + CleanupTags(tags, "CTDBDISCCONFIDENCE"); + CleanupTags(tags, "CTDBTRACKCONFIDENCE"); + GenerateCTDBTags(tags, -1); + if (Tagging.UpdateTags(_fileInfo, tags, _config)) + _fileInfo.Save(); + } + else if (_hasTrackFilenames) + { + for (int iTrack = 0; iTrack < TrackCount; iTrack++) + { + NameValueCollection tags = Tagging.Analyze(_tracks[iTrack]._fileInfo); + CleanupTags(tags, "CTDBDISCCONFIDENCE"); + CleanupTags(tags, "CTDBTRACKCONFIDENCE"); + GenerateCTDBTags(tags, iTrack); + if (Tagging.UpdateTags(_tracks[iTrack]._fileInfo, tags, _config)) + _tracks[iTrack]._fileInfo.Save(); + } + } } } @@ -3039,7 +3086,7 @@ namespace CUETools.Processor WriteText(Path.ChangeExtension(_outputPath, ".toc"), CUESheetLogWriter.GetTOCContents(this)); } } - return GenerateAccurateRipStatus(); + return GenerateVerifyStatus(); } private NameValueCollection GenerateTrackTags(int iTrack, int bestOffset) @@ -3110,6 +3157,13 @@ namespace CUETools.Processor _arVerify.ExceptionStatus == WebExceptionStatus.Success) GenerateAccurateRipTags(destTags, bestOffset, iTrack); + if (_config.advanced.WriteCTDBTagsOnEncode && + _action == CUEAction.Encode && + isUsingCUEToolsDB && + !isUsingCUEToolsDBFix && + _CUEToolsDB.QueryExceptionStatus == WebExceptionStatus.Success) + GenerateCTDBTags(destTags, iTrack); + if (_config.advanced.WriteCDTOCTag) destTags.Add("CDTOC", _toc.TAG); @@ -3200,6 +3254,14 @@ namespace CUETools.Processor _arVerify.ExceptionStatus == WebExceptionStatus.Success) GenerateAccurateRipTags(destTags, bestOffset, -1); + if (fWithCUE && + _config.advanced.WriteCTDBTagsOnEncode && + _action == CUEAction.Encode && + isUsingCUEToolsDB && + !isUsingCUEToolsDBFix && + _CUEToolsDB.QueryExceptionStatus == WebExceptionStatus.Success) + GenerateCTDBTags(destTags, -1); + return destTags; } diff --git a/CUETools.Processor/CUESheetLogWriter.cs b/CUETools.Processor/CUESheetLogWriter.cs index eaadfe0..6acd67e 100644 --- a/CUETools.Processor/CUESheetLogWriter.cs +++ b/CUETools.Processor/CUESheetLogWriter.cs @@ -35,6 +35,7 @@ namespace CUETools.Processor if (!sheet.Processed) { if (sheet.IsUsingCUEToolsDB) sheet.GenerateCTDBLog(writer); + if (sheet.IsUsingAccurateRip) writer.WriteLine("[AccurateRip ID: {0}] {1}.", sheet.AccurateRipId ?? AccurateRipVerify.CalculateAccurateRipId(sheet.TOC), sheet.ArVerify.ARStatus ?? "found"); return; } diff --git a/CUETools.Processor/CUEToolsProfile.cs b/CUETools.Processor/CUEToolsProfile.cs index 164c06d..5e91c2d 100644 --- a/CUETools.Processor/CUEToolsProfile.cs +++ b/CUETools.Processor/CUEToolsProfile.cs @@ -28,10 +28,10 @@ namespace CUETools.Processor { _config.Load(sr); - _useFreeDb = sr.LoadBoolean("FreedbLookup") ?? _useFreeDb; - _useMusicBrainz = sr.LoadBoolean("MusicBrainzLookup") ?? _useMusicBrainz; - _useAccurateRip = sr.LoadBoolean("AccurateRipLookup") ?? _useAccurateRip; - _useCUEToolsDB = sr.LoadBoolean("CUEToolsDBLookup") ?? _useCUEToolsDB; + _editTags = sr.LoadBoolean("MusicBrainzLookup") ?? _editTags; + _CTDBVerifyOnEncode = sr.LoadBoolean("CTDBVerifyOnEncode") ?? _CTDBVerifyOnEncode; + _ARVerifyOnEncode = sr.LoadBoolean("AccurateRipLookup") ?? _ARVerifyOnEncode; + _CTDBVerify = sr.LoadBoolean("CUEToolsDBLookup") ?? _CTDBVerify; _useLocalDB = sr.LoadBoolean("LocalDBLookup") ?? _useLocalDB; _skipRecent = sr.LoadBoolean("SkipRecent") ?? _skipRecent; _outputAudioType = (AudioEncoderType?)sr.LoadInt32("OutputAudioType", null, null) ?? _outputAudioType; @@ -47,12 +47,12 @@ namespace CUETools.Processor { _config.Save(sw); - sw.Save("FreedbLookup", _useFreeDb); - sw.Save("MusicBrainzLookup", _useMusicBrainz); - sw.Save("AccurateRipLookup", _useAccurateRip); + sw.Save("MusicBrainzLookup", _editTags); + sw.Save("CTDBVerifyOnEncode", _CTDBVerifyOnEncode); + sw.Save("AccurateRipLookup", _ARVerifyOnEncode); sw.Save("LocalDBLookup", _useLocalDB); sw.Save("SkipRecent", _skipRecent); - sw.Save("CUEToolsDBLookup", _useCUEToolsDB); + sw.Save("CUEToolsDBLookup", _CTDBVerify); sw.Save("OutputAudioType", (int)_outputAudioType); sw.Save("OutputAudioFmt", _outputAudioFormat); sw.Save("AccurateRipMode", (int)_action); @@ -68,7 +68,7 @@ namespace CUETools.Processor public CUEAction _action = CUEAction.Encode; public CUEStyle _CUEStyle = CUEStyle.SingleFileWithCUE; public int _writeOffset = 0; - public bool _useFreeDb = true, _useMusicBrainz = true, _useAccurateRip = true, _useCUEToolsDB = true, _useLocalDB = true, _skipRecent = false; + public bool _editTags = true, _CTDBVerifyOnEncode = true, _ARVerifyOnEncode = true, _CTDBVerify = true, _useLocalDB = true, _skipRecent = false; public string _name; } diff --git a/CUETools/CUETools.csproj b/CUETools/CUETools.csproj index 5208e5a..391ede3 100644 --- a/CUETools/CUETools.csproj +++ b/CUETools/CUETools.csproj @@ -313,6 +313,7 @@ + diff --git a/CUETools/CUETools.sln b/CUETools/CUETools.sln index 82bc20b..6eea0f6 100644 --- a/CUETools/CUETools.sln +++ b/CUETools/CUETools.sln @@ -1124,10 +1124,10 @@ Global {0E404B8B-FF82-427F-ADE4-77B54A29219F} = {5D823ABE-D280-4800-824C-2633CBAB2EA9} {816D964C-9772-46C5-AF1D-49E8C78A1E7C} = {86BBE3FC-E4E5-4190-B675-C6745EAF4E64} {0AC7691C-562A-4879-8A11-6C7890BF659B} = {86BBE3FC-E4E5-4190-B675-C6745EAF4E64} + {8DD1E84B-0B03-4C0B-9B42-1E49F75E7CB1} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} + {758285C6-1ACA-458A-9906-EE6701D5AF87} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} + {5ADCFD6D-BFEA-4B10-BB45-9083BBB56AF4} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} {6B143A39-C7B2-4743-9917-92262C60E9A6} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} {7EA4160F-3BBD-47C9-A38C-4053B64B24A8} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} - {758285C6-1ACA-458A-9906-EE6701D5AF87} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} - {8DD1E84B-0B03-4C0B-9B42-1E49F75E7CB1} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} - {5ADCFD6D-BFEA-4B10-BB45-9083BBB56AF4} = {7E402406-7E51-4F0D-8209-60824C1CD6E8} EndGlobalSection EndGlobal diff --git a/CUETools/Properties/Resources.Designer.cs b/CUETools/Properties/Resources.Designer.cs index 43a7f30..50d3f3f 100644 --- a/CUETools/Properties/Resources.Designer.cs +++ b/CUETools/Properties/Resources.Designer.cs @@ -130,6 +130,16 @@ namespace JDP.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap card__pencil { + get { + object obj = ResourceManager.GetObject("card--pencil", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// diff --git a/CUETools/Properties/Resources.resx b/CUETools/Properties/Resources.resx index 986d7cc..33342a0 100644 --- a/CUETools/Properties/Resources.resx +++ b/CUETools/Properties/Resources.resx @@ -118,83 +118,41 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\freedb16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\basket.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\icon-wv.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\flac.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\AR.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\cdrepair.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\info2.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\find.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\cog.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\flac.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Verify - - - ..\Resources\more\icons\folder_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\musicbrainz.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\more\icons\folder_feed.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\settings.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\ipod_sound.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Stop - - ..\Resources\cdrepair.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\users.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\world_go.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\freedb.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\picture.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\more\icons\folder_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\freedb.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\world_go.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - &Go + + ..\Resources\settings.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\wav.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\find.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\mp3.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\wv.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\cue.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\ape.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\cue2.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\musicbrainz.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -202,38 +160,68 @@ ..\Resources\link_go.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\basket.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\wma.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\information.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\calendar.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\tta.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\more\icons\folder_feed.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\ogg.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\pictures.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\cue2.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\resources\accuraterip_16.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\wave.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\ipod_sound.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\AR.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\cue3.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\freedb.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\report.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\ape.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\freedb.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ogg.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\disk.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\tta.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\flac.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\flac.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Verify + + + ..\Resources\freedb16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\puzzle--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\more\icons\folder_page.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\wv.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\more\icons\folder_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\report.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\more\icons\folder.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -241,41 +229,56 @@ ..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\disk.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\images.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\resources\accuraterip_16.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\cue.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\alarm-clock--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\alarm-clock.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\calendar.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + &Go ..\Resources\puzzle.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\users.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\info2.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\images.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\cue3.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\pictures.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\wav.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\mp3.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\alarm-clock.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\images-question.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\picture.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\cdrepair.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\cog.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\more\icons\folder_page.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\cdrepair.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\information.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\alarm-clock--minus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\wma.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\more\card--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/CUETools/frmBatch.cs b/CUETools/frmBatch.cs index 565e6fc..801a374 100644 --- a/CUETools/frmBatch.cs +++ b/CUETools/frmBatch.cs @@ -125,7 +125,7 @@ namespace JDP if (_profile._action == CUEAction.CreateDummyCUE) throw new Exception("CreateDummyCUE action not yet supported in commandline mode."); - bool useAR = _profile._action == CUEAction.Verify || _profile._useAccurateRip; + bool useAR = _profile._action == CUEAction.Verify || _profile._ARVerifyOnEncode; cueSheet.Action = _profile._action; cueSheet.OutputStyle = _profile._CUEStyle; diff --git a/CUETools/frmCUETools.Designer.cs b/CUETools/frmCUETools.Designer.cs index 05816e9..b79923a 100644 --- a/CUETools/frmCUETools.Designer.cs +++ b/CUETools/frmCUETools.Designer.cs @@ -38,17 +38,17 @@ namespace JDP { this.fileSystemTreeView1 = new CUEControls.FileSystemTreeView(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.groupBoxMode = new System.Windows.Forms.GroupBox(); - this.tableLayoutPanelVerifyMode = new System.Windows.Forms.TableLayoutPanel(); - this.checkBoxSkipRecent = new System.Windows.Forms.CheckBox(); - this.checkBoxVerifyUseLocal = new System.Windows.Forms.CheckBox(); - this.checkBoxVerifyUseCDRepair = new System.Windows.Forms.CheckBox(); this.tableLayoutPanelCUEStyle = new System.Windows.Forms.TableLayoutPanel(); - this.checkBoxUseAccurateRip = new System.Windows.Forms.CheckBox(); - this.checkBoxUseFreeDb = new System.Windows.Forms.CheckBox(); this.rbTracks = new System.Windows.Forms.RadioButton(); this.rbEmbedCUE = new System.Windows.Forms.RadioButton(); this.rbSingleFile = new System.Windows.Forms.RadioButton(); - this.checkBoxUseMusicBrainz = new System.Windows.Forms.CheckBox(); + this.checkBoxEditTags = new System.Windows.Forms.CheckBox(); + this.checkBoxARVerifyOnEncode = new System.Windows.Forms.CheckBox(); + this.checkBoxCTDBVerifyOnEncode = new System.Windows.Forms.CheckBox(); + this.tableLayoutPanelVerifyMode = new System.Windows.Forms.TableLayoutPanel(); + this.checkBoxSkipRecent = new System.Windows.Forms.CheckBox(); + this.checkBoxVerifyUseLocal = new System.Windows.Forms.CheckBox(); + this.checkBoxCTDBVerify = new System.Windows.Forms.CheckBox(); this.toolStripCorrectorFormat = new System.Windows.Forms.ToolStrip(); this.toolStripButtonCorrectorOverwrite = new System.Windows.Forms.ToolStripButton(); this.toolStripDropDownButtonCorrectorMode = new System.Windows.Forms.ToolStripDropDownButton(); @@ -138,8 +138,8 @@ namespace JDP { this.grpInput.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); this.groupBoxMode.SuspendLayout(); - this.tableLayoutPanelVerifyMode.SuspendLayout(); this.tableLayoutPanelCUEStyle.SuspendLayout(); + this.tableLayoutPanelVerifyMode.SuspendLayout(); this.toolStripCorrectorFormat.SuspendLayout(); this.grpAudioOutput.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.trackBarEncoderMode)).BeginInit(); @@ -303,73 +303,24 @@ namespace JDP { // // groupBoxMode // - this.groupBoxMode.Controls.Add(this.tableLayoutPanelVerifyMode); this.groupBoxMode.Controls.Add(this.tableLayoutPanelCUEStyle); this.groupBoxMode.Controls.Add(this.toolStripCorrectorFormat); + this.groupBoxMode.Controls.Add(this.tableLayoutPanelVerifyMode); resources.ApplyResources(this.groupBoxMode, "groupBoxMode"); this.groupBoxMode.Name = "groupBoxMode"; this.groupBoxMode.TabStop = false; // - // tableLayoutPanelVerifyMode - // - resources.ApplyResources(this.tableLayoutPanelVerifyMode, "tableLayoutPanelVerifyMode"); - this.tableLayoutPanelVerifyMode.Controls.Add(this.checkBoxSkipRecent, 2, 0); - this.tableLayoutPanelVerifyMode.Controls.Add(this.checkBoxVerifyUseLocal, 1, 0); - this.tableLayoutPanelVerifyMode.Controls.Add(this.checkBoxVerifyUseCDRepair, 0, 0); - this.tableLayoutPanelVerifyMode.Name = "tableLayoutPanelVerifyMode"; - // - // checkBoxSkipRecent - // - resources.ApplyResources(this.checkBoxSkipRecent, "checkBoxSkipRecent"); - this.checkBoxSkipRecent.Image = global::JDP.Properties.Resources.alarm_clock__minus; - this.checkBoxSkipRecent.Name = "checkBoxSkipRecent"; - this.toolTip1.SetToolTip(this.checkBoxSkipRecent, resources.GetString("checkBoxSkipRecent.ToolTip")); - this.checkBoxSkipRecent.UseVisualStyleBackColor = true; - // - // checkBoxVerifyUseLocal - // - resources.ApplyResources(this.checkBoxVerifyUseLocal, "checkBoxVerifyUseLocal"); - this.checkBoxVerifyUseLocal.Image = global::JDP.Properties.Resources.puzzle__arrow; - this.checkBoxVerifyUseLocal.Name = "checkBoxVerifyUseLocal"; - this.toolTip1.SetToolTip(this.checkBoxVerifyUseLocal, resources.GetString("checkBoxVerifyUseLocal.ToolTip")); - this.checkBoxVerifyUseLocal.UseVisualStyleBackColor = true; - // - // checkBoxVerifyUseCDRepair - // - resources.ApplyResources(this.checkBoxVerifyUseCDRepair, "checkBoxVerifyUseCDRepair"); - this.checkBoxVerifyUseCDRepair.Image = global::JDP.Properties.Resources.cdrepair1; - this.checkBoxVerifyUseCDRepair.Name = "checkBoxVerifyUseCDRepair"; - this.toolTip1.SetToolTip(this.checkBoxVerifyUseCDRepair, resources.GetString("checkBoxVerifyUseCDRepair.ToolTip")); - this.checkBoxVerifyUseCDRepair.UseVisualStyleBackColor = true; - // // tableLayoutPanelCUEStyle // resources.ApplyResources(this.tableLayoutPanelCUEStyle, "tableLayoutPanelCUEStyle"); - this.tableLayoutPanelCUEStyle.Controls.Add(this.checkBoxUseAccurateRip, 2, 4); - this.tableLayoutPanelCUEStyle.Controls.Add(this.checkBoxUseFreeDb, 1, 4); this.tableLayoutPanelCUEStyle.Controls.Add(this.rbTracks, 0, 2); this.tableLayoutPanelCUEStyle.Controls.Add(this.rbEmbedCUE, 0, 0); this.tableLayoutPanelCUEStyle.Controls.Add(this.rbSingleFile, 0, 1); - this.tableLayoutPanelCUEStyle.Controls.Add(this.checkBoxUseMusicBrainz, 0, 4); + this.tableLayoutPanelCUEStyle.Controls.Add(this.checkBoxEditTags, 0, 4); + this.tableLayoutPanelCUEStyle.Controls.Add(this.checkBoxARVerifyOnEncode, 2, 4); + this.tableLayoutPanelCUEStyle.Controls.Add(this.checkBoxCTDBVerifyOnEncode, 1, 4); this.tableLayoutPanelCUEStyle.Name = "tableLayoutPanelCUEStyle"; // - // checkBoxUseAccurateRip - // - resources.ApplyResources(this.checkBoxUseAccurateRip, "checkBoxUseAccurateRip"); - this.checkBoxUseAccurateRip.Image = global::JDP.Properties.Resources.AR; - this.checkBoxUseAccurateRip.Name = "checkBoxUseAccurateRip"; - this.toolTip1.SetToolTip(this.checkBoxUseAccurateRip, resources.GetString("checkBoxUseAccurateRip.ToolTip")); - this.checkBoxUseAccurateRip.UseVisualStyleBackColor = true; - this.checkBoxUseAccurateRip.CheckedChanged += new System.EventHandler(this.checkBoxUseAccurateRip_CheckedChanged); - // - // checkBoxUseFreeDb - // - resources.ApplyResources(this.checkBoxUseFreeDb, "checkBoxUseFreeDb"); - this.checkBoxUseFreeDb.Image = global::JDP.Properties.Resources.freedb16; - this.checkBoxUseFreeDb.Name = "checkBoxUseFreeDb"; - this.toolTip1.SetToolTip(this.checkBoxUseFreeDb, resources.GetString("checkBoxUseFreeDb.ToolTip")); - this.checkBoxUseFreeDb.UseVisualStyleBackColor = true; - // // rbTracks // resources.ApplyResources(this.rbTracks, "rbTracks"); @@ -399,13 +350,62 @@ namespace JDP { this.toolTip1.SetToolTip(this.rbSingleFile, resources.GetString("rbSingleFile.ToolTip")); this.rbSingleFile.UseVisualStyleBackColor = true; // - // checkBoxUseMusicBrainz + // checkBoxEditTags // - resources.ApplyResources(this.checkBoxUseMusicBrainz, "checkBoxUseMusicBrainz"); - this.checkBoxUseMusicBrainz.Image = global::JDP.Properties.Resources.musicbrainz; - this.checkBoxUseMusicBrainz.Name = "checkBoxUseMusicBrainz"; - this.toolTip1.SetToolTip(this.checkBoxUseMusicBrainz, resources.GetString("checkBoxUseMusicBrainz.ToolTip")); - this.checkBoxUseMusicBrainz.UseVisualStyleBackColor = true; + resources.ApplyResources(this.checkBoxEditTags, "checkBoxEditTags"); + this.checkBoxEditTags.Image = global::JDP.Properties.Resources.card__pencil; + this.checkBoxEditTags.Name = "checkBoxEditTags"; + this.toolTip1.SetToolTip(this.checkBoxEditTags, resources.GetString("checkBoxEditTags.ToolTip")); + this.checkBoxEditTags.UseVisualStyleBackColor = true; + // + // checkBoxARVerifyOnEncode + // + resources.ApplyResources(this.checkBoxARVerifyOnEncode, "checkBoxARVerifyOnEncode"); + this.checkBoxARVerifyOnEncode.Image = global::JDP.Properties.Resources.AR; + this.checkBoxARVerifyOnEncode.Name = "checkBoxARVerifyOnEncode"; + this.toolTip1.SetToolTip(this.checkBoxARVerifyOnEncode, resources.GetString("checkBoxARVerifyOnEncode.ToolTip")); + this.checkBoxARVerifyOnEncode.UseVisualStyleBackColor = true; + this.checkBoxARVerifyOnEncode.CheckedChanged += new System.EventHandler(this.checkBoxUseAccurateRip_CheckedChanged); + // + // checkBoxCTDBVerifyOnEncode + // + resources.ApplyResources(this.checkBoxCTDBVerifyOnEncode, "checkBoxCTDBVerifyOnEncode"); + this.checkBoxCTDBVerifyOnEncode.Image = global::JDP.Properties.Resources.cdrepair1; + this.checkBoxCTDBVerifyOnEncode.Name = "checkBoxCTDBVerifyOnEncode"; + this.toolTip1.SetToolTip(this.checkBoxCTDBVerifyOnEncode, resources.GetString("checkBoxCTDBVerifyOnEncode.ToolTip")); + this.checkBoxCTDBVerifyOnEncode.UseVisualStyleBackColor = true; + // + // tableLayoutPanelVerifyMode + // + resources.ApplyResources(this.tableLayoutPanelVerifyMode, "tableLayoutPanelVerifyMode"); + this.tableLayoutPanelVerifyMode.Controls.Add(this.checkBoxSkipRecent, 2, 0); + this.tableLayoutPanelVerifyMode.Controls.Add(this.checkBoxVerifyUseLocal, 1, 0); + this.tableLayoutPanelVerifyMode.Controls.Add(this.checkBoxCTDBVerify, 0, 0); + this.tableLayoutPanelVerifyMode.Name = "tableLayoutPanelVerifyMode"; + // + // checkBoxSkipRecent + // + resources.ApplyResources(this.checkBoxSkipRecent, "checkBoxSkipRecent"); + this.checkBoxSkipRecent.Image = global::JDP.Properties.Resources.alarm_clock__minus; + this.checkBoxSkipRecent.Name = "checkBoxSkipRecent"; + this.toolTip1.SetToolTip(this.checkBoxSkipRecent, resources.GetString("checkBoxSkipRecent.ToolTip")); + this.checkBoxSkipRecent.UseVisualStyleBackColor = true; + // + // checkBoxVerifyUseLocal + // + resources.ApplyResources(this.checkBoxVerifyUseLocal, "checkBoxVerifyUseLocal"); + this.checkBoxVerifyUseLocal.Image = global::JDP.Properties.Resources.puzzle__arrow; + this.checkBoxVerifyUseLocal.Name = "checkBoxVerifyUseLocal"; + this.toolTip1.SetToolTip(this.checkBoxVerifyUseLocal, resources.GetString("checkBoxVerifyUseLocal.ToolTip")); + this.checkBoxVerifyUseLocal.UseVisualStyleBackColor = true; + // + // checkBoxCTDBVerify + // + resources.ApplyResources(this.checkBoxCTDBVerify, "checkBoxCTDBVerify"); + this.checkBoxCTDBVerify.Image = global::JDP.Properties.Resources.cdrepair1; + this.checkBoxCTDBVerify.Name = "checkBoxCTDBVerify"; + this.toolTip1.SetToolTip(this.checkBoxCTDBVerify, resources.GetString("checkBoxCTDBVerify.ToolTip")); + this.checkBoxCTDBVerify.UseVisualStyleBackColor = true; // // toolStripCorrectorFormat // @@ -1081,10 +1081,10 @@ namespace JDP { this.grpInput.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); this.groupBoxMode.ResumeLayout(false); - this.tableLayoutPanelVerifyMode.ResumeLayout(false); - this.tableLayoutPanelVerifyMode.PerformLayout(); this.tableLayoutPanelCUEStyle.ResumeLayout(false); this.tableLayoutPanelCUEStyle.PerformLayout(); + this.tableLayoutPanelVerifyMode.ResumeLayout(false); + this.tableLayoutPanelVerifyMode.PerformLayout(); this.toolStripCorrectorFormat.ResumeLayout(false); this.toolStripCorrectorFormat.PerformLayout(); this.grpAudioOutput.ResumeLayout(false); @@ -1203,11 +1203,11 @@ namespace JDP { private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemCorrectorModeLocateFiles; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemCorrectorModeChangeExtension; private System.Windows.Forms.ToolStripButton toolStripButtonCorrectorOverwrite; - private System.Windows.Forms.CheckBox checkBoxUseMusicBrainz; - private System.Windows.Forms.CheckBox checkBoxUseAccurateRip; - private System.Windows.Forms.CheckBox checkBoxUseFreeDb; + private System.Windows.Forms.CheckBox checkBoxEditTags; + private System.Windows.Forms.CheckBox checkBoxARVerifyOnEncode; + private System.Windows.Forms.CheckBox checkBoxCTDBVerifyOnEncode; private System.Windows.Forms.TableLayoutPanel tableLayoutPanelVerifyMode; - private System.Windows.Forms.CheckBox checkBoxVerifyUseCDRepair; + private System.Windows.Forms.CheckBox checkBoxCTDBVerify; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelCTDB; private System.Windows.Forms.CheckBox checkBoxVerifyUseLocal; private System.Windows.Forms.CheckBox checkBoxSkipRecent; diff --git a/CUETools/frmCUETools.cs b/CUETools/frmCUETools.cs index 524cfdc..8e57d0b 100644 --- a/CUETools/frmCUETools.cs +++ b/CUETools/frmCUETools.cs @@ -624,8 +624,8 @@ namespace JDP DialogResult dlgRes = DialogResult.OK; string status = null; bool outputAudio = action == CUEAction.Encode && audioEncoderType != AudioEncoderType.NoAudio; - bool useAR = action == CUEAction.Verify || (outputAudio && checkBoxUseAccurateRip.Checked); - bool useCUEToolsDB = action == CUEAction.Verify && checkBoxVerifyUseCDRepair.Checked; + bool useAR = action == CUEAction.Verify || (outputAudio && checkBoxARVerifyOnEncode.Checked); + bool useCUEToolsDB = (action == CUEAction.Verify && checkBoxCTDBVerify.Checked) || (outputAudio && checkBoxCTDBVerifyOnEncode.Checked); bool useLocalDB = action != CUEAction.Verify || checkBoxVerifyUseLocal.Checked; bool skipRecent = action == CUEAction.Verify && checkBoxSkipRecent.Checked; @@ -937,7 +937,7 @@ namespace JDP toolStripStatusLabelAR.Visible = useAR; toolStripStatusLabelCTDB.Visible = useCUEToolsDB; - if (_batchPaths.Count <= 1 && _batchProcessed == 0 && action == CUEAction.Encode && (checkBoxUseFreeDb.Checked || checkBoxUseMusicBrainz.Checked)) + if (_batchPaths.Count <= 1 && _batchProcessed == 0 && action == CUEAction.Encode && checkBoxEditTags.Checked) { frmChoice dlg = new frmChoice(); if (_choiceWidth != 0 && _choiceHeight != 0) @@ -1100,7 +1100,7 @@ namespace JDP //reportForm.Message = _batchReport.ToString(); //reportForm.ShowDialog(this); } - else if (useAR && cueSheet.Processed) + else if ((useAR || useCUEToolsDB) && cueSheet.Processed) { _batchReport.Append(CUESheetLogWriter.GetAccurateRipLog(cueSheet)); ReportState = true; @@ -1228,7 +1228,10 @@ namespace JDP private void SetupControls(bool running) { bool converting = (SelectedAction == CUEAction.Encode); - bool verifying = (SelectedAction == CUEAction.Verify || (SelectedAction == CUEAction.Encode && SelectedOutputAudioType != AudioEncoderType.NoAudio && checkBoxUseAccurateRip.Checked)); + bool verifying = SelectedAction == CUEAction.Verify || + (SelectedAction == CUEAction.Encode && + SelectedOutputAudioType != AudioEncoderType.NoAudio && + (checkBoxARVerifyOnEncode.Checked || checkBoxCTDBVerifyOnEncode.Checked)); //grpInput.Enabled = !running; toolStripMenu.Enabled = !running; fileSystemTreeView1.Enabled = !running; @@ -1342,10 +1345,10 @@ namespace JDP comboBoxOutputFormat.Text = _profile._outputTemplate ?? comboBoxOutputFormat.Items[0].ToString(); toolStripDropDownButtonProfile.Text = _profile._name; SelectedScript = _profile._script; - checkBoxUseFreeDb.Checked = _profile._useFreeDb; - checkBoxUseMusicBrainz.Checked = _profile._useMusicBrainz; - checkBoxUseAccurateRip.Checked = _profile._useAccurateRip; - checkBoxVerifyUseCDRepair.Checked = _profile._useCUEToolsDB; + checkBoxEditTags.Checked = _profile._editTags; + checkBoxCTDBVerifyOnEncode.Checked = _profile._CTDBVerifyOnEncode; + checkBoxARVerifyOnEncode.Checked = _profile._ARVerifyOnEncode; + checkBoxCTDBVerify.Checked = _profile._CTDBVerify; checkBoxVerifyUseLocal.Checked = _profile._useLocalDB; checkBoxSkipRecent.Checked = _profile._skipRecent; } @@ -1388,10 +1391,10 @@ namespace JDP _profile._writeOffset = (int)numericWriteOffset.Value; _profile._outputTemplate = comboBoxOutputFormat.Text; _profile._script = SelectedScript; - _profile._useFreeDb = checkBoxUseFreeDb.Checked; - _profile._useMusicBrainz = checkBoxUseMusicBrainz.Checked; - _profile._useAccurateRip = checkBoxUseAccurateRip.Checked; - _profile._useCUEToolsDB = checkBoxVerifyUseCDRepair.Checked; + _profile._editTags = checkBoxEditTags.Checked; + _profile._CTDBVerifyOnEncode = checkBoxCTDBVerifyOnEncode.Checked; + _profile._ARVerifyOnEncode = checkBoxARVerifyOnEncode.Checked; + _profile._CTDBVerify = checkBoxCTDBVerify.Checked; _profile._useLocalDB = checkBoxVerifyUseLocal.Checked; _profile._skipRecent = checkBoxSkipRecent.Checked; diff --git a/CUETools/frmCUETools.resx b/CUETools/frmCUETools.resx index fc00710..99dcc60 100644 --- a/CUETools/frmCUETools.resx +++ b/CUETools/frmCUETools.resx @@ -297,23 +297,266 @@ 3 - - 3, 17 + + 3 + + + 153, 8 - - tableLayoutPanelVerifyMode + + True - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Fill - - groupBoxMode + + NoControl - + + 3, 40 + + + 3, 0, 3, 0 + + + 138, 20 + + + 2 + + + &Tracks + + + File per track. Gap handling can be selected in advanced settings. + + + rbTracks + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanelCUEStyle + + 0 - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="checkBoxSkipRecent" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="checkBoxVerifyUseLocal" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="checkBoxVerifyUseCDRepair" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,33.33333,Percent,33.33333,Percent,33.33333,Absolute,20" /><Rows Styles="Percent,32.72727,Percent,67.27273" /></TableLayoutSettings> + + True + + + Fill + + + NoControl + + + 3, 0 + + + 3, 0, 3, 0 + + + 138, 20 + + + 0 + + + &Embedded + + + Create single file with embedded CUE sheet. + + + rbEmbedCUE + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanelCUEStyle + + + 1 + + + True + + + Fill + + + NoControl + + + 3, 20 + + + 3, 0, 3, 0 + + + 138, 20 + + + 1 + + + Image + CUE + + + Create single file + CUE sheet + + + rbSingleFile + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanelCUEStyle + + + 2 + + + True + + + Fill + + + NoControl + + + 0, 84 + + + 0, 0, 0, 0 + + + 0, 16 + + + 47, 26 + + + 3 + + + 153, 8 + + + Edit Tags + + + checkBoxEditTags + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanelCUEStyle + + + 3 + + + True + + + Fill + + + NoControl + + + 95, 84 + + + 0, 0, 0, 0 + + + 0, 16 + + + 49, 26 + + + 5 + + + Verify using AccurateRip + + + checkBoxARVerifyOnEncode + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanelCUEStyle + + + 4 + + + True + + + Fill + + + NoControl + + + 47, 84 + + + 0, 0, 0, 0 + + + 0, 16 + + + 48, 26 + + + 4 + + + Verify using CTDB + + + checkBoxCTDBVerifyOnEncode + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanelCUEStyle + + + 5 + + + Fill + + + 3, 17 + + + 0, 0, 0, 0 + + + 5 + + + 144, 110 + + + 11 tableLayoutPanelCUEStyle @@ -325,10 +568,31 @@ groupBoxMode - 1 + 0 - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="checkBoxUseAccurateRip" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="checkBoxUseFreeDb" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="rbTracks" Row="2" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="rbEmbedCUE" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="rbSingleFile" Row="1" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="checkBoxUseMusicBrainz" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,33.33332,Percent,33.33334,Percent,33.33334" /><Rows Styles="Percent,18.18229,Percent,18.18229,Percent,18.18229,Percent,22.72658,Percent,22.72658" /></TableLayoutSettings> + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="rbTracks" Row="2" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="rbEmbedCUE" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="rbSingleFile" Row="1" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="checkBoxEditTags" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkBoxARVerifyOnEncode" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="checkBoxCTDBVerifyOnEncode" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,33.33332,Percent,33.33334,Percent,33.33334" /><Rows Styles="Percent,18.18229,Percent,18.18229,Percent,18.18229,Percent,22.72658,Percent,22.72658" /></TableLayoutSettings> + + + 3, 17 + + + False + + + Fill + + + 3, 17 + + + 3, 0, 1, 0 + + + 144, 110 + + + 20 toolStripCorrectorFormat @@ -340,8 +604,77 @@ groupBoxMode + 1 + + + 3 + + + checkBoxSkipRecent + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanelVerifyMode + + + 0 + + + checkBoxVerifyUseLocal + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanelVerifyMode + + + 1 + + + checkBoxCTDBVerify + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanelVerifyMode + + 2 + + Fill + + + 3, 17 + + + 2 + + + 144, 110 + + + 2 + + + tableLayoutPanelVerifyMode + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxMode + + + 2 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="checkBoxSkipRecent" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="checkBoxVerifyUseLocal" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="checkBoxCTDBVerify" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,33.33333,Percent,33.33333,Percent,33.33333,Absolute,20" /><Rows Styles="Percent,32.72727,Percent,67.27273" /></TableLayoutSettings> + Fill @@ -369,18 +702,6 @@ 0 - - Flat - - - 9, 115 - - - 20, 20 - - - 20 - buttonEncoderSettings @@ -393,33 +714,6 @@ 0 - - False - - - Tahoma, 8.25pt - - - NoControl - - - 100, 174 - - - 0, 0, 0, 0 - - - 39, 13 - - - 19 - - - 320 - - - TopRight - labelEncoderMaxMode @@ -432,33 +726,6 @@ 1 - - True - - - False - - - Tahoma, 8.25pt - - - NoControl - - - 6, 174 - - - 0, 0, 0, 0 - - - 25, 13 - - - 19 - - - 128 - labelEncoderMinMode @@ -471,33 +738,6 @@ 2 - - Tahoma, 8.25pt - - - NoControl - - - 3, 174 - - - 0, 0, 0, 0 - - - 139, 15 - - - 18 - - - 256 - - - TopCenter - - - For lossless formats, the level of compression. For lossy formats, target quality - labelEncoderMode @@ -510,24 +750,6 @@ 3 - - Top, Left, Right - - - NoControl - - - 3, 143 - - - 0, 0, 0, 0 - - - 142, 45 - - - 17 - trackBarEncoderMode @@ -540,21 +762,6 @@ 4 - - Top, Left, Right - - - 38, 116 - - - 101, 21 - - - 16 - - - Encoder to use - comboBoxEncoder @@ -567,27 +774,6 @@ 5 - - True - - - NoControl - - - 10, 53 - - - 50, 17 - - - 16 - - - None - - - No audio output - radioButtonAudioNone @@ -600,27 +786,6 @@ 6 - - True - - - NoControl - - - 10, 36 - - - 52, 17 - - - 15 - - - Lossy - - - Codecs which reduce audio quality - radioButtonAudioLossy @@ -633,27 +798,6 @@ 7 - - True - - - NoControl - - - 10, 19 - - - 64, 17 - - - 13 - - - Lossless - - - Codecs that preserve bit-exact audio copy - radioButtonAudioLossless @@ -666,24 +810,6 @@ 8 - - True - - - NoControl - - - 11, 90 - - - 16, 16 - - - 16, 16 - - - 11 - labelFormat @@ -696,21 +822,6 @@ 9 - - Top, Left, Right - - - 38, 88 - - - 101, 21 - - - 9 - - - Audio file format - comboBoxAudioFormat @@ -1230,78 +1341,6 @@ 0 - - 3 - - - checkBoxSkipRecent - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelVerifyMode - - - 0 - - - checkBoxVerifyUseLocal - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelVerifyMode - - - 1 - - - checkBoxVerifyUseCDRepair - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelVerifyMode - - - 2 - - - Fill - - - 3, 17 - - - 2 - - - 144, 110 - - - 2 - - - tableLayoutPanelVerifyMode - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBoxMode - - - 0 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="checkBoxSkipRecent" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="checkBoxVerifyUseLocal" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="checkBoxVerifyUseCDRepair" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,33.33333,Percent,33.33333,Percent,33.33333,Absolute,20" /><Rows Styles="Percent,32.72727,Percent,67.27273" /></TableLayoutSettings> - - - 153, 8 - True @@ -1368,412 +1407,37 @@ 1 - + True - + Fill - + NoControl - + 3, 3 - + 42, 29 - + 0 - + Use CTDB (CUETools database) - - checkBoxVerifyUseCDRepair + + checkBoxCTDBVerify - + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + tableLayoutPanelVerifyMode - - 2 - - - 3 - - - checkBoxUseAccurateRip - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 0 - - - checkBoxUseFreeDb - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 1 - - - rbTracks - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 2 - - - rbEmbedCUE - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 3 - - - rbSingleFile - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 4 - - - checkBoxUseMusicBrainz - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 5 - - - Fill - - - 3, 17 - - - 0, 0, 0, 0 - - - 5 - - - 144, 110 - - - 11 - - - tableLayoutPanelCUEStyle - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBoxMode - - - 1 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="checkBoxUseAccurateRip" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="checkBoxUseFreeDb" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="rbTracks" Row="2" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="rbEmbedCUE" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="rbSingleFile" Row="1" RowSpan="1" Column="0" ColumnSpan="3" /><Control Name="checkBoxUseMusicBrainz" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,33.33332,Percent,33.33334,Percent,33.33334" /><Rows Styles="Percent,18.18229,Percent,18.18229,Percent,18.18229,Percent,22.72658,Percent,22.72658" /></TableLayoutSettings> - - - True - - - Fill - - - NoControl - - - 95, 84 - - - 0, 0, 0, 0 - - - 0, 16 - - - 49, 26 - - - 5 - - - Use AccurateRip - - - checkBoxUseAccurateRip - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 0 - - - True - - - Fill - - - NoControl - - - 47, 84 - - - 0, 0, 0, 0 - - - 0, 16 - - - 48, 26 - - - 4 - - - Use FreeDb - - - checkBoxUseFreeDb - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 1 - - - True - - - Fill - - - NoControl - - - 3, 40 - - - 3, 0, 3, 0 - - - 138, 20 - - - 2 - - - &Tracks - - - File per track. Gap handling can be selected in advanced settings. - - - rbTracks - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 2 - - - True - - - Fill - - - NoControl - - - 3, 0 - - - 3, 0, 3, 0 - - - 138, 20 - - - 0 - - - &Embedded - - - Create single file with embedded CUE sheet. - - - rbEmbedCUE - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 3 - - - True - - - Fill - - - NoControl - - - 3, 20 - - - 3, 0, 3, 0 - - - 138, 20 - - - 1 - - - Image + CUE - - - Create single file + CUE sheet - - - rbSingleFile - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 4 - - - True - - - Fill - - - NoControl - - - 0, 84 - - - 0, 0, 0, 0 - - - 0, 16 - - - 47, 26 - - - 3 - - - Use MusicBrainz - - - checkBoxUseMusicBrainz - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tableLayoutPanelCUEStyle - - - 5 - - - 3, 17 - - - False - - - Fill - - - 3, 17 - - - 3, 0, 1, 0 - - - 144, 110 - - - 20 - - - toolStripCorrectorFormat - - - System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBoxMode - - + 2 @@ -1821,6 +1485,360 @@ flac + + Flat + + + 9, 115 + + + 20, 20 + + + 20 + + + buttonEncoderSettings + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 0 + + + False + + + Tahoma, 8.25pt + + + NoControl + + + 100, 174 + + + 0, 0, 0, 0 + + + 39, 13 + + + 19 + + + 320 + + + TopRight + + + labelEncoderMaxMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 1 + + + True + + + False + + + Tahoma, 8.25pt + + + NoControl + + + 6, 174 + + + 0, 0, 0, 0 + + + 25, 13 + + + 19 + + + 128 + + + labelEncoderMinMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 2 + + + Tahoma, 8.25pt + + + NoControl + + + 3, 174 + + + 0, 0, 0, 0 + + + 139, 15 + + + 18 + + + 256 + + + TopCenter + + + For lossless formats, the level of compression. For lossy formats, target quality + + + labelEncoderMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 3 + + + Top, Left, Right + + + NoControl + + + 3, 143 + + + 0, 0, 0, 0 + + + 142, 45 + + + 17 + + + trackBarEncoderMode + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 4 + + + Top, Left, Right + + + 38, 116 + + + 101, 21 + + + 16 + + + Encoder to use + + + comboBoxEncoder + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 5 + + + True + + + NoControl + + + 10, 53 + + + 50, 17 + + + 16 + + + None + + + No audio output + + + radioButtonAudioNone + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 6 + + + True + + + NoControl + + + 10, 36 + + + 52, 17 + + + 15 + + + Lossy + + + Codecs which reduce audio quality + + + radioButtonAudioLossy + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 7 + + + True + + + NoControl + + + 10, 19 + + + 64, 17 + + + 13 + + + Lossless + + + Codecs that preserve bit-exact audio copy + + + radioButtonAudioLossless + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 8 + + + True + + + NoControl + + + 11, 90 + + + 16, 16 + + + 16, 16 + + + 11 + + + labelFormat + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 9 + + + Top, Left, Right + + + 38, 88 + + + 101, 21 + + + 9 + + + Audio file format + + + comboBoxAudioFormat + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 10 + 0, 0 @@ -1971,6 +1989,9 @@ 0 + + 153, 8 + Fill @@ -2877,9 +2898,6 @@ Batch log - - 153, 8 - 424, 8