diff --git a/APEDotNet/apedotnet.cpp b/APEDotNet/apedotnet.cpp index 1a8614d..a1f7064 100644 --- a/APEDotNet/apedotnet.cpp +++ b/APEDotNet/apedotnet.cpp @@ -126,6 +126,12 @@ namespace APEDotNet { pAPEDecompress = NULL; } + property String^ Path { + String^ get() { + return _path; + } + } + property NameValueCollection^ Tags { NameValueCollection^ get () { if (!_tags) @@ -287,6 +293,12 @@ namespace APEDotNet { _samplesWritten += sampleCount; } + property String^ Path { + String^ get() { + return _path; + } + } + void SetTags (NameValueCollection^ tags) { _tags = tags; } diff --git a/APETagDotNet/APETagDotNet.cs b/APETagDotNet/APETagDotNet.cs index 4af8729..6b2c857 100644 --- a/APETagDotNet/APETagDotNet.cs +++ b/APETagDotNet/APETagDotNet.cs @@ -367,11 +367,18 @@ namespace APETagsDotNet APETagField pAPETagField = GetTagField (Index); if (pAPETagField == null) return null; + byte[] value = pAPETagField.FieldValue; if (m_nAPETagVersion < 2000) - return new ASCIIEncoding().GetString(pAPETagField.FieldValue); + { + if (value.Length > 0 && value[value.Length - 1] == 0) + Array.Resize(ref value, value.Length - 1); + return new ASCIIEncoding().GetString(value); + } if (!pAPETagField.IsUTF8Text) return null; - return new UTF8Encoding().GetString(pAPETagField.FieldValue); + if (value.Length > 0 && value[value.Length - 1] == 0) + Array.Resize(ref value, value.Length - 1); + return new UTF8Encoding().GetString(value); } public NameValueCollection GetStringTags(bool mapToFlac) diff --git a/ArCueDotNet/Program.cs b/ArCueDotNet/Program.cs index d0253fc..d3b6aad 100644 --- a/ArCueDotNet/Program.cs +++ b/ArCueDotNet/Program.cs @@ -41,7 +41,7 @@ namespace ArCueDotNet sw.Close(); Console.Write(sw.ToString()); } - public static void ArCueSetStatus(string status, uint percentTrack, double percentDisk) + public static void ArCueSetStatus(string status, uint percentTrack, double percentDisk, string input, string output) { } } diff --git a/CUETools/Program.cs b/CUETools/Program.cs index e6ebabf..aa3bf97 100644 --- a/CUETools/Program.cs +++ b/CUETools/Program.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; using System.Windows.Forms; +using System.IO; +using System.Text; namespace JDP { static class Program { @@ -9,13 +11,33 @@ namespace JDP { { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - if (args.Length == 2 && (args[0] == "/verify" || args[0] == "/convert" || args[0] == "/fix")) + if (args.Length > 1 && (args[0] == "/verify" || args[0] == "/convert" || args[0] == "/fix")) { frmBatch batch = new frmBatch(); - batch.InputPath = args[1]; batch.AccurateRip = (args[0] != "/convert"); batch.AccurateOffset = (args[0] == "/fix"); - Application.Run (batch); + if (args.Length == 2 && args[1][0] != '@') + batch.InputPath = args[1]; + else for (int i = 1; i < args.Length; i++) + { + if (args[i][0] == '@') + { + string lineStr; + StreamReader sr; + try + { + sr = new StreamReader(args[i].Substring(1), Encoding.Default); + while ((lineStr = sr.ReadLine()) != null) + batch.AddInputPath(lineStr); + } + catch + { + batch.AddInputPath(args[i]); + } + } else + batch.AddInputPath(args[i]); + } + Application.Run(batch); return; } frmCUETools form = new frmCUETools(); diff --git a/CUETools/frmBatch.Designer.cs b/CUETools/frmBatch.Designer.cs index 29bdad9..ab319ea 100644 --- a/CUETools/frmBatch.Designer.cs +++ b/CUETools/frmBatch.Designer.cs @@ -28,40 +28,92 @@ namespace JDP /// private void InitializeComponent() { - this.progressBar1 = new System.Windows.Forms.ProgressBar(); this.progressBar2 = new System.Windows.Forms.ProgressBar(); this.textBox1 = new System.Windows.Forms.TextBox(); + this.txtInputFile = new System.Windows.Forms.TextBox(); + this.txtOutputFile = new System.Windows.Forms.TextBox(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.progressBar1 = new System.Windows.Forms.ProgressBar(); + this.tableLayoutPanel1.SuspendLayout(); this.SuspendLayout(); // - // progressBar1 - // - this.progressBar1.Location = new System.Drawing.Point(12, 12); - this.progressBar1.Margin = new System.Windows.Forms.Padding(10); - this.progressBar1.MinimumSize = new System.Drawing.Size(440, 20); - this.progressBar1.Name = "progressBar1"; - this.progressBar1.Size = new System.Drawing.Size(533, 20); - this.progressBar1.TabIndex = 0; - // // progressBar2 // - this.progressBar2.Location = new System.Drawing.Point(12, 38); - this.progressBar2.Margin = new System.Windows.Forms.Padding(10); + this.progressBar2.Location = new System.Drawing.Point(3, 29); this.progressBar2.MinimumSize = new System.Drawing.Size(440, 20); this.progressBar2.Name = "progressBar2"; - this.progressBar2.Size = new System.Drawing.Size(533, 20); + this.progressBar2.Size = new System.Drawing.Size(609, 20); this.progressBar2.TabIndex = 1; // // textBox1 // this.textBox1.BackColor = System.Drawing.SystemColors.Control; this.textBox1.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); - this.textBox1.Location = new System.Drawing.Point(13, 71); + this.textBox1.Location = new System.Drawing.Point(3, 115); + this.textBox1.MaxLength = 0; + this.textBox1.MinimumSize = new System.Drawing.Size(600, 200); this.textBox1.Multiline = true; this.textBox1.Name = "textBox1"; this.textBox1.ReadOnly = true; this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.textBox1.Size = new System.Drawing.Size(532, 180); + this.textBox1.Size = new System.Drawing.Size(609, 215); this.textBox1.TabIndex = 2; + this.textBox1.Visible = false; + // + // txtInputFile + // + this.txtInputFile.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.txtInputFile.Location = new System.Drawing.Point(5, 57); + this.txtInputFile.Margin = new System.Windows.Forms.Padding(5); + this.txtInputFile.Name = "txtInputFile"; + this.txtInputFile.ReadOnly = true; + this.txtInputFile.Size = new System.Drawing.Size(609, 13); + this.txtInputFile.TabIndex = 3; + this.txtInputFile.TabStop = false; + // + // txtOutputFile + // + this.txtOutputFile.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.txtOutputFile.Location = new System.Drawing.Point(5, 87); + this.txtOutputFile.Margin = new System.Windows.Forms.Padding(5); + this.txtOutputFile.Name = "txtOutputFile"; + this.txtOutputFile.ReadOnly = true; + this.txtOutputFile.Size = new System.Drawing.Size(609, 13); + this.txtOutputFile.TabIndex = 4; + this.txtOutputFile.TabStop = false; + this.txtOutputFile.Visible = false; + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tableLayoutPanel1.AutoSize = true; + this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.tableLayoutPanel1.ColumnCount = 1; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel1.Controls.Add(this.textBox1, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.progressBar1, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.progressBar2, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.txtOutputFile, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.txtInputFile, 0, 2); + this.tableLayoutPanel1.Location = new System.Drawing.Point(13, 13); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 5; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.Size = new System.Drawing.Size(619, 333); + this.tableLayoutPanel1.TabIndex = 7; + // + // progressBar1 + // + this.progressBar1.Location = new System.Drawing.Point(3, 3); + this.progressBar1.MinimumSize = new System.Drawing.Size(440, 20); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(609, 20); + this.progressBar1.TabIndex = 0; // // frmBatch // @@ -69,10 +121,8 @@ namespace JDP this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoSize = true; this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.ClientSize = new System.Drawing.Size(569, 341); - this.Controls.Add(this.textBox1); - this.Controls.Add(this.progressBar2); - this.Controls.Add(this.progressBar1); + this.ClientSize = new System.Drawing.Size(649, 357); + this.Controls.Add(this.tableLayoutPanel1); this.Cursor = System.Windows.Forms.Cursors.Default; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.MaximizeBox = false; @@ -82,6 +132,8 @@ namespace JDP this.Text = "Working..."; this.Load += new System.EventHandler(this.frmBatch_Load); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmBatch_FormClosing); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -89,8 +141,11 @@ namespace JDP #endregion - private System.Windows.Forms.ProgressBar progressBar1; private System.Windows.Forms.ProgressBar progressBar2; private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.TextBox txtInputFile; + private System.Windows.Forms.TextBox txtOutputFile; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.ProgressBar progressBar1; } } \ No newline at end of file diff --git a/CUETools/frmBatch.cs b/CUETools/frmBatch.cs index ccc736f..da4f9ed 100644 --- a/CUETools/frmBatch.cs +++ b/CUETools/frmBatch.cs @@ -20,6 +20,12 @@ namespace JDP _audioFormat = OutputAudioFormat.WAV; _accurateRip = true; _accurateOffset = false; + _batchPaths = new List(); + } + + public void AddInputPath(string path) + { + _batchPaths.Add(path); } public string InputPath @@ -48,8 +54,16 @@ namespace JDP bool _accurateRip; bool _accurateOffset; DateTime _startedAt; + List _batchPaths; - public void SetStatus(string status, uint percentTrack, double percentDisk) + public string ShortenString(string input, int max) + { + if (input.Length < max) + return input; + return "..." + input.Substring(input.Length - max); + } + + public void SetStatus(string status, uint percentTrack, double percentDisk, string input, string output) { this.BeginInvoke((MethodInvoker)delegate() { @@ -66,6 +80,15 @@ namespace JDP Text = status; progressBar1.Value = (int)percentTrack; progressBar2.Value = (int)(percentDisk*100); + string inputSuffix = output != null ? "=>" : ""; + if (input == null) + txtInputFile.Text = inputSuffix; + else + txtInputFile.Text = ShortenString(input, 120) + " " + inputSuffix; + if (output == null) + txtOutputFile.Text = ""; + else + txtOutputFile.Text = ShortenString(output, 120); }); } @@ -78,36 +101,31 @@ namespace JDP cueSheet.WriteAudioFiles(Path.GetDirectoryName(pathOut), _cueStyle, new SetStatus(this.SetStatus)); this.Invoke((MethodInvoker)delegate() { - //if (_batchPaths.Count == 0) - { - //TimeSpan span = DateTime.Now - _startedAt; + if (_batchPaths.Count == 0) Text = "Done."; - progressBar1.Value = 0; - progressBar2.Value = 0; - if (cueSheet.AccurateRip) - { - StringWriter sw = new StringWriter(); - cueSheet.GenerateAccurateRipLog(sw); - textBox1.Text = sw.ToString(); - sw.Close(); - textBox1.Show(); - } + + //TimeSpan span = DateTime.Now - _startedAt; + progressBar1.Value = 0; + progressBar2.Value = 0; + if (cueSheet.AccurateRip) + { + StringWriter sw = new StringWriter(); + cueSheet.GenerateAccurateRipLog(sw); + textBox1.Text += sw.ToString(); + sw.Close(); + textBox1.Show(); } + textBox1.Text += "----------------------------------------------------------\r\n"; + textBox1.Select(0, 0); }); } catch (StopException) { - ////_batchPaths.Clear(); - //this.Invoke((MethodInvoker)delegate() - //{ - // MessageBox.Show("Conversion was stopped.", "Stopped", MessageBoxButtons.OK, - // MessageBoxIcon.Exclamation); - // Close(); - //}); - + _batchPaths.Clear(); this.Invoke((MethodInvoker)delegate() { Text = "Aborted."; + textBox1.Text += "Aborted."; progressBar1.Value = 0; progressBar2.Value = 0; }); @@ -116,32 +134,29 @@ namespace JDP { this.Invoke((MethodInvoker)delegate() { - //if (_batchPaths.Count == 0) SetupControls(false); - //if (!ShowErrorMessage(ex)) - //{ - // _batchPaths.Clear(); - // SetupControls(false); - //} Text = "Error: " + ex.Message; + textBox1.Show(); + textBox1.Text += "Error: " + ex.Message + "\r\n"; + textBox1.Text += "----------------------------------------------------------\r\n"; + textBox1.Select(0, 0); }); } - //if (_batchPaths.Count != 0) - //{ - // _batchPaths.RemoveAt(0); - // this.BeginInvoke((MethodInvoker)delegate() - // { - // if (_batchPaths.Count == 0) - // { - // SetupControls(false); - // ShowBatchDoneMessage(); - // } - // else - // { - // StartConvert(); - // } - // }); - //} + if (_batchPaths.Count != 0) + { + _batchPaths.RemoveAt(0); + this.BeginInvoke((MethodInvoker)delegate() + { + if (_batchPaths.Count == 0) + { + Text = "All done."; + } + else + { + StartConvert(); + } + }); + } } public void StartConvert() @@ -153,15 +168,16 @@ namespace JDP _startedAt = DateTime.Now; _workThread = null; - //if (_batchPaths.Count != 0) - //{ - // txtInputPath.Text = _batchPaths[0]; - //} + if (_batchPaths.Count != 0) + pathIn = _batchPaths[0]; + + pathIn = Path.GetFullPath(pathIn); + + textBox1.Text += "Processing " + pathIn + ":\r\n"; + textBox1.Select (0,0); if (!File.Exists(pathIn)) - { throw new Exception("Input CUE Sheet not found."); - } bool outputAudio = _accurateOffset || !_accurateRip; cueSheet = new CUESheet(pathIn, _config); @@ -180,10 +196,7 @@ namespace JDP } } if (!pathFound) - { - Text = "Could not create a folder"; - return; - } + throw new Exception("Could not create a folder."); } else pathOut = pathIn; cueSheet.GenerateFilenames(_audioFormat, pathOut); @@ -206,17 +219,25 @@ namespace JDP catch (Exception ex) { Text = "Error: " + ex.Message; - //if (!ShowErrorMessage(ex)) - //{ - // _batchPaths.Clear(); - //} - //Close(); + textBox1.Show(); + textBox1.Text += "Error: " + ex.Message + "\r\n"; + textBox1.Text += "----------------------------------------------------------\r\n"; + textBox1.Select(0, 0); + } + if ((_workThread == null) && (_batchPaths.Count != 0)) + { + _batchPaths.RemoveAt(0); + if (_batchPaths.Count == 0) + { + Text = "All done."; + } + else + StartConvert(); } } private void frmBatch_Load(object sender, EventArgs e) { - //_batchPaths = new List(); textBox1.Hide(); SettingsReader sr = new SettingsReader("CUE Tools", "settings.txt"); string val; @@ -231,6 +252,9 @@ namespace JDP } catch { }; + if (_accurateOffset || !_accurateRip) + txtOutputFile.Show(); + StartConvert(); } diff --git a/CUETools/frmCUETools.cs b/CUETools/frmCUETools.cs index 0b6824b..7802438 100644 --- a/CUETools/frmCUETools.cs +++ b/CUETools/frmCUETools.cs @@ -379,7 +379,7 @@ namespace JDP { } } - public void SetStatus(string status, uint percentTrack, double percentDisk) { + public void SetStatus(string status, uint percentTrack, double percentDisk, string input, string output) { this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = status; toolStripProgressBar1.Value = (int)percentTrack; diff --git a/CUETools/frmSettings.Designer.cs b/CUETools/frmSettings.Designer.cs index c45636c..e3b7b00 100644 --- a/CUETools/frmSettings.Designer.cs +++ b/CUETools/frmSettings.Designer.cs @@ -93,132 +93,87 @@ namespace JDP { // // btnCancel // - btnCancel.AccessibleDescription = null; - btnCancel.AccessibleName = null; - resources.ApplyResources(btnCancel, "btnCancel"); - btnCancel.BackgroundImage = null; btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; - btnCancel.Font = null; + resources.ApplyResources(btnCancel, "btnCancel"); btnCancel.Name = "btnCancel"; - this.toolTip1.SetToolTip(btnCancel, resources.GetString("btnCancel.ToolTip")); btnCancel.UseVisualStyleBackColor = true; // // grpGeneral // - this.grpGeneral.AccessibleDescription = null; - this.grpGeneral.AccessibleName = null; - resources.ApplyResources(this.grpGeneral, "grpGeneral"); - this.grpGeneral.BackgroundImage = null; this.grpGeneral.Controls.Add(this.chkFillUpCUE); this.grpGeneral.Controls.Add(this.chkEmbedLog); this.grpGeneral.Controls.Add(this.numericWriteOffset); this.grpGeneral.Controls.Add(this.chkAutoCorrectFilenames); this.grpGeneral.Controls.Add(this.chkPreserveHTOA); this.grpGeneral.Controls.Add(this.lblWriteOffset); - this.grpGeneral.Font = null; + resources.ApplyResources(this.grpGeneral, "grpGeneral"); this.grpGeneral.Name = "grpGeneral"; this.grpGeneral.TabStop = false; - this.toolTip1.SetToolTip(this.grpGeneral, resources.GetString("grpGeneral.ToolTip")); // // chkFillUpCUE // - this.chkFillUpCUE.AccessibleDescription = null; - this.chkFillUpCUE.AccessibleName = null; resources.ApplyResources(this.chkFillUpCUE, "chkFillUpCUE"); - this.chkFillUpCUE.BackgroundImage = null; - this.chkFillUpCUE.Font = null; this.chkFillUpCUE.Name = "chkFillUpCUE"; - this.toolTip1.SetToolTip(this.chkFillUpCUE, resources.GetString("chkFillUpCUE.ToolTip")); this.chkFillUpCUE.UseVisualStyleBackColor = true; // // chkEmbedLog // - this.chkEmbedLog.AccessibleDescription = null; - this.chkEmbedLog.AccessibleName = null; resources.ApplyResources(this.chkEmbedLog, "chkEmbedLog"); - this.chkEmbedLog.BackgroundImage = null; - this.chkEmbedLog.Font = null; this.chkEmbedLog.Name = "chkEmbedLog"; this.toolTip1.SetToolTip(this.chkEmbedLog, resources.GetString("chkEmbedLog.ToolTip")); this.chkEmbedLog.UseVisualStyleBackColor = true; // // numericWriteOffset // - this.numericWriteOffset.AccessibleDescription = null; - this.numericWriteOffset.AccessibleName = null; resources.ApplyResources(this.numericWriteOffset, "numericWriteOffset"); - this.numericWriteOffset.Font = null; this.numericWriteOffset.Maximum = new decimal(new int[] { - 5000, + 99999, 0, 0, 0}); this.numericWriteOffset.Minimum = new decimal(new int[] { - 5000, + 99999, 0, 0, -2147483648}); this.numericWriteOffset.Name = "numericWriteOffset"; - this.toolTip1.SetToolTip(this.numericWriteOffset, resources.GetString("numericWriteOffset.ToolTip")); // // chkAutoCorrectFilenames // - this.chkAutoCorrectFilenames.AccessibleDescription = null; - this.chkAutoCorrectFilenames.AccessibleName = null; resources.ApplyResources(this.chkAutoCorrectFilenames, "chkAutoCorrectFilenames"); - this.chkAutoCorrectFilenames.BackgroundImage = null; - this.chkAutoCorrectFilenames.Font = null; this.chkAutoCorrectFilenames.Name = "chkAutoCorrectFilenames"; this.toolTip1.SetToolTip(this.chkAutoCorrectFilenames, resources.GetString("chkAutoCorrectFilenames.ToolTip")); this.chkAutoCorrectFilenames.UseVisualStyleBackColor = true; // // chkPreserveHTOA // - this.chkPreserveHTOA.AccessibleDescription = null; - this.chkPreserveHTOA.AccessibleName = null; resources.ApplyResources(this.chkPreserveHTOA, "chkPreserveHTOA"); - this.chkPreserveHTOA.BackgroundImage = null; - this.chkPreserveHTOA.Font = null; this.chkPreserveHTOA.Name = "chkPreserveHTOA"; - this.toolTip1.SetToolTip(this.chkPreserveHTOA, resources.GetString("chkPreserveHTOA.ToolTip")); this.chkPreserveHTOA.UseVisualStyleBackColor = true; // // lblWriteOffset // - this.lblWriteOffset.AccessibleDescription = null; - this.lblWriteOffset.AccessibleName = null; resources.ApplyResources(this.lblWriteOffset, "lblWriteOffset"); - this.lblWriteOffset.Font = null; this.lblWriteOffset.Name = "lblWriteOffset"; - this.toolTip1.SetToolTip(this.lblWriteOffset, resources.GetString("lblWriteOffset.ToolTip")); // // grpFLAC // - this.grpFLAC.AccessibleDescription = null; - this.grpFLAC.AccessibleName = null; - resources.ApplyResources(this.grpFLAC, "grpFLAC"); - this.grpFLAC.BackgroundImage = null; this.grpFLAC.Controls.Add(this.numericFLACCompressionLevel); this.grpFLAC.Controls.Add(this.lblFLACCompressionLevel); this.grpFLAC.Controls.Add(this.chkFLACVerify); - this.grpFLAC.Font = null; + resources.ApplyResources(this.grpFLAC, "grpFLAC"); this.grpFLAC.Name = "grpFLAC"; this.grpFLAC.TabStop = false; - this.toolTip1.SetToolTip(this.grpFLAC, resources.GetString("grpFLAC.ToolTip")); // // numericFLACCompressionLevel // - this.numericFLACCompressionLevel.AccessibleDescription = null; - this.numericFLACCompressionLevel.AccessibleName = null; resources.ApplyResources(this.numericFLACCompressionLevel, "numericFLACCompressionLevel"); - this.numericFLACCompressionLevel.Font = null; this.numericFLACCompressionLevel.Maximum = new decimal(new int[] { 8, 0, 0, 0}); this.numericFLACCompressionLevel.Name = "numericFLACCompressionLevel"; - this.toolTip1.SetToolTip(this.numericFLACCompressionLevel, resources.GetString("numericFLACCompressionLevel.ToolTip")); this.numericFLACCompressionLevel.Value = new decimal(new int[] { 5, 0, @@ -227,60 +182,38 @@ namespace JDP { // // lblFLACCompressionLevel // - this.lblFLACCompressionLevel.AccessibleDescription = null; - this.lblFLACCompressionLevel.AccessibleName = null; resources.ApplyResources(this.lblFLACCompressionLevel, "lblFLACCompressionLevel"); - this.lblFLACCompressionLevel.Font = null; this.lblFLACCompressionLevel.Name = "lblFLACCompressionLevel"; - this.toolTip1.SetToolTip(this.lblFLACCompressionLevel, resources.GetString("lblFLACCompressionLevel.ToolTip")); // // chkFLACVerify // - this.chkFLACVerify.AccessibleDescription = null; - this.chkFLACVerify.AccessibleName = null; resources.ApplyResources(this.chkFLACVerify, "chkFLACVerify"); - this.chkFLACVerify.BackgroundImage = null; - this.chkFLACVerify.Font = null; this.chkFLACVerify.Name = "chkFLACVerify"; - this.toolTip1.SetToolTip(this.chkFLACVerify, resources.GetString("chkFLACVerify.ToolTip")); this.chkFLACVerify.UseVisualStyleBackColor = true; // // btnOK // - this.btnOK.AccessibleDescription = null; - this.btnOK.AccessibleName = null; - resources.ApplyResources(this.btnOK, "btnOK"); - this.btnOK.BackgroundImage = null; this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK; - this.btnOK.Font = null; + resources.ApplyResources(this.btnOK, "btnOK"); this.btnOK.Name = "btnOK"; - this.toolTip1.SetToolTip(this.btnOK, resources.GetString("btnOK.ToolTip")); this.btnOK.UseVisualStyleBackColor = true; this.btnOK.Click += new System.EventHandler(this.btnOK_Click); // // grpWavPack // - this.grpWavPack.AccessibleDescription = null; - this.grpWavPack.AccessibleName = null; - resources.ApplyResources(this.grpWavPack, "grpWavPack"); - this.grpWavPack.BackgroundImage = null; this.grpWavPack.Controls.Add(this.numWVExtraMode); this.grpWavPack.Controls.Add(this.chkWVExtraMode); this.grpWavPack.Controls.Add(this.rbWVVeryHigh); this.grpWavPack.Controls.Add(this.rbWVHigh); this.grpWavPack.Controls.Add(this.rbWVNormal); this.grpWavPack.Controls.Add(this.rbWVFast); - this.grpWavPack.Font = null; + resources.ApplyResources(this.grpWavPack, "grpWavPack"); this.grpWavPack.Name = "grpWavPack"; this.grpWavPack.TabStop = false; - this.toolTip1.SetToolTip(this.grpWavPack, resources.GetString("grpWavPack.ToolTip")); // // numWVExtraMode // - this.numWVExtraMode.AccessibleDescription = null; - this.numWVExtraMode.AccessibleName = null; resources.ApplyResources(this.numWVExtraMode, "numWVExtraMode"); - this.numWVExtraMode.Font = null; this.numWVExtraMode.Maximum = new decimal(new int[] { 6, 0, @@ -292,7 +225,6 @@ namespace JDP { 0, 0}); this.numWVExtraMode.Name = "numWVExtraMode"; - this.toolTip1.SetToolTip(this.numWVExtraMode, resources.GetString("numWVExtraMode.ToolTip")); this.numWVExtraMode.Value = new decimal(new int[] { 1, 0, @@ -301,68 +233,39 @@ namespace JDP { // // chkWVExtraMode // - this.chkWVExtraMode.AccessibleDescription = null; - this.chkWVExtraMode.AccessibleName = null; resources.ApplyResources(this.chkWVExtraMode, "chkWVExtraMode"); - this.chkWVExtraMode.BackgroundImage = null; - this.chkWVExtraMode.Font = null; this.chkWVExtraMode.Name = "chkWVExtraMode"; - this.toolTip1.SetToolTip(this.chkWVExtraMode, resources.GetString("chkWVExtraMode.ToolTip")); this.chkWVExtraMode.UseVisualStyleBackColor = true; this.chkWVExtraMode.CheckedChanged += new System.EventHandler(this.chkWVExtraMode_CheckedChanged); // // rbWVVeryHigh // - this.rbWVVeryHigh.AccessibleDescription = null; - this.rbWVVeryHigh.AccessibleName = null; resources.ApplyResources(this.rbWVVeryHigh, "rbWVVeryHigh"); - this.rbWVVeryHigh.BackgroundImage = null; - this.rbWVVeryHigh.Font = null; this.rbWVVeryHigh.Name = "rbWVVeryHigh"; - this.toolTip1.SetToolTip(this.rbWVVeryHigh, resources.GetString("rbWVVeryHigh.ToolTip")); this.rbWVVeryHigh.UseVisualStyleBackColor = true; // // rbWVHigh // - this.rbWVHigh.AccessibleDescription = null; - this.rbWVHigh.AccessibleName = null; resources.ApplyResources(this.rbWVHigh, "rbWVHigh"); - this.rbWVHigh.BackgroundImage = null; - this.rbWVHigh.Font = null; this.rbWVHigh.Name = "rbWVHigh"; - this.toolTip1.SetToolTip(this.rbWVHigh, resources.GetString("rbWVHigh.ToolTip")); this.rbWVHigh.UseVisualStyleBackColor = true; // // rbWVNormal // - this.rbWVNormal.AccessibleDescription = null; - this.rbWVNormal.AccessibleName = null; resources.ApplyResources(this.rbWVNormal, "rbWVNormal"); - this.rbWVNormal.BackgroundImage = null; this.rbWVNormal.Checked = true; - this.rbWVNormal.Font = null; this.rbWVNormal.Name = "rbWVNormal"; this.rbWVNormal.TabStop = true; - this.toolTip1.SetToolTip(this.rbWVNormal, resources.GetString("rbWVNormal.ToolTip")); this.rbWVNormal.UseVisualStyleBackColor = true; // // rbWVFast // - this.rbWVFast.AccessibleDescription = null; - this.rbWVFast.AccessibleName = null; resources.ApplyResources(this.rbWVFast, "rbWVFast"); - this.rbWVFast.BackgroundImage = null; - this.rbWVFast.Font = null; this.rbWVFast.Name = "rbWVFast"; - this.toolTip1.SetToolTip(this.rbWVFast, resources.GetString("rbWVFast.ToolTip")); this.rbWVFast.UseVisualStyleBackColor = true; // // groupBox1 // - this.groupBox1.AccessibleDescription = null; - this.groupBox1.AccessibleName = null; - resources.ApplyResources(this.groupBox1, "groupBox1"); - this.groupBox1.BackgroundImage = null; this.groupBox1.Controls.Add(this.chkArFixOffset); this.groupBox1.Controls.Add(this.label4); this.groupBox1.Controls.Add(this.numEncodeWhenPercent); @@ -375,52 +278,38 @@ namespace JDP { this.groupBox1.Controls.Add(this.label1); this.groupBox1.Controls.Add(this.numFixWhenPercent); this.groupBox1.Controls.Add(this.chkArAddCRCs); - this.groupBox1.Font = null; + resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; - this.toolTip1.SetToolTip(this.groupBox1, resources.GetString("groupBox1.ToolTip")); // // chkArFixOffset // - this.chkArFixOffset.AccessibleDescription = null; - this.chkArFixOffset.AccessibleName = null; resources.ApplyResources(this.chkArFixOffset, "chkArFixOffset"); - this.chkArFixOffset.BackgroundImage = null; this.chkArFixOffset.Checked = true; this.chkArFixOffset.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkArFixOffset.Font = null; this.chkArFixOffset.Name = "chkArFixOffset"; - this.toolTip1.SetToolTip(this.chkArFixOffset, resources.GetString("chkArFixOffset.ToolTip")); this.chkArFixOffset.UseVisualStyleBackColor = true; this.chkArFixOffset.CheckedChanged += new System.EventHandler(this.chkArFixOffset_CheckedChanged); // // label4 // - this.label4.AccessibleDescription = null; - this.label4.AccessibleName = null; resources.ApplyResources(this.label4, "label4"); - this.label4.Font = null; this.label4.Name = "label4"; - this.toolTip1.SetToolTip(this.label4, resources.GetString("label4.ToolTip")); // // numEncodeWhenPercent // - this.numEncodeWhenPercent.AccessibleDescription = null; - this.numEncodeWhenPercent.AccessibleName = null; - resources.ApplyResources(this.numEncodeWhenPercent, "numEncodeWhenPercent"); - this.numEncodeWhenPercent.Font = null; this.numEncodeWhenPercent.Increment = new decimal(new int[] { 5, 0, 0, 0}); + resources.ApplyResources(this.numEncodeWhenPercent, "numEncodeWhenPercent"); this.numEncodeWhenPercent.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numEncodeWhenPercent.Name = "numEncodeWhenPercent"; - this.toolTip1.SetToolTip(this.numEncodeWhenPercent, resources.GetString("numEncodeWhenPercent.ToolTip")); this.numEncodeWhenPercent.Value = new decimal(new int[] { 100, 0, @@ -429,26 +318,18 @@ namespace JDP { // // label3 // - this.label3.AccessibleDescription = null; - this.label3.AccessibleName = null; resources.ApplyResources(this.label3, "label3"); - this.label3.Font = null; this.label3.Name = "label3"; - this.toolTip1.SetToolTip(this.label3, resources.GetString("label3.ToolTip")); // // numEncodeWhenConfidence // - this.numEncodeWhenConfidence.AccessibleDescription = null; - this.numEncodeWhenConfidence.AccessibleName = null; resources.ApplyResources(this.numEncodeWhenConfidence, "numEncodeWhenConfidence"); - this.numEncodeWhenConfidence.Font = null; this.numEncodeWhenConfidence.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numEncodeWhenConfidence.Name = "numEncodeWhenConfidence"; - this.toolTip1.SetToolTip(this.numEncodeWhenConfidence, resources.GetString("numEncodeWhenConfidence.ToolTip")); this.numEncodeWhenConfidence.Value = new decimal(new int[] { 1, 0, @@ -457,53 +338,35 @@ namespace JDP { // // chkArNoUnverifiedAudio // - this.chkArNoUnverifiedAudio.AccessibleDescription = null; - this.chkArNoUnverifiedAudio.AccessibleName = null; resources.ApplyResources(this.chkArNoUnverifiedAudio, "chkArNoUnverifiedAudio"); - this.chkArNoUnverifiedAudio.BackgroundImage = null; this.chkArNoUnverifiedAudio.Checked = true; this.chkArNoUnverifiedAudio.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkArNoUnverifiedAudio.Font = null; this.chkArNoUnverifiedAudio.Name = "chkArNoUnverifiedAudio"; - this.toolTip1.SetToolTip(this.chkArNoUnverifiedAudio, resources.GetString("chkArNoUnverifiedAudio.ToolTip")); this.chkArNoUnverifiedAudio.UseVisualStyleBackColor = true; this.chkArNoUnverifiedAudio.CheckedChanged += new System.EventHandler(this.chkArNoUnverifiedAudio_CheckedChanged); // // chkArSaveLog // - this.chkArSaveLog.AccessibleDescription = null; - this.chkArSaveLog.AccessibleName = null; resources.ApplyResources(this.chkArSaveLog, "chkArSaveLog"); - this.chkArSaveLog.BackgroundImage = null; this.chkArSaveLog.Checked = true; this.chkArSaveLog.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkArSaveLog.Font = null; this.chkArSaveLog.Name = "chkArSaveLog"; - this.toolTip1.SetToolTip(this.chkArSaveLog, resources.GetString("chkArSaveLog.ToolTip")); this.chkArSaveLog.UseVisualStyleBackColor = true; // // label2 // - this.label2.AccessibleDescription = null; - this.label2.AccessibleName = null; resources.ApplyResources(this.label2, "label2"); - this.label2.Font = null; this.label2.Name = "label2"; - this.toolTip1.SetToolTip(this.label2, resources.GetString("label2.ToolTip")); // // numFixWhenConfidence // - this.numFixWhenConfidence.AccessibleDescription = null; - this.numFixWhenConfidence.AccessibleName = null; resources.ApplyResources(this.numFixWhenConfidence, "numFixWhenConfidence"); - this.numFixWhenConfidence.Font = null; this.numFixWhenConfidence.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numFixWhenConfidence.Name = "numFixWhenConfidence"; - this.toolTip1.SetToolTip(this.numFixWhenConfidence, resources.GetString("numFixWhenConfidence.ToolTip")); this.numFixWhenConfidence.Value = new decimal(new int[] { 1, 0, @@ -512,31 +375,23 @@ namespace JDP { // // label1 // - this.label1.AccessibleDescription = null; - this.label1.AccessibleName = null; resources.ApplyResources(this.label1, "label1"); - this.label1.Font = null; this.label1.Name = "label1"; - this.toolTip1.SetToolTip(this.label1, resources.GetString("label1.ToolTip")); // // numFixWhenPercent // - this.numFixWhenPercent.AccessibleDescription = null; - this.numFixWhenPercent.AccessibleName = null; - resources.ApplyResources(this.numFixWhenPercent, "numFixWhenPercent"); - this.numFixWhenPercent.Font = null; this.numFixWhenPercent.Increment = new decimal(new int[] { 5, 0, 0, 0}); + resources.ApplyResources(this.numFixWhenPercent, "numFixWhenPercent"); this.numFixWhenPercent.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numFixWhenPercent.Name = "numFixWhenPercent"; - this.toolTip1.SetToolTip(this.numFixWhenPercent, resources.GetString("numFixWhenPercent.ToolTip")); this.numFixWhenPercent.Value = new decimal(new int[] { 51, 0, @@ -545,13 +400,9 @@ namespace JDP { // // chkArAddCRCs // - this.chkArAddCRCs.AccessibleDescription = null; - this.chkArAddCRCs.AccessibleName = null; resources.ApplyResources(this.chkArAddCRCs, "chkArAddCRCs"); - this.chkArAddCRCs.BackgroundImage = null; this.chkArAddCRCs.Checked = true; this.chkArAddCRCs.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkArAddCRCs.Font = null; this.chkArAddCRCs.Name = "chkArAddCRCs"; this.toolTip1.SetToolTip(this.chkArAddCRCs, resources.GetString("chkArAddCRCs.ToolTip")); this.chkArAddCRCs.UseVisualStyleBackColor = true; @@ -564,21 +415,13 @@ namespace JDP { // // chkFilenamesANSISafe // - this.chkFilenamesANSISafe.AccessibleDescription = null; - this.chkFilenamesANSISafe.AccessibleName = null; resources.ApplyResources(this.chkFilenamesANSISafe, "chkFilenamesANSISafe"); - this.chkFilenamesANSISafe.BackgroundImage = null; - this.chkFilenamesANSISafe.Font = null; this.chkFilenamesANSISafe.Name = "chkFilenamesANSISafe"; this.toolTip1.SetToolTip(this.chkFilenamesANSISafe, resources.GetString("chkFilenamesANSISafe.ToolTip")); this.chkFilenamesANSISafe.UseVisualStyleBackColor = true; // // grpAudioFilenames // - this.grpAudioFilenames.AccessibleDescription = null; - this.grpAudioFilenames.AccessibleName = null; - resources.ApplyResources(this.grpAudioFilenames, "grpAudioFilenames"); - this.grpAudioFilenames.BackgroundImage = null; this.grpAudioFilenames.Controls.Add(this.chkFilenamesANSISafe); this.grpAudioFilenames.Controls.Add(this.chkKeepOriginalFilenames); this.grpAudioFilenames.Controls.Add(this.txtSpecialExceptions); @@ -588,182 +431,110 @@ namespace JDP { this.grpAudioFilenames.Controls.Add(this.lblTrackFilenameFormat); this.grpAudioFilenames.Controls.Add(this.lblSingleFilenameFormat); this.grpAudioFilenames.Controls.Add(this.txtSingleFilenameFormat); - this.grpAudioFilenames.Font = null; + resources.ApplyResources(this.grpAudioFilenames, "grpAudioFilenames"); this.grpAudioFilenames.Name = "grpAudioFilenames"; this.grpAudioFilenames.TabStop = false; - this.toolTip1.SetToolTip(this.grpAudioFilenames, resources.GetString("grpAudioFilenames.ToolTip")); // // chkKeepOriginalFilenames // - this.chkKeepOriginalFilenames.AccessibleDescription = null; - this.chkKeepOriginalFilenames.AccessibleName = null; resources.ApplyResources(this.chkKeepOriginalFilenames, "chkKeepOriginalFilenames"); - this.chkKeepOriginalFilenames.BackgroundImage = null; this.chkKeepOriginalFilenames.Checked = true; this.chkKeepOriginalFilenames.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkKeepOriginalFilenames.Font = null; this.chkKeepOriginalFilenames.Name = "chkKeepOriginalFilenames"; - this.toolTip1.SetToolTip(this.chkKeepOriginalFilenames, resources.GetString("chkKeepOriginalFilenames.ToolTip")); this.chkKeepOriginalFilenames.UseVisualStyleBackColor = true; // // txtSpecialExceptions // - this.txtSpecialExceptions.AccessibleDescription = null; - this.txtSpecialExceptions.AccessibleName = null; resources.ApplyResources(this.txtSpecialExceptions, "txtSpecialExceptions"); - this.txtSpecialExceptions.BackgroundImage = null; - this.txtSpecialExceptions.Font = null; this.txtSpecialExceptions.Name = "txtSpecialExceptions"; - this.toolTip1.SetToolTip(this.txtSpecialExceptions, resources.GetString("txtSpecialExceptions.ToolTip")); // // chkRemoveSpecial // - this.chkRemoveSpecial.AccessibleDescription = null; - this.chkRemoveSpecial.AccessibleName = null; resources.ApplyResources(this.chkRemoveSpecial, "chkRemoveSpecial"); - this.chkRemoveSpecial.BackgroundImage = null; this.chkRemoveSpecial.Checked = true; this.chkRemoveSpecial.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkRemoveSpecial.Font = null; this.chkRemoveSpecial.Name = "chkRemoveSpecial"; - this.toolTip1.SetToolTip(this.chkRemoveSpecial, resources.GetString("chkRemoveSpecial.ToolTip")); this.chkRemoveSpecial.UseVisualStyleBackColor = true; // // chkReplaceSpaces // - this.chkReplaceSpaces.AccessibleDescription = null; - this.chkReplaceSpaces.AccessibleName = null; resources.ApplyResources(this.chkReplaceSpaces, "chkReplaceSpaces"); - this.chkReplaceSpaces.BackgroundImage = null; this.chkReplaceSpaces.Checked = true; this.chkReplaceSpaces.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkReplaceSpaces.Font = null; this.chkReplaceSpaces.Name = "chkReplaceSpaces"; - this.toolTip1.SetToolTip(this.chkReplaceSpaces, resources.GetString("chkReplaceSpaces.ToolTip")); this.chkReplaceSpaces.UseVisualStyleBackColor = true; // // txtTrackFilenameFormat // - this.txtTrackFilenameFormat.AccessibleDescription = null; - this.txtTrackFilenameFormat.AccessibleName = null; resources.ApplyResources(this.txtTrackFilenameFormat, "txtTrackFilenameFormat"); - this.txtTrackFilenameFormat.BackgroundImage = null; - this.txtTrackFilenameFormat.Font = null; this.txtTrackFilenameFormat.Name = "txtTrackFilenameFormat"; - this.toolTip1.SetToolTip(this.txtTrackFilenameFormat, resources.GetString("txtTrackFilenameFormat.ToolTip")); // // lblTrackFilenameFormat // - this.lblTrackFilenameFormat.AccessibleDescription = null; - this.lblTrackFilenameFormat.AccessibleName = null; resources.ApplyResources(this.lblTrackFilenameFormat, "lblTrackFilenameFormat"); - this.lblTrackFilenameFormat.Font = null; this.lblTrackFilenameFormat.Name = "lblTrackFilenameFormat"; - this.toolTip1.SetToolTip(this.lblTrackFilenameFormat, resources.GetString("lblTrackFilenameFormat.ToolTip")); // // lblSingleFilenameFormat // - this.lblSingleFilenameFormat.AccessibleDescription = null; - this.lblSingleFilenameFormat.AccessibleName = null; resources.ApplyResources(this.lblSingleFilenameFormat, "lblSingleFilenameFormat"); - this.lblSingleFilenameFormat.Font = null; this.lblSingleFilenameFormat.Name = "lblSingleFilenameFormat"; - this.toolTip1.SetToolTip(this.lblSingleFilenameFormat, resources.GetString("lblSingleFilenameFormat.ToolTip")); // // txtSingleFilenameFormat // - this.txtSingleFilenameFormat.AccessibleDescription = null; - this.txtSingleFilenameFormat.AccessibleName = null; resources.ApplyResources(this.txtSingleFilenameFormat, "txtSingleFilenameFormat"); - this.txtSingleFilenameFormat.BackgroundImage = null; - this.txtSingleFilenameFormat.Font = null; this.txtSingleFilenameFormat.Name = "txtSingleFilenameFormat"; - this.toolTip1.SetToolTip(this.txtSingleFilenameFormat, resources.GetString("txtSingleFilenameFormat.ToolTip")); // // groupBox2 // - this.groupBox2.AccessibleDescription = null; - this.groupBox2.AccessibleName = null; - resources.ApplyResources(this.groupBox2, "groupBox2"); - this.groupBox2.BackgroundImage = null; this.groupBox2.Controls.Add(this.rbAPEinsane); this.groupBox2.Controls.Add(this.rbAPEextrahigh); this.groupBox2.Controls.Add(this.rbAPEhigh); this.groupBox2.Controls.Add(this.rbAPEnormal); this.groupBox2.Controls.Add(this.rbAPEfast); - this.groupBox2.Font = null; + resources.ApplyResources(this.groupBox2, "groupBox2"); this.groupBox2.Name = "groupBox2"; this.groupBox2.TabStop = false; - this.toolTip1.SetToolTip(this.groupBox2, resources.GetString("groupBox2.ToolTip")); // // rbAPEinsane // - this.rbAPEinsane.AccessibleDescription = null; - this.rbAPEinsane.AccessibleName = null; resources.ApplyResources(this.rbAPEinsane, "rbAPEinsane"); - this.rbAPEinsane.BackgroundImage = null; - this.rbAPEinsane.Font = null; this.rbAPEinsane.Name = "rbAPEinsane"; this.rbAPEinsane.TabStop = true; - this.toolTip1.SetToolTip(this.rbAPEinsane, resources.GetString("rbAPEinsane.ToolTip")); this.rbAPEinsane.UseVisualStyleBackColor = true; // // rbAPEextrahigh // - this.rbAPEextrahigh.AccessibleDescription = null; - this.rbAPEextrahigh.AccessibleName = null; resources.ApplyResources(this.rbAPEextrahigh, "rbAPEextrahigh"); - this.rbAPEextrahigh.BackgroundImage = null; - this.rbAPEextrahigh.Font = null; this.rbAPEextrahigh.Name = "rbAPEextrahigh"; this.rbAPEextrahigh.TabStop = true; - this.toolTip1.SetToolTip(this.rbAPEextrahigh, resources.GetString("rbAPEextrahigh.ToolTip")); this.rbAPEextrahigh.UseVisualStyleBackColor = true; // // rbAPEhigh // - this.rbAPEhigh.AccessibleDescription = null; - this.rbAPEhigh.AccessibleName = null; resources.ApplyResources(this.rbAPEhigh, "rbAPEhigh"); - this.rbAPEhigh.BackgroundImage = null; - this.rbAPEhigh.Font = null; this.rbAPEhigh.Name = "rbAPEhigh"; this.rbAPEhigh.TabStop = true; - this.toolTip1.SetToolTip(this.rbAPEhigh, resources.GetString("rbAPEhigh.ToolTip")); this.rbAPEhigh.UseVisualStyleBackColor = true; // // rbAPEnormal // - this.rbAPEnormal.AccessibleDescription = null; - this.rbAPEnormal.AccessibleName = null; resources.ApplyResources(this.rbAPEnormal, "rbAPEnormal"); - this.rbAPEnormal.BackgroundImage = null; - this.rbAPEnormal.Font = null; this.rbAPEnormal.Name = "rbAPEnormal"; this.rbAPEnormal.TabStop = true; - this.toolTip1.SetToolTip(this.rbAPEnormal, resources.GetString("rbAPEnormal.ToolTip")); this.rbAPEnormal.UseVisualStyleBackColor = true; // // rbAPEfast // - this.rbAPEfast.AccessibleDescription = null; - this.rbAPEfast.AccessibleName = null; resources.ApplyResources(this.rbAPEfast, "rbAPEfast"); - this.rbAPEfast.BackgroundImage = null; - this.rbAPEfast.Font = null; this.rbAPEfast.Name = "rbAPEfast"; this.rbAPEfast.TabStop = true; - this.toolTip1.SetToolTip(this.rbAPEfast, resources.GetString("rbAPEfast.ToolTip")); this.rbAPEfast.UseVisualStyleBackColor = true; // // frmSettings // this.AcceptButton = this.btnOK; - this.AccessibleDescription = null; - this.AccessibleName = null; resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackgroundImage = null; this.CancelButton = btnCancel; this.Controls.Add(this.groupBox2); this.Controls.Add(this.grpFLAC); @@ -774,10 +545,8 @@ namespace JDP { this.Controls.Add(this.btnOK); this.Controls.Add(this.grpGeneral); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.Icon = null; this.MaximizeBox = false; this.Name = "frmSettings"; - this.toolTip1.SetToolTip(this, resources.GetString("$this.ToolTip")); this.Load += new System.EventHandler(this.frmSettings_Load); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmSettings_FormClosing); this.grpGeneral.ResumeLayout(false); diff --git a/CUETools/frmSettings.resx b/CUETools/frmSettings.resx index e17a6f0..05e1741 100644 --- a/CUETools/frmSettings.resx +++ b/CUETools/frmSettings.resx @@ -117,1465 +117,1327 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - Verify - + + False + + + 270, 348 + 73, 23 - - chkRemoveSpecial - - - 2 - - - True - - - - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 12, 44 - - - 241, 114 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 12, 44 - - - 2 - - - 2 - - - Single format: - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Very High - - - 46, 17 - - - True - - - 2 - - - File should be in the same directory as source file and have a .log extension - - - groupBox1 - - - groupBox1 - - - grpGeneral - - - %N-%A-%T - - - True - - - btnOK - - - 7 - - - 10 - - - 36, 21 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 71, 17 - - - label2 - - + 6 - - 5 + + Cancel - - 5 + + btnCancel - - grpWavPack + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True + + $this - - chkKeepOriginalFilenames - - - 69, 17 - - - True - - - grpGeneral - - - Write offset (samples): - - - 58, 17 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + 3 - - True - - - True - - - 0 - - - System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 12, 92 - - - True - - - 585, 382 - - - 3 - - - - - - - - - %F - - - groupBox1 - True - - grpAudioFilenames + + 12, 95 - - 12, 20 + + 187, 17 - - grpAudioFilenames - - - 3 - - - 74, 13 - - - 135, 17 - - - 13, 36 - - - 130, 21 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - grpWavPack - - - 12, 150 - - - frmSettings - - - - - - - - - grpFLAC - - - - - - 3 - - - chkArNoUnverifiedAudio - - - 54, 17 - - - True - - - groupBox2 - - - 4 - - - rbWVHigh - - - groupBox1 - - - True - - - 103, 91 - - - True - - - lblTrackFilenameFormat - - - 75, 17 - - - 0 - - - - - - 0 - - - $this - - + 5 Fill up missing CUE data from tags - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + chkFillUpCUE - - 1 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 3 + + grpGeneral - - 58, 17 + + 0 - - grpWavPack + + True - - 37, 21 + + 12, 78 - - 97, 123 + + 134, 17 - - $this + + 4 + + + Embed log file as a tag + + + 17, 17 + + + File should be in the same directory as source file and have a .log extension + + + chkEmbedLog System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True + + grpGeneral - - 132, 66 + + 1 - - 194, 17 + + 133, 20 - - Locate audio files if missing + + 62, 21 - - 72, 13 + + 1 - - Audio Filenames + + + Right - - 2 + + numericWriteOffset + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpGeneral 2 - - - - - 8 - - - rbWVVeryHigh - - - groupBox1 - - - groupBox1 - - - 93, 17 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - chkPreserveHTOA - - - 46, 17 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 4 - - - - - - - - + True - - 0 + + 12, 61 + + + 155, 17 + + + 3 + + + Locate audio files if missing + + + Preprocess with filename corrector if unable to locate audio files + + + chkAutoCorrectFilenames + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpGeneral + + + 3 + + + True + + + 12, 44 229, 17 - + + 2 + + + Preserve HTOA for gaps appended output + + + chkPreserveHTOA + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpGeneral + + + 4 + + + True + + + 9, 23 + + + 118, 13 + + + 0 + + + Write offset (samples): + + + lblWriteOffset + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpGeneral + + + 5 + + + 8, 4 + + + 252, 122 + + + 0 + + + General + + + grpGeneral + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + 233, 17 + + + 36, 21 + + + 2 + + + Right + + + numericFLACCompressionLevel + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpFLAC + + + 0 + + + True + + + 130, 21 + + + 97, 13 + + + 1 + + + Compression level: + + + lblFLACCompressionLevel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpFLAC + + + 1 + + + True + + + 12, 20 + + + 54, 17 + + + 0 + + + Verify + + + chkFLACVerify + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpFLAC + + + 2 + + + 270, 282 + + + 303, 54 + + 4 FLAC - - True + + grpFLAC - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - True - - - 101, 13 - - - OK - - - 270, 348 - - - numericFLACCompressionLevel - - - 46, 17 - - - 2 - - - 132, 116 - - - 38, 21 - - - 12, 100 - - - groupBox2 - - - Only allow characters, which are present in ANSI codepage, for compatibility with non-unicode applications - - - grpAudioFilenames - - - 38, 21 - - - True - - - True + + $this 1 - - chkEmbedLog + + 188, 348 + + + 73, 23 + + + 5 + + + OK + + + btnOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 103, 91 + + + 36, 21 + + + 5 + + + Right + + + numWVExtraMode + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpWavPack + + + 0 + + + True + + + 12, 92 + + + 85, 17 + + + 4 + + + Extra mode: + + + chkWVExtraMode + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpWavPack + + + 1 + + + True + + + 13, 70 + + + 71, 17 + + + 3 + + + Very High + + + rbWVVeryHigh + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpWavPack + + + 2 + + + True + + + 13, 53 + + + 46, 17 + + + 2 + + + High + + + rbWVHigh + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpWavPack + + + 3 + + + True + + + 13, 36 + + + 58, 17 + + + 1 + + + Normal + + + rbWVNormal + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpWavPack 4 + + True + + + 13, 19 + + + 46, 17 + + + 0 + + + Fast + + + rbWVFast + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpWavPack + + + 5 + + + 268, 157 + + + 146, 119 + + + 3 + + + WavPack (.wv) + + + grpWavPack + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + True + + + 13, 94 + + + 81, 17 + + + 7 + + + Fix offset if + + + chkArFixOffset + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 0 + + + True + + + 111, 45 + + + 121, 13 + + + 3 + + + % of verified tracks >= + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 1 + + + 241, 43 + + + 38, 21 + + + 4 + + + numEncodeWhenPercent + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 2 + + + True + + + 132, 66 + + + 101, 13 + + + 5 + + + with confidence >= + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 3 + + + 241, 64 + + + 38, 21 + + + 6 + + + numEncodeWhenConfidence + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 4 + True - - 1 + + 12, 44 - - 0 + + 93, 17 - - grpAudioFilenames - - - 3 - - - 73, 23 - - - Normal - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Compression level: - - - - - - numFixWhenPercent - - - Force ANSI filenames - - - - - - % of verified tracks >= - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Fix offset if - - - - - - $this - - - - Manual - - - 0 - - - 0 - - + 2 - - 252, 204 + + Encode only if - - - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - - - - NoControl - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 241, 64 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 114, 21 - - - - - - numEncodeWhenConfidence - - - 111, 45 - - - lblWriteOffset + + chkArNoUnverifiedAudio System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 11 - - - True - - - chkFillUpCUE - - - Tahoma, 8.25pt - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 303, 54 - - - 0 - - - rbAPEhigh - - - 76, 17 - - - - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 149, 21 - - - 12, 21 - - + groupBox1 - - numEncodeWhenPercent + + 5 - - 145, 119 + + True - - grpFLAC + + 114, 21 - - 12, 61 + + 69, 17 - - grpGeneral + + 1 - - 97, 40 + + Write log - - 7 + + chkArSaveLog - - 3 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 groupBox1 - - 8 + + 6 - - + + True - - 0 + + 132, 116 - - 5 + + 101, 13 - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + 10 - - 1 + + with confidence >= - - txtSpecialExceptions - - - 12, 78 - - - Embed log file as a tag - - - - - - 118, 13 - - - Right - - - rbAPEnormal + + label2 System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + groupBox1 - + + 7 + + + 241, 114 + + + 37, 21 + + + 11 + + + numFixWhenConfidence + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 8 + + + True + + + 112, 95 + + + 121, 13 + + + 8 + + + % of verified tracks >= + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 9 + + + 241, 93 + + + 38, 21 + + + 9 + + + numFixWhenPercent + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 10 + + + True + + + 12, 21 + + + 76, 17 + + + 0 + + + Write tags + + + When using "apply offset" AccurateRip mode, also add ACCURATERIPCOUNT tag to flac files. You can set up foobar2000 to show this value, and see if your music was ripped correctly or how popular it is. + + + chkArAddCRCs + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 11 + + + 268, 4 + + + 307, 147 + + + 2 + + + AccurateRip + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + True + + + 12, 172 + + + 128, 17 + + + 7 + + + Force ANSI filenames + + + Only allow characters, which are present in ANSI codepage, for compatibility with non-unicode applications + + + chkFilenamesANSISafe + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioFilenames + + + 0 + + + True + + + NoControl + + + 12, 20 + + + 135, 17 + + + 0 + + + Keep original filenames + + + chkKeepOriginalFilenames + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioFilenames + + + 1 + + + 97, 123 + + + 149, 21 + + + 6 + + + -() + + + txtSpecialExceptions + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioFilenames + + + 2 + + True NoControl - - + + 12, 100 - - txtTrackFilenameFormat - - - grpWavPack - - - Right - - - 5 - - - grpAudioFilenames - - - AccurateRip - - - 13, 70 - - - 0 - - - 97, 68 - - - 13, 37 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 5 - - - txtSingleFilenameFormat - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4 - - - 4 - - - NoControl - - - Monkey's Audio (.ape) - - - Cancel - - - 7 - - - -() - - - True - - - True - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 307, 147 - - - chkArAddCRCs - - - Normal - - - groupBox2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - - - - 4 - - - - - - 134, 17 - - - chkWVExtraMode - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - with confidence >= - - - Write tags - - - rbWVNormal - - - Write log - - - grpWavPack - - - grpGeneral - - - 2 - - - groupBox1 - - - grpAudioFilenames - - - Keep original filenames - - - 233, 17 - - - 187, 17 - - - 0 - - - groupBox2 - - - 241, 43 - - - 9, 43 - - - 2 - - - 58, 17 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 268, 4 - - - rbAPEextrahigh - - - 270, 282 - - - 149, 21 - - - lblFLACCompressionLevel - - - chkArFixOffset - - - grpAudioFilenames - - - toolTip1 - - - Preserve HTOA for gaps appended output - - - grpWavPack - - - True - - - 3 - - - numWVExtraMode - - - 6 - - - $this - - - NoControl - - - 149, 21 - - - Extra High - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 12, 95 - - - groupBox1 - - - rbAPEfast - - - 13, 53 - - - label3 - - - When using "apply offset" AccurateRip mode, also add ACCURATERIPCOUNT tag to flac files. You can set up foobar2000 to show this value, and see if your music was ripped correctly or how popular it is. - - - 81, 17 - - - rbAPEinsane - - - High - - - 252, 122 - - - Right - - - 3 - - - groupBox1 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - 8, 4 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 185, 17 - - - 13, 19 - - - 146, 119 - - - - - - - - - 1 - - - 6 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - - - - 0 - - - 1 - - - - - - 8 - - - System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 97, 13 - - - - - - 5 - - - 3 - - - 5 - - - 6 - - - grpAudioFilenames - - - 6, 13 - - - $this - - - chkAutoCorrectFilenames - - - Remove special characters except: - - - 112, 95 - - - grpAudioFilenames - - - groupBox2 - - - 62, 21 - - - - - - True - - - label1 - - - 1 - - - 1 - - - 36, 21 - - - % of verified tracks >= - - - NoControl - - - 4 - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 12, 20 - - - 46, 17 - - - 121, 13 - - - Replace spaces with underscores - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6 - - - 155, 17 - - - - - - 241, 93 - - - - - - grpWavPack - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - - numFixWhenConfidence - - - 4 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 85, 17 - - - 188, 348 - - - Encode only if - - - 1 - - - 3 - - - 7 - - - chkFLACVerify - - - 1 - - - 8, 132 - - - lblSingleFilenameFormat - - - Extra mode: - - - 11 - - - True - - - 4 - - - 1 - - - 13, 71 - - - groupBox1 - - - chkArSaveLog - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - Advanced Settings - - - - - - 13, 94 - - - 1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 7 - - - 12, 172 - - - $this - - - 6 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 7 - - - Insane - - - - - - chkFilenamesANSISafe + + 194, 17 5 - - WavPack (.wv) + + Remove special characters except: - - + + chkRemoveSpecial - - True + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Fast + + grpAudioFilenames - - - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 13, 54 - - - 1 - - - Preprocess with filename corrector if unable to locate audio files - - - 4 - - - Fast - - - label4 - - - 101, 13 - - - $this - - - 9, 23 - - - 9 - - - 128, 17 - - - grpGeneral - - - - - - - - - - - - with confidence >= - - - btnCancel - - + 3 - - numericWriteOffset - - - 9 - - - grpGeneral - - - 2 - - - 2 - - - - - - 1 - - - 121, 13 - - - High - - - Track format: - - - grpFLAC - - - 268, 157 - - - 2 - - - - - + True - - groupBox1 + + NoControl - - 133, 20 + + 12, 150 + + + 185, 17 + + + 7 + + + Replace spaces with underscores chkReplaceSpaces - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + grpAudioFilenames - - + + 4 - - 7 + + 97, 68 - - + + 149, 21 - - 13, 20 + + 4 - - grpFLAC + + %N-%A-%T + + + txtTrackFilenameFormat + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 grpAudioFilenames - - 428, 157 + + 5 - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + True + + + NoControl 11, 71 - - 38, 21 + + 72, 13 - - General + + 3 + + + Track format: + + + lblTrackFilenameFormat + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioFilenames + + + 6 + + + True + + + NoControl + + + 9, 43 + + + 74, 13 + + + 1 + + + Single format: + + + lblSingleFilenameFormat + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioFilenames + + + 7 + + + 97, 40 + + + 149, 21 + + + 2 + + + %F + + + txtSingleFilenameFormat + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioFilenames + + + 8 + + + 8, 132 + + + 252, 204 + + + 1 + + + Audio Filenames + + + grpAudioFilenames + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + True 13, 88 + + 58, 17 + + + 4 + + + Insane + + + rbAPEinsane + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + groupBox2 - - rbWVFast + + 0 - - + + True + + + 13, 71 + + + 75, 17 + + + 3 + + + Extra High + + + rbAPEextrahigh + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 1 + + + True + + + 13, 54 + + + 46, 17 + + + 2 + + + High + + + rbAPEhigh + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 2 + + + True + + + 13, 37 + + + 58, 17 + + + 1 + + + Normal + + + rbAPEnormal + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 3 + + + True + + + 13, 20 + + + 46, 17 + + + 0 + + + Fast + + + rbAPEfast + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 4 + + + 428, 157 + + + 145, 119 + + + 7 + + + Monkey's Audio (.ape) + + + groupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 - - False - - - 17, 17 - True + + 6, 13 + + + 585, 382 + + + Tahoma, 8.25pt + + + Manual + + + Advanced Settings + + + toolTip1 + + + System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + frmSettings + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/CUEToolsLib/AudioReadWrite.cs b/CUEToolsLib/AudioReadWrite.cs index bd7f5f7..721d99c 100644 --- a/CUEToolsLib/AudioReadWrite.cs +++ b/CUEToolsLib/AudioReadWrite.cs @@ -17,6 +17,7 @@ namespace CUEToolsLib { int BitsPerSample { get; } int ChannelCount { get; } int SampleRate { get; } + string Path { get; } } public interface IAudioDest { @@ -24,6 +25,7 @@ namespace CUEToolsLib { bool SetTags(NameValueCollection tags); void Close(); long FinalSampleCount { set; } + string Path { get; } } public static class AudioReadWrite { @@ -87,6 +89,8 @@ namespace CUEToolsLib { public void Write(byte[] buff, uint sampleCount) { } + + public string Path { get { return null; } } } public class WAVReader : IAudioSource { @@ -96,8 +100,10 @@ namespace CUEToolsLib { ulong _samplePos, _sampleLen; int _bitsPerSample, _channelCount, _sampleRate, _blockAlign; bool _largeFile; + string _path; public WAVReader(string path) { + _path = path; _fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read); _br = new BinaryReader(_fs); @@ -283,6 +289,8 @@ namespace CUEToolsLib { return sampleCount; } + + public string Path { get { return _path; } } } public class WAVWriter : IAudioDest { @@ -290,8 +298,10 @@ namespace CUEToolsLib { BinaryWriter _bw; int _bitsPerSample, _channelCount, _sampleRate, _blockAlign; long _sampleLen; + string _path; public WAVWriter(string path, int bitsPerSample, int channelCount, int sampleRate) { + _path = path; _bitsPerSample = bitsPerSample; _channelCount = channelCount; _sampleRate = sampleRate; @@ -380,6 +390,8 @@ namespace CUEToolsLib { _sampleLen += sampleCount; } } + + public string Path { get { return _path; } } } #if !MONO @@ -506,6 +518,8 @@ namespace CUEToolsLib { return sampleCount; } + + public string Path { get { return _flacReader.Path; } } } class FLACWriter : IAudioDest { @@ -592,6 +606,8 @@ namespace CUEToolsLib { BytesToFLACSamples_16(buff, 0, _sampleBuffer, 0, sampleCount, _channelCount); _flacWriter.Write(_sampleBuffer, (int) sampleCount); } + + public string Path { get { return _flacWriter.Path; } } } #endif @@ -715,6 +731,8 @@ namespace CUEToolsLib { return sampleCount; } + + public string Path { get { return _apeReader.Path; } } } class APEWriter : IAudioDest @@ -791,6 +809,7 @@ namespace CUEToolsLib { //_apeWriter.Write(_sampleBuffer, (int)sampleCount); _apeWriter.Write (buff, sampleCount); } + public string Path { get { return _apeWriter.Path; } } } #endif @@ -887,6 +906,8 @@ namespace CUEToolsLib { return sampleCount; } + + public string Path { get { return _wavPackReader.Path; } } } class WavPackWriter : IAudioDest { @@ -973,6 +994,8 @@ namespace CUEToolsLib { BytesToWavPackSamples_16(buff, 0, _sampleBuffer, 0, sampleCount, _channelCount); _wavPackWriter.Write(_sampleBuffer, (int) sampleCount); } + + public string Path { get { return _wavPackWriter.Path; } } } #endif } \ No newline at end of file diff --git a/CUEToolsLib/Main.cs b/CUEToolsLib/Main.cs index b6b6b48..03762e6 100644 --- a/CUEToolsLib/Main.cs +++ b/CUEToolsLib/Main.cs @@ -186,7 +186,7 @@ namespace CUEToolsLib } } - public delegate void SetStatus(string status, uint percentTrack, double percentDisk); + public delegate void SetStatus(string status, uint percentTrack, double percentDisk, string input, string output); public enum CUEStyle { SingleFileWithCUE, @@ -221,6 +221,7 @@ namespace CUEToolsLib public bool embedLog; public bool fillUpCUE; public bool filenamesANSISafe; + public bool bruteForceDTL; public CUEConfig() { @@ -249,6 +250,7 @@ namespace CUEToolsLib embedLog = true; fillUpCUE = true; filenamesANSISafe = true; + bruteForceDTL = false; } public void Save (SettingsWriter sw) @@ -278,6 +280,7 @@ namespace CUEToolsLib sw.Save("EmbedLog", embedLog); sw.Save("FillUpCUE", fillUpCUE); sw.Save("FilenamesANSISafe", filenamesANSISafe); + sw.Save("BruteForceDTL", bruteForceDTL); } public void Load(SettingsReader sr) @@ -307,6 +310,7 @@ namespace CUEToolsLib embedLog = sr.LoadBoolean("EmbedLog") ?? true; fillUpCUE = sr.LoadBoolean("FillUpCUE") ?? true; filenamesANSISafe = sr.LoadBoolean("FilenamesANSISafe") ?? true; + bruteForceDTL = sr.LoadBoolean("BruteForceDTL") ?? false; } public string CleanseString (string s) @@ -349,7 +353,9 @@ namespace CUEToolsLib private int _writeOffset; private bool _accurateRip, _accurateOffset; private uint? _dataTrackLength; + private uint? _minDataTrackLength; private string _accurateRipId; + private string _accurateRipIdActual; private string _eacLog; private string _cuePath; private NameValueCollection _albumTags; @@ -357,6 +363,7 @@ namespace CUEToolsLib private HttpStatusCode accResult; private const int _arOffsetRange = 5 * 588 - 1; CUEConfig _config; + string _cddbDiscIdTag; public CUESheet(string pathIn, CUEConfig config) { @@ -386,6 +393,7 @@ namespace CUEToolsLib _accurateOffset = false; _appliedWriteOffset = false; _dataTrackLength = null; + _minDataTrackLength = null; _albumTags = new NameValueCollection(); cueDir = Path.GetDirectoryName(pathIn); pathAudio = null; @@ -684,8 +692,19 @@ namespace CUEToolsLib catch { } } } - if (_accurateRipId == null && _dataTrackLength != null) - CalculateAccurateRipId(); + + CUELine cddbDiscIdLine = General.FindCUELine(_attributes, "REM", "DISCID"); + _cddbDiscIdTag = cddbDiscIdLine != null && cddbDiscIdLine.Params.Count == 3 ? cddbDiscIdLine.Params[2] : null; + if (_cddbDiscIdTag == null) _cddbDiscIdTag = GetCommonTag("DISCID"); + + if (_dataTrackLength != null) + _accurateRipIdActual = _accurateRipId = CalculateAccurateRipId(); + else + { + _accurateRipIdActual = CalculateAccurateRipId(); + if (_accurateRipId == null) + _accurateRipId = _accurateRipIdActual; + } } public static Encoding Encoding { @@ -950,7 +969,7 @@ namespace CUEToolsLib return (uint) (data[pos] + ( data[pos+1] << 8 ) + ( data[pos+2] << 16 ) + ( data[pos+3] << 24) ); } - private void CalculateAccurateRipId () + private string CalculateAccurateRipId () { // Calculate the three disc ids used by AR uint discId1 = 0; @@ -979,6 +998,16 @@ namespace CUEToolsLib discId1 += trackOffset; discId2 += (trackOffset == 0 ? 1 : trackOffset) * ((uint)TrackCount + 1); + if (!_dataTrackLength.HasValue && _cddbDiscIdTag != null) + { + uint cddbDiscIdNum = UInt32.Parse(_cddbDiscIdTag, NumberStyles.HexNumber); + if ((cddbDiscIdNum & 0xff) == TrackCount + 1) + { + uint lengthFromTag = ((cddbDiscIdNum >> 8) & 0xffff); + _minDataTrackLength = ((lengthFromTag + (uint)(_tracks[0].IndexLengths[0] / 75)) - 152) * 75 - trackOffset; + } + } + cddbDiscId = ((cddbDiscId % 255) << 24) + (((uint)(trackOffset / 75) - (uint)(_tracks[0].IndexLengths[0] / 75)) << 8) + (uint)(TrackCount + (_dataTrackLength.HasValue ? 1 : 0)); @@ -987,7 +1016,7 @@ namespace CUEToolsLib discId2 &= 0xFFFFFFFF; cddbDiscId &= 0xFFFFFFFF; - _accurateRipId = String.Format("{0:x8}-{1:x8}-{2:x8}", discId1, discId2, cddbDiscId); + return String.Format("{0:x8}-{1:x8}-{2:x8}", discId1, discId2, cddbDiscId); } public void ContactAccurateRip() @@ -996,10 +1025,7 @@ namespace CUEToolsLib uint discId1 = 0; uint discId2 = 0; uint cddbDiscId = 0; - - if (_accurateRipId == null) - CalculateAccurateRipId (); - + string[] n = _accurateRipId.Split('-'); if (n.Length != 3) { throw new Exception("Invalid accurateRipId."); @@ -1212,22 +1238,34 @@ namespace CUEToolsLib { int iTrack; sw.WriteLine (String.Format("[Disc ID: {0}]", _accurateRipId)); - if (0 != _writeOffset) - sw.WriteLine(String.Format("Offset applied: {0}", _writeOffset)); - sw.WriteLine(String.Format("Track\t[ CRC ] Status")); + if (_dataTrackLength.HasValue) + sw.WriteLine("Assuming a data track was present, length {0}.", General.TimeToString(_dataTrackLength.Value)); + else + { + if (_minDataTrackLength.HasValue) + sw.WriteLine("Data track was probably present, length {0}-{1}.", General.TimeToString(_minDataTrackLength.Value), General.TimeToString(_minDataTrackLength.Value + 74)); + if (_accurateRipIdActual != _accurateRipId) + sw.WriteLine("Using preserved id, actual id is {0}.", _accurateRipIdActual); + } if (accResult == HttpStatusCode.NotFound) { - for (iTrack = 0; iTrack < TrackCount; iTrack++) - sw.WriteLine(String.Format(" {0:00}\t[{1:x8}] Disk not present in database", iTrack + 1, _tracks[iTrack].CRC)); + sw.WriteLine("Disk not present in database."); + //for (iTrack = 0; iTrack < TrackCount; iTrack++) + // sw.WriteLine(String.Format(" {0:00}\t[{1:x8}] Disk not present in database", iTrack + 1, _tracks[iTrack].CRC)); } else if (accResult != HttpStatusCode.OK) { - for (iTrack = 0; iTrack < TrackCount; iTrack++) - sw.WriteLine(String.Format(" {0:00}\t[{1:x8}] Database access error {2}", iTrack + 1, _tracks[iTrack].CRC, accResult.ToString())); + sw.WriteLine("Database access error: " + accResult.ToString()); + //for (iTrack = 0; iTrack < TrackCount; iTrack++) + // sw.WriteLine(String.Format(" {0:00}\t[{1:x8}] Database access error {2}", iTrack + 1, _tracks[iTrack].CRC, accResult.ToString())); } else { - GenerateAccurateRipLog(sw, _writeOffset); + if (0 != _writeOffset) + sw.WriteLine(String.Format("Offset applied: {0}", _writeOffset)); + int offsetApplied = _accurateOffset ? _writeOffset : 0; + sw.WriteLine(String.Format("Track\t[ CRC ] Status")); + GenerateAccurateRipLog(sw, offsetApplied); uint offsets_match = 0; for (int oi = -_arOffsetRange; oi <= _arOffsetRange; oi++) { @@ -1237,7 +1275,7 @@ namespace CUEToolsLib if ( (_tracks[iTrack].OffsetedCRC[_arOffsetRange - oi] == accDisks[di].tracks[iTrack].CRC && accDisks[di].tracks[iTrack].CRC != 0) || (_tracks[iTrack].OffsetedFrame450CRC[_arOffsetRange - oi] == accDisks[di].tracks[iTrack].Frame450CRC && accDisks[di].tracks[iTrack].Frame450CRC != 0) ) matches++; - if (matches != 0 && oi != _writeOffset) + if (matches != 0 && oi != offsetApplied) { if (offsets_match++ > 10) { @@ -1381,8 +1419,37 @@ namespace CUEToolsLib bool SkipOutput = false; if (_accurateRip) { - statusDel((string)"Contacting AccurateRip database...", 0, 0); - ContactAccurateRip(); + statusDel((string)"Contacting AccurateRip database...", 0, 0, null, null); + if (!_dataTrackLength.HasValue && _minDataTrackLength.HasValue && _accurateRipId == _accurateRipIdActual && _config.bruteForceDTL) + { + uint minDTL = _minDataTrackLength.Value; + for (uint dtl = minDTL; dtl < minDTL + 75; dtl++) + { + _dataTrackLength = dtl; + _accurateRipId = CalculateAccurateRipId(); + ContactAccurateRip(); + if (accResult != HttpStatusCode.NotFound) + break; + statusDel((string)"Contacting AccurateRip database...", 0, (dtl-minDTL)/75.0, null, null); + lock (this) { + if (_stop) + throw new StopException(); + if (_pause) + { + statusDel("Paused...", 0, 0, null, null); + Monitor.Wait(this); + } + else + Monitor.Wait(this, 1000); + } + } + if (accResult != HttpStatusCode.OK) + { + _dataTrackLength = null; + _accurateRipId = _accurateRipIdActual; + } + } else + ContactAccurateRip(); if (accResult != HttpStatusCode.OK) { @@ -1390,7 +1457,7 @@ namespace CUEToolsLib { if (_config.writeArLog) { - if (dir != "" && !Directory.Exists(dir)) + if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); StreamWriter sw = new StreamWriter(Path.ChangeExtension(_cuePath, ".accurip"), false, CUESheet.Encoding); @@ -1439,7 +1506,7 @@ namespace CUEToolsLib if (_accurateRip) { - statusDel((string)"Generating AccurateRip report...", 0, 0); + statusDel((string)"Generating AccurateRip report...", 0, 0, null, null); if (!_accurateOffset && _config.writeArTags && _writeOffset == 0) { uint tracksMatch; @@ -1554,6 +1621,7 @@ namespace CUEToolsLib } destTags.Remove("CUESHEET"); + destTags.Remove("TITLE"); CleanupTags(destTags, "ACCURATERIP"); CleanupTags(destTags, "REPLAYGAIN"); @@ -1675,7 +1743,7 @@ namespace CUEToolsLib diskLength += _tracks[iTrack].IndexLengths[iIndex] * 588; - statusDel(String.Format("{2} track {0:00} ({1:00}%)...", 0, 0, noOutput ? "Verifying" : "Writing"), 0, 0.0); + statusDel(String.Format("{2} track {0:00} ({1:00}%)...", 0, 0, noOutput ? "Verifying" : "Writing"), 0, 0.0, null, null); for (iTrack = 0; iTrack < TrackCount; iTrack++) { track = _tracks[iTrack]; @@ -1740,7 +1808,8 @@ namespace CUEToolsLib double diskPercent = ((float)diskOffset) / diskLength; if (trackPercent != lastTrackPercent) statusDel(String.Format("{2} track {0:00} ({1:00}%)...", iIndex > 0 ? iTrack + 1 : iTrack, trackPercent, - noOutput?"Verifying":"Writing"), trackPercent, diskPercent); + noOutput ? "Verifying" : "Writing"), trackPercent, diskPercent, + audioSource.Path, discardOutput ? null : audioDest.Path); lastTrackPercent = trackPercent; } @@ -1780,7 +1849,7 @@ namespace CUEToolsLib } if (_pause) { - statusDel ("Paused...", 0, 0); + statusDel ("Paused...", 0, 0, null, null); Monitor.Wait(this); } } @@ -2097,8 +2166,7 @@ namespace CUEToolsLib if (dtl != 0) { _dataTrackLength = dtl; - if (_accurateRip && _accurateRipId == null) - CalculateAccurateRipId (); + _accurateRipId = _accurateRipIdActual = CalculateAccurateRipId(); } } } @@ -2403,5 +2471,7 @@ namespace CUEToolsLib public void Close() { } + + public string Path { get { return null; } } } } \ No newline at end of file diff --git a/FLACDotNet/flacdotnet.cpp b/FLACDotNet/flacdotnet.cpp index 0aec40b..0cca350 100644 --- a/FLACDotNet/flacdotnet.cpp +++ b/FLACDotNet/flacdotnet.cpp @@ -145,6 +145,12 @@ namespace FLACDotNet { } } + property String^ Path { + String^ get() { + return _path; + } + } + property NameValueCollection^ Tags { NameValueCollection^ get () { return _tags; @@ -436,6 +442,12 @@ namespace FLACDotNet { _tags = tags; } + property String^ Path { + String^ get() { + return _path; + } + } + void Write(array^ sampleBuffer, Int32 sampleCount) { if (!_initialized) Initialize(); diff --git a/WavPackDotNet/WavPackDotNet.cpp b/WavPackDotNet/WavPackDotNet.cpp index e9a3d72..c854c5f 100644 --- a/WavPackDotNet/WavPackDotNet.cpp +++ b/WavPackDotNet/WavPackDotNet.cpp @@ -114,6 +114,12 @@ namespace WavPackDotNet { } } + property String^ Path { + String^ get() { + return _path; + } + } + property NameValueCollection^ Tags { NameValueCollection^ get () { if (!_tags) @@ -250,6 +256,12 @@ namespace WavPackDotNet { _samplesWritten += sampleCount; } + property String^ Path { + String^ get() { + return _path; + } + } + void SetTags (NameValueCollection^ tags) { _tags = tags; }