* New batch mode for command-line use

* Fixed extra null character sometimes appearing in .ape tags
* Played around with data track length bruteforce, concept proved, but not enabling it
* Data track diagnostics in accuraterip log
This commit is contained in:
chudov
2008-10-25 18:42:28 +00:00
parent 850eb4b5fb
commit 47534c491a
13 changed files with 1532 additions and 1664 deletions

View File

@@ -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;
}

View File

@@ -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)

View File

@@ -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)
{
}
}

View File

@@ -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();

View File

@@ -28,40 +28,92 @@ namespace JDP
/// </summary>
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;
}
}

View File

@@ -20,6 +20,12 @@ namespace JDP
_audioFormat = OutputAudioFormat.WAV;
_accurateRip = true;
_accurateOffset = false;
_batchPaths = new List<string>();
}
public void AddInputPath(string path)
{
_batchPaths.Add(path);
}
public string InputPath
@@ -48,8 +54,16 @@ namespace JDP
bool _accurateRip;
bool _accurateOffset;
DateTime _startedAt;
List<string> _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.";
//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();
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<string>();
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();
}

View File

@@ -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;

View File

@@ -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);

File diff suppressed because it is too large Load Diff

View File

@@ -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
}

View File

@@ -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()
@@ -997,9 +1026,6 @@ namespace CUEToolsLib
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,7 +1419,36 @@ namespace CUEToolsLib
bool SkipOutput = false;
if (_accurateRip) {
statusDel((string)"Contacting AccurateRip database...", 0, 0);
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; } }
}
}

View File

@@ -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<Int32, 2>^ sampleBuffer, Int32 sampleCount) {
if (!_initialized) Initialize();

View File

@@ -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;
}