apeCompressionLevel option

filenamesANSISafe option
AR log saved even if disc not found in database
fixed a crash when the input path didn't contain the actual path (current directory)
tags preserved in more modes
default options slightly re-tuned
a separate form for 'About' dialog
worker thread priority lowered
dbpoweramp-like tag added
This commit is contained in:
chudov
2008-10-22 11:45:53 +00:00
parent c67c1510f0
commit 850eb4b5fb
14 changed files with 2454 additions and 1593 deletions

View File

@@ -71,12 +71,19 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" /> <Reference Include="System.Deployment" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="frmAbout.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmAbout.Designer.cs">
<DependentUpon>frmAbout.cs</DependentUpon>
</Compile>
<Compile Include="frmBatch.cs"> <Compile Include="frmBatch.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@@ -109,6 +116,14 @@
</Compile> </Compile>
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="frmAbout.resx">
<SubType>Designer</SubType>
<DependentUpon>frmAbout.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmAbout.ru-RU.resx">
<SubType>Designer</SubType>
<DependentUpon>frmAbout.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmBatch.resx"> <EmbeddedResource Include="frmBatch.resx">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<DependentUpon>frmBatch.cs</DependentUpon> <DependentUpon>frmBatch.cs</DependentUpon>

101
CUETools/frmAbout.Designer.cs generated Normal file
View File

@@ -0,0 +1,101 @@
namespace JDP
{
partial class frmAbout
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmAbout));
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// linkLabel1
//
this.linkLabel1.AccessibleDescription = null;
this.linkLabel1.AccessibleName = null;
resources.ApplyResources(this.linkLabel1, "linkLabel1");
this.linkLabel1.Font = null;
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.TabStop = true;
this.linkLabel1.UseCompatibleTextRendering = true;
//
// textBox1
//
this.textBox1.AccessibleDescription = null;
this.textBox1.AccessibleName = null;
resources.ApplyResources(this.textBox1, "textBox1");
this.textBox1.BackColor = System.Drawing.SystemColors.Control;
this.textBox1.BackgroundImage = null;
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.textBox1.Font = null;
this.textBox1.Name = "textBox1";
this.textBox1.ReadOnly = true;
//
// button1
//
this.button1.AccessibleDescription = null;
this.button1.AccessibleName = null;
resources.ApplyResources(this.button1, "button1");
this.button1.BackgroundImage = null;
this.button1.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.button1.Font = null;
this.button1.Name = "button1";
this.button1.UseVisualStyleBackColor = true;
//
// frmAbout
//
this.AccessibleDescription = null;
this.AccessibleName = null;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackgroundImage = null;
this.CancelButton = this.button1;
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.linkLabel1);
this.Font = null;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
this.Icon = null;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmAbout";
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
}
}

18
CUETools/frmAbout.cs Normal file
View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace JDP
{
public partial class frmAbout : Form
{
public frmAbout()
{
InitializeComponent();
}
}
}

240
CUETools/frmAbout.resx Normal file
View File

@@ -0,0 +1,240 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="&gt;&gt;textBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="linkLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>265, 17</value>
</data>
<data name="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value>
</data>
<data name="button1.Location" type="System.Drawing.Point, System.Drawing">
<value>182, 211</value>
</data>
<data name="&gt;&gt;textBox1.Name" xml:space="preserve">
<value>textBox1</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="linkLabel1.LinkArea" type="System.Windows.Forms.LinkArea, System.Windows.Forms">
<value>27, 22</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>About CUETools v1.9.2</value>
</data>
<data name="&gt;&gt;button1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;linkLabel1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="linkLabel1.Location" type="System.Drawing.Point, System.Drawing">
<value>87, 10</value>
</data>
<data name="&gt;&gt;textBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;button1.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="textBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>415, 151</value>
</data>
<data name="button1.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>439, 263</value>
</data>
<data name="&gt;&gt;textBox1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="button1.Text" xml:space="preserve">
<value>Close</value>
</data>
<data name="textBox1.Text" xml:space="preserve">
<value>AccurateRip, Monkey's Audio and
embedded CUE sheet support added in 2008
by Greg Chudov, gchudov@gmail.com.
Thanks go out to Christopher Key and Whitehobbit
for insight on AccurateRip functionality,
and to Mr Spoon for permission to use the database.
Monkey's Audio library by Matthew T. Ashland.</value>
</data>
<data name="&gt;&gt;linkLabel1.Name" xml:space="preserve">
<value>linkLabel1</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="textBox1.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="linkLabel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;linkLabel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="textBox1.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
<value>Center</value>
</data>
<data name="linkLabel1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="linkLabel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="button1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;button1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;linkLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="textBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 41</value>
</data>
<data name="linkLabel1.Text" xml:space="preserve">
<value>Copyright 2006-2008 Moitah http://www.moitah.net/.</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmAbout</value>
</data>
<data name="textBox1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Russian (Russia)</value>
</metadata>
</root>

View File

@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="textBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>415, 149</value>
</data>
<data name="textBox1.Text" xml:space="preserve">
<value>Библиотека Monkey's Audio (c) Matthew T. Ashland.
Поддержка AccurateRip, Monkey's Audio и встроенных .cue
добавлена в 2008 году Григорием Чудовым, gchudov@gmail.com.
Спасибо Christopher Key и Whitehobbit за их исследования принципов
работы AccurateRip, и Mr Spoon за разрешение пользоваться базой данных.
Пользуясь возможностью, хотел бы попросить российских
граждан требовать от своего правительства немедленного
освобождения политических заключенных и вывода войск
с оккупированных грузинских территорий. Григорий Чудов.</value>
</data>
<data name="button1.Location" type="System.Drawing.Point, System.Drawing">
<value>182, 208</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>CUETools v1.9.2: О программе</value>
</data>
</root>

View File

@@ -199,6 +199,8 @@ namespace JDP
_workThread = new Thread(WriteAudioFilesThread); _workThread = new Thread(WriteAudioFilesThread);
_workClass = cueSheet; _workClass = cueSheet;
_workThread.Priority = ThreadPriority.BelowNormal;
_workThread.IsBackground = true;
_workThread.Start(cueSheet); _workThread.Start(cueSheet);
} }
catch (Exception ex) catch (Exception ex)

View File

@@ -128,19 +128,9 @@ namespace JDP {
} }
private void btnAbout_Click(object sender, EventArgs e) { private void btnAbout_Click(object sender, EventArgs e) {
using (frmReport reportForm = new frmReport()) using (frmAbout aboutForm = new frmAbout())
{ {
StringWriter sw = new StringWriter(); aboutForm.ShowDialog(this);
sw.WriteLine("CUE Tools v1.9.2");
sw.WriteLine("Copyright 2006-2007 Moitah http://www.moitah.net/.");
sw.WriteLine("AccurateRip, Monkey's Audio and embedded CUE sheet support added in 2008 by Greg Chudov, gchudov@gmail.com.");
sw.WriteLine("Thanks go out to Christopher Key and Whitehobbit for insight on AccurateRip functionality and to Mr Spoon for permission to use the database.");
sw.WriteLine("Monkey's Audio library by Matthew T. Ashland.");
reportForm.Message = sw.ToString();
sw.Close();
CenterSubForm(reportForm);
reportForm.Text = "About CUE Tools";
reportForm.ShowDialog(this);
} }
} }
@@ -296,6 +286,9 @@ namespace JDP {
p[2] = cueStyle; p[2] = cueStyle;
SetupControls(true); SetupControls(true);
//System.Diagnostics; Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.High;
_workThread.Priority = ThreadPriority.BelowNormal;
_workThread.IsBackground = true;
_workThread.Start(p); _workThread.Start(p);
} }
else { else {

View File

@@ -42,8 +42,8 @@ namespace JDP
// //
// txtReport // txtReport
// //
resources.ApplyResources(this.txtReport, "txtReport");
this.txtReport.BackColor = System.Drawing.SystemColors.Control; this.txtReport.BackColor = System.Drawing.SystemColors.Control;
resources.ApplyResources(this.txtReport, "txtReport");
this.txtReport.Name = "txtReport"; this.txtReport.Name = "txtReport";
this.txtReport.ReadOnly = true; this.txtReport.ReadOnly = true;
// //
@@ -57,6 +57,7 @@ namespace JDP
this.MaximizeBox = false; this.MaximizeBox = false;
this.MinimizeBox = false; this.MinimizeBox = false;
this.Name = "frmReport"; this.Name = "frmReport";
this.ShowInTaskbar = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();

View File

@@ -59,6 +59,7 @@ namespace JDP {
this.numFixWhenPercent = new System.Windows.Forms.NumericUpDown(); this.numFixWhenPercent = new System.Windows.Forms.NumericUpDown();
this.chkArAddCRCs = new System.Windows.Forms.CheckBox(); this.chkArAddCRCs = new System.Windows.Forms.CheckBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.chkFilenamesANSISafe = new System.Windows.Forms.CheckBox();
this.grpAudioFilenames = new System.Windows.Forms.GroupBox(); this.grpAudioFilenames = new System.Windows.Forms.GroupBox();
this.chkKeepOriginalFilenames = new System.Windows.Forms.CheckBox(); this.chkKeepOriginalFilenames = new System.Windows.Forms.CheckBox();
this.txtSpecialExceptions = new System.Windows.Forms.TextBox(); this.txtSpecialExceptions = new System.Windows.Forms.TextBox();
@@ -68,6 +69,12 @@ namespace JDP {
this.lblTrackFilenameFormat = new System.Windows.Forms.Label(); this.lblTrackFilenameFormat = new System.Windows.Forms.Label();
this.lblSingleFilenameFormat = new System.Windows.Forms.Label(); this.lblSingleFilenameFormat = new System.Windows.Forms.Label();
this.txtSingleFilenameFormat = new System.Windows.Forms.TextBox(); this.txtSingleFilenameFormat = new System.Windows.Forms.TextBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.rbAPEinsane = new System.Windows.Forms.RadioButton();
this.rbAPEextrahigh = new System.Windows.Forms.RadioButton();
this.rbAPEhigh = new System.Windows.Forms.RadioButton();
this.rbAPEnormal = new System.Windows.Forms.RadioButton();
this.rbAPEfast = new System.Windows.Forms.RadioButton();
btnCancel = new System.Windows.Forms.Button(); btnCancel = new System.Windows.Forms.Button();
this.grpGeneral.SuspendLayout(); this.grpGeneral.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit();
@@ -81,43 +88,66 @@ namespace JDP {
((System.ComponentModel.ISupportInitialize)(this.numFixWhenConfidence)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numFixWhenConfidence)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numFixWhenPercent)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numFixWhenPercent)).BeginInit();
this.grpAudioFilenames.SuspendLayout(); this.grpAudioFilenames.SuspendLayout();
this.groupBox2.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// btnCancel // btnCancel
// //
btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; btnCancel.AccessibleDescription = null;
btnCancel.AccessibleName = null;
resources.ApplyResources(btnCancel, "btnCancel"); resources.ApplyResources(btnCancel, "btnCancel");
btnCancel.BackgroundImage = null;
btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
btnCancel.Font = null;
btnCancel.Name = "btnCancel"; btnCancel.Name = "btnCancel";
this.toolTip1.SetToolTip(btnCancel, resources.GetString("btnCancel.ToolTip"));
btnCancel.UseVisualStyleBackColor = true; btnCancel.UseVisualStyleBackColor = true;
// //
// grpGeneral // 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.chkFillUpCUE);
this.grpGeneral.Controls.Add(this.chkEmbedLog); this.grpGeneral.Controls.Add(this.chkEmbedLog);
this.grpGeneral.Controls.Add(this.numericWriteOffset); this.grpGeneral.Controls.Add(this.numericWriteOffset);
this.grpGeneral.Controls.Add(this.chkAutoCorrectFilenames); this.grpGeneral.Controls.Add(this.chkAutoCorrectFilenames);
this.grpGeneral.Controls.Add(this.chkPreserveHTOA); this.grpGeneral.Controls.Add(this.chkPreserveHTOA);
this.grpGeneral.Controls.Add(this.lblWriteOffset); this.grpGeneral.Controls.Add(this.lblWriteOffset);
resources.ApplyResources(this.grpGeneral, "grpGeneral"); this.grpGeneral.Font = null;
this.grpGeneral.Name = "grpGeneral"; this.grpGeneral.Name = "grpGeneral";
this.grpGeneral.TabStop = false; this.grpGeneral.TabStop = false;
this.toolTip1.SetToolTip(this.grpGeneral, resources.GetString("grpGeneral.ToolTip"));
// //
// chkFillUpCUE // chkFillUpCUE
// //
this.chkFillUpCUE.AccessibleDescription = null;
this.chkFillUpCUE.AccessibleName = null;
resources.ApplyResources(this.chkFillUpCUE, "chkFillUpCUE"); resources.ApplyResources(this.chkFillUpCUE, "chkFillUpCUE");
this.chkFillUpCUE.BackgroundImage = null;
this.chkFillUpCUE.Font = null;
this.chkFillUpCUE.Name = "chkFillUpCUE"; this.chkFillUpCUE.Name = "chkFillUpCUE";
this.toolTip1.SetToolTip(this.chkFillUpCUE, resources.GetString("chkFillUpCUE.ToolTip"));
this.chkFillUpCUE.UseVisualStyleBackColor = true; this.chkFillUpCUE.UseVisualStyleBackColor = true;
// //
// chkEmbedLog // chkEmbedLog
// //
this.chkEmbedLog.AccessibleDescription = null;
this.chkEmbedLog.AccessibleName = null;
resources.ApplyResources(this.chkEmbedLog, "chkEmbedLog"); resources.ApplyResources(this.chkEmbedLog, "chkEmbedLog");
this.chkEmbedLog.BackgroundImage = null;
this.chkEmbedLog.Font = null;
this.chkEmbedLog.Name = "chkEmbedLog"; this.chkEmbedLog.Name = "chkEmbedLog";
this.toolTip1.SetToolTip(this.chkEmbedLog, resources.GetString("chkEmbedLog.ToolTip")); this.toolTip1.SetToolTip(this.chkEmbedLog, resources.GetString("chkEmbedLog.ToolTip"));
this.chkEmbedLog.UseVisualStyleBackColor = true; this.chkEmbedLog.UseVisualStyleBackColor = true;
// //
// numericWriteOffset // numericWriteOffset
// //
this.numericWriteOffset.AccessibleDescription = null;
this.numericWriteOffset.AccessibleName = null;
resources.ApplyResources(this.numericWriteOffset, "numericWriteOffset"); resources.ApplyResources(this.numericWriteOffset, "numericWriteOffset");
this.numericWriteOffset.Font = null;
this.numericWriteOffset.Maximum = new decimal(new int[] { this.numericWriteOffset.Maximum = new decimal(new int[] {
5000, 5000,
0, 0,
@@ -129,43 +159,66 @@ namespace JDP {
0, 0,
-2147483648}); -2147483648});
this.numericWriteOffset.Name = "numericWriteOffset"; this.numericWriteOffset.Name = "numericWriteOffset";
this.toolTip1.SetToolTip(this.numericWriteOffset, resources.GetString("numericWriteOffset.ToolTip"));
// //
// chkAutoCorrectFilenames // chkAutoCorrectFilenames
// //
this.chkAutoCorrectFilenames.AccessibleDescription = null;
this.chkAutoCorrectFilenames.AccessibleName = null;
resources.ApplyResources(this.chkAutoCorrectFilenames, "chkAutoCorrectFilenames"); resources.ApplyResources(this.chkAutoCorrectFilenames, "chkAutoCorrectFilenames");
this.chkAutoCorrectFilenames.BackgroundImage = null;
this.chkAutoCorrectFilenames.Font = null;
this.chkAutoCorrectFilenames.Name = "chkAutoCorrectFilenames"; this.chkAutoCorrectFilenames.Name = "chkAutoCorrectFilenames";
this.toolTip1.SetToolTip(this.chkAutoCorrectFilenames, resources.GetString("chkAutoCorrectFilenames.ToolTip")); this.toolTip1.SetToolTip(this.chkAutoCorrectFilenames, resources.GetString("chkAutoCorrectFilenames.ToolTip"));
this.chkAutoCorrectFilenames.UseVisualStyleBackColor = true; this.chkAutoCorrectFilenames.UseVisualStyleBackColor = true;
// //
// chkPreserveHTOA // chkPreserveHTOA
// //
this.chkPreserveHTOA.AccessibleDescription = null;
this.chkPreserveHTOA.AccessibleName = null;
resources.ApplyResources(this.chkPreserveHTOA, "chkPreserveHTOA"); resources.ApplyResources(this.chkPreserveHTOA, "chkPreserveHTOA");
this.chkPreserveHTOA.BackgroundImage = null;
this.chkPreserveHTOA.Font = null;
this.chkPreserveHTOA.Name = "chkPreserveHTOA"; this.chkPreserveHTOA.Name = "chkPreserveHTOA";
this.toolTip1.SetToolTip(this.chkPreserveHTOA, resources.GetString("chkPreserveHTOA.ToolTip"));
this.chkPreserveHTOA.UseVisualStyleBackColor = true; this.chkPreserveHTOA.UseVisualStyleBackColor = true;
// //
// lblWriteOffset // lblWriteOffset
// //
this.lblWriteOffset.AccessibleDescription = null;
this.lblWriteOffset.AccessibleName = null;
resources.ApplyResources(this.lblWriteOffset, "lblWriteOffset"); resources.ApplyResources(this.lblWriteOffset, "lblWriteOffset");
this.lblWriteOffset.Font = null;
this.lblWriteOffset.Name = "lblWriteOffset"; this.lblWriteOffset.Name = "lblWriteOffset";
this.toolTip1.SetToolTip(this.lblWriteOffset, resources.GetString("lblWriteOffset.ToolTip"));
// //
// grpFLAC // 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.numericFLACCompressionLevel);
this.grpFLAC.Controls.Add(this.lblFLACCompressionLevel); this.grpFLAC.Controls.Add(this.lblFLACCompressionLevel);
this.grpFLAC.Controls.Add(this.chkFLACVerify); this.grpFLAC.Controls.Add(this.chkFLACVerify);
resources.ApplyResources(this.grpFLAC, "grpFLAC"); this.grpFLAC.Font = null;
this.grpFLAC.Name = "grpFLAC"; this.grpFLAC.Name = "grpFLAC";
this.grpFLAC.TabStop = false; this.grpFLAC.TabStop = false;
this.toolTip1.SetToolTip(this.grpFLAC, resources.GetString("grpFLAC.ToolTip"));
// //
// numericFLACCompressionLevel // numericFLACCompressionLevel
// //
this.numericFLACCompressionLevel.AccessibleDescription = null;
this.numericFLACCompressionLevel.AccessibleName = null;
resources.ApplyResources(this.numericFLACCompressionLevel, "numericFLACCompressionLevel"); resources.ApplyResources(this.numericFLACCompressionLevel, "numericFLACCompressionLevel");
this.numericFLACCompressionLevel.Font = null;
this.numericFLACCompressionLevel.Maximum = new decimal(new int[] { this.numericFLACCompressionLevel.Maximum = new decimal(new int[] {
8, 8,
0, 0,
0, 0,
0}); 0});
this.numericFLACCompressionLevel.Name = "numericFLACCompressionLevel"; this.numericFLACCompressionLevel.Name = "numericFLACCompressionLevel";
this.toolTip1.SetToolTip(this.numericFLACCompressionLevel, resources.GetString("numericFLACCompressionLevel.ToolTip"));
this.numericFLACCompressionLevel.Value = new decimal(new int[] { this.numericFLACCompressionLevel.Value = new decimal(new int[] {
5, 5,
0, 0,
@@ -174,38 +227,60 @@ namespace JDP {
// //
// lblFLACCompressionLevel // lblFLACCompressionLevel
// //
this.lblFLACCompressionLevel.AccessibleDescription = null;
this.lblFLACCompressionLevel.AccessibleName = null;
resources.ApplyResources(this.lblFLACCompressionLevel, "lblFLACCompressionLevel"); resources.ApplyResources(this.lblFLACCompressionLevel, "lblFLACCompressionLevel");
this.lblFLACCompressionLevel.Font = null;
this.lblFLACCompressionLevel.Name = "lblFLACCompressionLevel"; this.lblFLACCompressionLevel.Name = "lblFLACCompressionLevel";
this.toolTip1.SetToolTip(this.lblFLACCompressionLevel, resources.GetString("lblFLACCompressionLevel.ToolTip"));
// //
// chkFLACVerify // chkFLACVerify
// //
this.chkFLACVerify.AccessibleDescription = null;
this.chkFLACVerify.AccessibleName = null;
resources.ApplyResources(this.chkFLACVerify, "chkFLACVerify"); resources.ApplyResources(this.chkFLACVerify, "chkFLACVerify");
this.chkFLACVerify.BackgroundImage = null;
this.chkFLACVerify.Font = null;
this.chkFLACVerify.Name = "chkFLACVerify"; this.chkFLACVerify.Name = "chkFLACVerify";
this.toolTip1.SetToolTip(this.chkFLACVerify, resources.GetString("chkFLACVerify.ToolTip"));
this.chkFLACVerify.UseVisualStyleBackColor = true; this.chkFLACVerify.UseVisualStyleBackColor = true;
// //
// btnOK // btnOK
// //
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK; this.btnOK.AccessibleDescription = null;
this.btnOK.AccessibleName = null;
resources.ApplyResources(this.btnOK, "btnOK"); resources.ApplyResources(this.btnOK, "btnOK");
this.btnOK.BackgroundImage = null;
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOK.Font = null;
this.btnOK.Name = "btnOK"; this.btnOK.Name = "btnOK";
this.toolTip1.SetToolTip(this.btnOK, resources.GetString("btnOK.ToolTip"));
this.btnOK.UseVisualStyleBackColor = true; this.btnOK.UseVisualStyleBackColor = true;
this.btnOK.Click += new System.EventHandler(this.btnOK_Click); this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
// //
// grpWavPack // 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.numWVExtraMode);
this.grpWavPack.Controls.Add(this.chkWVExtraMode); this.grpWavPack.Controls.Add(this.chkWVExtraMode);
this.grpWavPack.Controls.Add(this.rbWVVeryHigh); this.grpWavPack.Controls.Add(this.rbWVVeryHigh);
this.grpWavPack.Controls.Add(this.rbWVHigh); this.grpWavPack.Controls.Add(this.rbWVHigh);
this.grpWavPack.Controls.Add(this.rbWVNormal); this.grpWavPack.Controls.Add(this.rbWVNormal);
this.grpWavPack.Controls.Add(this.rbWVFast); this.grpWavPack.Controls.Add(this.rbWVFast);
resources.ApplyResources(this.grpWavPack, "grpWavPack"); this.grpWavPack.Font = null;
this.grpWavPack.Name = "grpWavPack"; this.grpWavPack.Name = "grpWavPack";
this.grpWavPack.TabStop = false; this.grpWavPack.TabStop = false;
this.toolTip1.SetToolTip(this.grpWavPack, resources.GetString("grpWavPack.ToolTip"));
// //
// numWVExtraMode // numWVExtraMode
// //
this.numWVExtraMode.AccessibleDescription = null;
this.numWVExtraMode.AccessibleName = null;
resources.ApplyResources(this.numWVExtraMode, "numWVExtraMode"); resources.ApplyResources(this.numWVExtraMode, "numWVExtraMode");
this.numWVExtraMode.Font = null;
this.numWVExtraMode.Maximum = new decimal(new int[] { this.numWVExtraMode.Maximum = new decimal(new int[] {
6, 6,
0, 0,
@@ -217,6 +292,7 @@ namespace JDP {
0, 0,
0}); 0});
this.numWVExtraMode.Name = "numWVExtraMode"; this.numWVExtraMode.Name = "numWVExtraMode";
this.toolTip1.SetToolTip(this.numWVExtraMode, resources.GetString("numWVExtraMode.ToolTip"));
this.numWVExtraMode.Value = new decimal(new int[] { this.numWVExtraMode.Value = new decimal(new int[] {
1, 1,
0, 0,
@@ -225,39 +301,68 @@ namespace JDP {
// //
// chkWVExtraMode // chkWVExtraMode
// //
this.chkWVExtraMode.AccessibleDescription = null;
this.chkWVExtraMode.AccessibleName = null;
resources.ApplyResources(this.chkWVExtraMode, "chkWVExtraMode"); resources.ApplyResources(this.chkWVExtraMode, "chkWVExtraMode");
this.chkWVExtraMode.BackgroundImage = null;
this.chkWVExtraMode.Font = null;
this.chkWVExtraMode.Name = "chkWVExtraMode"; this.chkWVExtraMode.Name = "chkWVExtraMode";
this.toolTip1.SetToolTip(this.chkWVExtraMode, resources.GetString("chkWVExtraMode.ToolTip"));
this.chkWVExtraMode.UseVisualStyleBackColor = true; this.chkWVExtraMode.UseVisualStyleBackColor = true;
this.chkWVExtraMode.CheckedChanged += new System.EventHandler(this.chkWVExtraMode_CheckedChanged); this.chkWVExtraMode.CheckedChanged += new System.EventHandler(this.chkWVExtraMode_CheckedChanged);
// //
// rbWVVeryHigh // rbWVVeryHigh
// //
this.rbWVVeryHigh.AccessibleDescription = null;
this.rbWVVeryHigh.AccessibleName = null;
resources.ApplyResources(this.rbWVVeryHigh, "rbWVVeryHigh"); resources.ApplyResources(this.rbWVVeryHigh, "rbWVVeryHigh");
this.rbWVVeryHigh.BackgroundImage = null;
this.rbWVVeryHigh.Font = null;
this.rbWVVeryHigh.Name = "rbWVVeryHigh"; this.rbWVVeryHigh.Name = "rbWVVeryHigh";
this.toolTip1.SetToolTip(this.rbWVVeryHigh, resources.GetString("rbWVVeryHigh.ToolTip"));
this.rbWVVeryHigh.UseVisualStyleBackColor = true; this.rbWVVeryHigh.UseVisualStyleBackColor = true;
// //
// rbWVHigh // rbWVHigh
// //
this.rbWVHigh.AccessibleDescription = null;
this.rbWVHigh.AccessibleName = null;
resources.ApplyResources(this.rbWVHigh, "rbWVHigh"); resources.ApplyResources(this.rbWVHigh, "rbWVHigh");
this.rbWVHigh.BackgroundImage = null;
this.rbWVHigh.Font = null;
this.rbWVHigh.Name = "rbWVHigh"; this.rbWVHigh.Name = "rbWVHigh";
this.toolTip1.SetToolTip(this.rbWVHigh, resources.GetString("rbWVHigh.ToolTip"));
this.rbWVHigh.UseVisualStyleBackColor = true; this.rbWVHigh.UseVisualStyleBackColor = true;
// //
// rbWVNormal // rbWVNormal
// //
this.rbWVNormal.AccessibleDescription = null;
this.rbWVNormal.AccessibleName = null;
resources.ApplyResources(this.rbWVNormal, "rbWVNormal"); resources.ApplyResources(this.rbWVNormal, "rbWVNormal");
this.rbWVNormal.BackgroundImage = null;
this.rbWVNormal.Checked = true; this.rbWVNormal.Checked = true;
this.rbWVNormal.Font = null;
this.rbWVNormal.Name = "rbWVNormal"; this.rbWVNormal.Name = "rbWVNormal";
this.rbWVNormal.TabStop = true; this.rbWVNormal.TabStop = true;
this.toolTip1.SetToolTip(this.rbWVNormal, resources.GetString("rbWVNormal.ToolTip"));
this.rbWVNormal.UseVisualStyleBackColor = true; this.rbWVNormal.UseVisualStyleBackColor = true;
// //
// rbWVFast // rbWVFast
// //
this.rbWVFast.AccessibleDescription = null;
this.rbWVFast.AccessibleName = null;
resources.ApplyResources(this.rbWVFast, "rbWVFast"); resources.ApplyResources(this.rbWVFast, "rbWVFast");
this.rbWVFast.BackgroundImage = null;
this.rbWVFast.Font = null;
this.rbWVFast.Name = "rbWVFast"; this.rbWVFast.Name = "rbWVFast";
this.toolTip1.SetToolTip(this.rbWVFast, resources.GetString("rbWVFast.ToolTip"));
this.rbWVFast.UseVisualStyleBackColor = true; this.rbWVFast.UseVisualStyleBackColor = true;
// //
// groupBox1 // 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.chkArFixOffset);
this.groupBox1.Controls.Add(this.label4); this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.numEncodeWhenPercent); this.groupBox1.Controls.Add(this.numEncodeWhenPercent);
@@ -270,38 +375,52 @@ namespace JDP {
this.groupBox1.Controls.Add(this.label1); this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.numFixWhenPercent); this.groupBox1.Controls.Add(this.numFixWhenPercent);
this.groupBox1.Controls.Add(this.chkArAddCRCs); this.groupBox1.Controls.Add(this.chkArAddCRCs);
resources.ApplyResources(this.groupBox1, "groupBox1"); this.groupBox1.Font = null;
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
this.toolTip1.SetToolTip(this.groupBox1, resources.GetString("groupBox1.ToolTip"));
// //
// chkArFixOffset // chkArFixOffset
// //
this.chkArFixOffset.AccessibleDescription = null;
this.chkArFixOffset.AccessibleName = null;
resources.ApplyResources(this.chkArFixOffset, "chkArFixOffset"); resources.ApplyResources(this.chkArFixOffset, "chkArFixOffset");
this.chkArFixOffset.BackgroundImage = null;
this.chkArFixOffset.Checked = true; this.chkArFixOffset.Checked = true;
this.chkArFixOffset.CheckState = System.Windows.Forms.CheckState.Checked; this.chkArFixOffset.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkArFixOffset.Font = null;
this.chkArFixOffset.Name = "chkArFixOffset"; this.chkArFixOffset.Name = "chkArFixOffset";
this.toolTip1.SetToolTip(this.chkArFixOffset, resources.GetString("chkArFixOffset.ToolTip"));
this.chkArFixOffset.UseVisualStyleBackColor = true; this.chkArFixOffset.UseVisualStyleBackColor = true;
this.chkArFixOffset.CheckedChanged += new System.EventHandler(this.chkArFixOffset_CheckedChanged); this.chkArFixOffset.CheckedChanged += new System.EventHandler(this.chkArFixOffset_CheckedChanged);
// //
// label4 // label4
// //
this.label4.AccessibleDescription = null;
this.label4.AccessibleName = null;
resources.ApplyResources(this.label4, "label4"); resources.ApplyResources(this.label4, "label4");
this.label4.Font = null;
this.label4.Name = "label4"; this.label4.Name = "label4";
this.toolTip1.SetToolTip(this.label4, resources.GetString("label4.ToolTip"));
// //
// numEncodeWhenPercent // 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[] { this.numEncodeWhenPercent.Increment = new decimal(new int[] {
5, 5,
0, 0,
0, 0,
0}); 0});
resources.ApplyResources(this.numEncodeWhenPercent, "numEncodeWhenPercent");
this.numEncodeWhenPercent.Minimum = new decimal(new int[] { this.numEncodeWhenPercent.Minimum = new decimal(new int[] {
1, 1,
0, 0,
0, 0,
0}); 0});
this.numEncodeWhenPercent.Name = "numEncodeWhenPercent"; this.numEncodeWhenPercent.Name = "numEncodeWhenPercent";
this.toolTip1.SetToolTip(this.numEncodeWhenPercent, resources.GetString("numEncodeWhenPercent.ToolTip"));
this.numEncodeWhenPercent.Value = new decimal(new int[] { this.numEncodeWhenPercent.Value = new decimal(new int[] {
100, 100,
0, 0,
@@ -310,18 +429,26 @@ namespace JDP {
// //
// label3 // label3
// //
this.label3.AccessibleDescription = null;
this.label3.AccessibleName = null;
resources.ApplyResources(this.label3, "label3"); resources.ApplyResources(this.label3, "label3");
this.label3.Font = null;
this.label3.Name = "label3"; this.label3.Name = "label3";
this.toolTip1.SetToolTip(this.label3, resources.GetString("label3.ToolTip"));
// //
// numEncodeWhenConfidence // numEncodeWhenConfidence
// //
this.numEncodeWhenConfidence.AccessibleDescription = null;
this.numEncodeWhenConfidence.AccessibleName = null;
resources.ApplyResources(this.numEncodeWhenConfidence, "numEncodeWhenConfidence"); resources.ApplyResources(this.numEncodeWhenConfidence, "numEncodeWhenConfidence");
this.numEncodeWhenConfidence.Font = null;
this.numEncodeWhenConfidence.Minimum = new decimal(new int[] { this.numEncodeWhenConfidence.Minimum = new decimal(new int[] {
1, 1,
0, 0,
0, 0,
0}); 0});
this.numEncodeWhenConfidence.Name = "numEncodeWhenConfidence"; this.numEncodeWhenConfidence.Name = "numEncodeWhenConfidence";
this.toolTip1.SetToolTip(this.numEncodeWhenConfidence, resources.GetString("numEncodeWhenConfidence.ToolTip"));
this.numEncodeWhenConfidence.Value = new decimal(new int[] { this.numEncodeWhenConfidence.Value = new decimal(new int[] {
1, 1,
0, 0,
@@ -330,35 +457,53 @@ namespace JDP {
// //
// chkArNoUnverifiedAudio // chkArNoUnverifiedAudio
// //
this.chkArNoUnverifiedAudio.AccessibleDescription = null;
this.chkArNoUnverifiedAudio.AccessibleName = null;
resources.ApplyResources(this.chkArNoUnverifiedAudio, "chkArNoUnverifiedAudio"); resources.ApplyResources(this.chkArNoUnverifiedAudio, "chkArNoUnverifiedAudio");
this.chkArNoUnverifiedAudio.BackgroundImage = null;
this.chkArNoUnverifiedAudio.Checked = true; this.chkArNoUnverifiedAudio.Checked = true;
this.chkArNoUnverifiedAudio.CheckState = System.Windows.Forms.CheckState.Checked; this.chkArNoUnverifiedAudio.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkArNoUnverifiedAudio.Font = null;
this.chkArNoUnverifiedAudio.Name = "chkArNoUnverifiedAudio"; this.chkArNoUnverifiedAudio.Name = "chkArNoUnverifiedAudio";
this.toolTip1.SetToolTip(this.chkArNoUnverifiedAudio, resources.GetString("chkArNoUnverifiedAudio.ToolTip"));
this.chkArNoUnverifiedAudio.UseVisualStyleBackColor = true; this.chkArNoUnverifiedAudio.UseVisualStyleBackColor = true;
this.chkArNoUnverifiedAudio.CheckedChanged += new System.EventHandler(this.chkArNoUnverifiedAudio_CheckedChanged); this.chkArNoUnverifiedAudio.CheckedChanged += new System.EventHandler(this.chkArNoUnverifiedAudio_CheckedChanged);
// //
// chkArSaveLog // chkArSaveLog
// //
this.chkArSaveLog.AccessibleDescription = null;
this.chkArSaveLog.AccessibleName = null;
resources.ApplyResources(this.chkArSaveLog, "chkArSaveLog"); resources.ApplyResources(this.chkArSaveLog, "chkArSaveLog");
this.chkArSaveLog.BackgroundImage = null;
this.chkArSaveLog.Checked = true; this.chkArSaveLog.Checked = true;
this.chkArSaveLog.CheckState = System.Windows.Forms.CheckState.Checked; this.chkArSaveLog.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkArSaveLog.Font = null;
this.chkArSaveLog.Name = "chkArSaveLog"; this.chkArSaveLog.Name = "chkArSaveLog";
this.toolTip1.SetToolTip(this.chkArSaveLog, resources.GetString("chkArSaveLog.ToolTip"));
this.chkArSaveLog.UseVisualStyleBackColor = true; this.chkArSaveLog.UseVisualStyleBackColor = true;
// //
// label2 // label2
// //
this.label2.AccessibleDescription = null;
this.label2.AccessibleName = null;
resources.ApplyResources(this.label2, "label2"); resources.ApplyResources(this.label2, "label2");
this.label2.Font = null;
this.label2.Name = "label2"; this.label2.Name = "label2";
this.toolTip1.SetToolTip(this.label2, resources.GetString("label2.ToolTip"));
// //
// numFixWhenConfidence // numFixWhenConfidence
// //
this.numFixWhenConfidence.AccessibleDescription = null;
this.numFixWhenConfidence.AccessibleName = null;
resources.ApplyResources(this.numFixWhenConfidence, "numFixWhenConfidence"); resources.ApplyResources(this.numFixWhenConfidence, "numFixWhenConfidence");
this.numFixWhenConfidence.Font = null;
this.numFixWhenConfidence.Minimum = new decimal(new int[] { this.numFixWhenConfidence.Minimum = new decimal(new int[] {
1, 1,
0, 0,
0, 0,
0}); 0});
this.numFixWhenConfidence.Name = "numFixWhenConfidence"; this.numFixWhenConfidence.Name = "numFixWhenConfidence";
this.toolTip1.SetToolTip(this.numFixWhenConfidence, resources.GetString("numFixWhenConfidence.ToolTip"));
this.numFixWhenConfidence.Value = new decimal(new int[] { this.numFixWhenConfidence.Value = new decimal(new int[] {
1, 1,
0, 0,
@@ -367,23 +512,31 @@ namespace JDP {
// //
// label1 // label1
// //
this.label1.AccessibleDescription = null;
this.label1.AccessibleName = null;
resources.ApplyResources(this.label1, "label1"); resources.ApplyResources(this.label1, "label1");
this.label1.Font = null;
this.label1.Name = "label1"; this.label1.Name = "label1";
this.toolTip1.SetToolTip(this.label1, resources.GetString("label1.ToolTip"));
// //
// numFixWhenPercent // 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[] { this.numFixWhenPercent.Increment = new decimal(new int[] {
5, 5,
0, 0,
0, 0,
0}); 0});
resources.ApplyResources(this.numFixWhenPercent, "numFixWhenPercent");
this.numFixWhenPercent.Minimum = new decimal(new int[] { this.numFixWhenPercent.Minimum = new decimal(new int[] {
1, 1,
0, 0,
0, 0,
0}); 0});
this.numFixWhenPercent.Name = "numFixWhenPercent"; this.numFixWhenPercent.Name = "numFixWhenPercent";
this.toolTip1.SetToolTip(this.numFixWhenPercent, resources.GetString("numFixWhenPercent.ToolTip"));
this.numFixWhenPercent.Value = new decimal(new int[] { this.numFixWhenPercent.Value = new decimal(new int[] {
51, 51,
0, 0,
@@ -392,9 +545,13 @@ namespace JDP {
// //
// chkArAddCRCs // chkArAddCRCs
// //
this.chkArAddCRCs.AccessibleDescription = null;
this.chkArAddCRCs.AccessibleName = null;
resources.ApplyResources(this.chkArAddCRCs, "chkArAddCRCs"); resources.ApplyResources(this.chkArAddCRCs, "chkArAddCRCs");
this.chkArAddCRCs.BackgroundImage = null;
this.chkArAddCRCs.Checked = true; this.chkArAddCRCs.Checked = true;
this.chkArAddCRCs.CheckState = System.Windows.Forms.CheckState.Checked; this.chkArAddCRCs.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkArAddCRCs.Font = null;
this.chkArAddCRCs.Name = "chkArAddCRCs"; this.chkArAddCRCs.Name = "chkArAddCRCs";
this.toolTip1.SetToolTip(this.chkArAddCRCs, resources.GetString("chkArAddCRCs.ToolTip")); this.toolTip1.SetToolTip(this.chkArAddCRCs, resources.GetString("chkArAddCRCs.ToolTip"));
this.chkArAddCRCs.UseVisualStyleBackColor = true; this.chkArAddCRCs.UseVisualStyleBackColor = true;
@@ -405,8 +562,24 @@ namespace JDP {
this.toolTip1.InitialDelay = 500; this.toolTip1.InitialDelay = 500;
this.toolTip1.ReshowDelay = 100; this.toolTip1.ReshowDelay = 100;
// //
// 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 // 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.chkKeepOriginalFilenames);
this.grpAudioFilenames.Controls.Add(this.txtSpecialExceptions); this.grpAudioFilenames.Controls.Add(this.txtSpecialExceptions);
this.grpAudioFilenames.Controls.Add(this.chkRemoveSpecial); this.grpAudioFilenames.Controls.Add(this.chkRemoveSpecial);
@@ -415,75 +588,196 @@ namespace JDP {
this.grpAudioFilenames.Controls.Add(this.lblTrackFilenameFormat); this.grpAudioFilenames.Controls.Add(this.lblTrackFilenameFormat);
this.grpAudioFilenames.Controls.Add(this.lblSingleFilenameFormat); this.grpAudioFilenames.Controls.Add(this.lblSingleFilenameFormat);
this.grpAudioFilenames.Controls.Add(this.txtSingleFilenameFormat); this.grpAudioFilenames.Controls.Add(this.txtSingleFilenameFormat);
resources.ApplyResources(this.grpAudioFilenames, "grpAudioFilenames"); this.grpAudioFilenames.Font = null;
this.grpAudioFilenames.Name = "grpAudioFilenames"; this.grpAudioFilenames.Name = "grpAudioFilenames";
this.grpAudioFilenames.TabStop = false; this.grpAudioFilenames.TabStop = false;
this.toolTip1.SetToolTip(this.grpAudioFilenames, resources.GetString("grpAudioFilenames.ToolTip"));
// //
// chkKeepOriginalFilenames // chkKeepOriginalFilenames
// //
this.chkKeepOriginalFilenames.AccessibleDescription = null;
this.chkKeepOriginalFilenames.AccessibleName = null;
resources.ApplyResources(this.chkKeepOriginalFilenames, "chkKeepOriginalFilenames"); resources.ApplyResources(this.chkKeepOriginalFilenames, "chkKeepOriginalFilenames");
this.chkKeepOriginalFilenames.BackgroundImage = null;
this.chkKeepOriginalFilenames.Checked = true; this.chkKeepOriginalFilenames.Checked = true;
this.chkKeepOriginalFilenames.CheckState = System.Windows.Forms.CheckState.Checked; this.chkKeepOriginalFilenames.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkKeepOriginalFilenames.Font = null;
this.chkKeepOriginalFilenames.Name = "chkKeepOriginalFilenames"; this.chkKeepOriginalFilenames.Name = "chkKeepOriginalFilenames";
this.toolTip1.SetToolTip(this.chkKeepOriginalFilenames, resources.GetString("chkKeepOriginalFilenames.ToolTip"));
this.chkKeepOriginalFilenames.UseVisualStyleBackColor = true; this.chkKeepOriginalFilenames.UseVisualStyleBackColor = true;
// //
// txtSpecialExceptions // txtSpecialExceptions
// //
this.txtSpecialExceptions.AccessibleDescription = null;
this.txtSpecialExceptions.AccessibleName = null;
resources.ApplyResources(this.txtSpecialExceptions, "txtSpecialExceptions"); resources.ApplyResources(this.txtSpecialExceptions, "txtSpecialExceptions");
this.txtSpecialExceptions.BackgroundImage = null;
this.txtSpecialExceptions.Font = null;
this.txtSpecialExceptions.Name = "txtSpecialExceptions"; this.txtSpecialExceptions.Name = "txtSpecialExceptions";
this.toolTip1.SetToolTip(this.txtSpecialExceptions, resources.GetString("txtSpecialExceptions.ToolTip"));
// //
// chkRemoveSpecial // chkRemoveSpecial
// //
this.chkRemoveSpecial.AccessibleDescription = null;
this.chkRemoveSpecial.AccessibleName = null;
resources.ApplyResources(this.chkRemoveSpecial, "chkRemoveSpecial"); resources.ApplyResources(this.chkRemoveSpecial, "chkRemoveSpecial");
this.chkRemoveSpecial.BackgroundImage = null;
this.chkRemoveSpecial.Checked = true; this.chkRemoveSpecial.Checked = true;
this.chkRemoveSpecial.CheckState = System.Windows.Forms.CheckState.Checked; this.chkRemoveSpecial.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkRemoveSpecial.Font = null;
this.chkRemoveSpecial.Name = "chkRemoveSpecial"; this.chkRemoveSpecial.Name = "chkRemoveSpecial";
this.toolTip1.SetToolTip(this.chkRemoveSpecial, resources.GetString("chkRemoveSpecial.ToolTip"));
this.chkRemoveSpecial.UseVisualStyleBackColor = true; this.chkRemoveSpecial.UseVisualStyleBackColor = true;
// //
// chkReplaceSpaces // chkReplaceSpaces
// //
this.chkReplaceSpaces.AccessibleDescription = null;
this.chkReplaceSpaces.AccessibleName = null;
resources.ApplyResources(this.chkReplaceSpaces, "chkReplaceSpaces"); resources.ApplyResources(this.chkReplaceSpaces, "chkReplaceSpaces");
this.chkReplaceSpaces.BackgroundImage = null;
this.chkReplaceSpaces.Checked = true; this.chkReplaceSpaces.Checked = true;
this.chkReplaceSpaces.CheckState = System.Windows.Forms.CheckState.Checked; this.chkReplaceSpaces.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkReplaceSpaces.Font = null;
this.chkReplaceSpaces.Name = "chkReplaceSpaces"; this.chkReplaceSpaces.Name = "chkReplaceSpaces";
this.toolTip1.SetToolTip(this.chkReplaceSpaces, resources.GetString("chkReplaceSpaces.ToolTip"));
this.chkReplaceSpaces.UseVisualStyleBackColor = true; this.chkReplaceSpaces.UseVisualStyleBackColor = true;
// //
// txtTrackFilenameFormat // txtTrackFilenameFormat
// //
this.txtTrackFilenameFormat.AccessibleDescription = null;
this.txtTrackFilenameFormat.AccessibleName = null;
resources.ApplyResources(this.txtTrackFilenameFormat, "txtTrackFilenameFormat"); resources.ApplyResources(this.txtTrackFilenameFormat, "txtTrackFilenameFormat");
this.txtTrackFilenameFormat.BackgroundImage = null;
this.txtTrackFilenameFormat.Font = null;
this.txtTrackFilenameFormat.Name = "txtTrackFilenameFormat"; this.txtTrackFilenameFormat.Name = "txtTrackFilenameFormat";
this.toolTip1.SetToolTip(this.txtTrackFilenameFormat, resources.GetString("txtTrackFilenameFormat.ToolTip"));
// //
// lblTrackFilenameFormat // lblTrackFilenameFormat
// //
this.lblTrackFilenameFormat.AccessibleDescription = null;
this.lblTrackFilenameFormat.AccessibleName = null;
resources.ApplyResources(this.lblTrackFilenameFormat, "lblTrackFilenameFormat"); resources.ApplyResources(this.lblTrackFilenameFormat, "lblTrackFilenameFormat");
this.lblTrackFilenameFormat.Font = null;
this.lblTrackFilenameFormat.Name = "lblTrackFilenameFormat"; this.lblTrackFilenameFormat.Name = "lblTrackFilenameFormat";
this.toolTip1.SetToolTip(this.lblTrackFilenameFormat, resources.GetString("lblTrackFilenameFormat.ToolTip"));
// //
// lblSingleFilenameFormat // lblSingleFilenameFormat
// //
this.lblSingleFilenameFormat.AccessibleDescription = null;
this.lblSingleFilenameFormat.AccessibleName = null;
resources.ApplyResources(this.lblSingleFilenameFormat, "lblSingleFilenameFormat"); resources.ApplyResources(this.lblSingleFilenameFormat, "lblSingleFilenameFormat");
this.lblSingleFilenameFormat.Font = null;
this.lblSingleFilenameFormat.Name = "lblSingleFilenameFormat"; this.lblSingleFilenameFormat.Name = "lblSingleFilenameFormat";
this.toolTip1.SetToolTip(this.lblSingleFilenameFormat, resources.GetString("lblSingleFilenameFormat.ToolTip"));
// //
// txtSingleFilenameFormat // txtSingleFilenameFormat
// //
this.txtSingleFilenameFormat.AccessibleDescription = null;
this.txtSingleFilenameFormat.AccessibleName = null;
resources.ApplyResources(this.txtSingleFilenameFormat, "txtSingleFilenameFormat"); resources.ApplyResources(this.txtSingleFilenameFormat, "txtSingleFilenameFormat");
this.txtSingleFilenameFormat.BackgroundImage = null;
this.txtSingleFilenameFormat.Font = null;
this.txtSingleFilenameFormat.Name = "txtSingleFilenameFormat"; 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;
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 // frmSettings
// //
this.AcceptButton = this.btnOK; this.AcceptButton = this.btnOK;
this.AccessibleDescription = null;
this.AccessibleName = null;
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackgroundImage = null;
this.CancelButton = btnCancel; this.CancelButton = btnCancel;
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.grpFLAC);
this.Controls.Add(this.grpAudioFilenames); this.Controls.Add(this.grpAudioFilenames);
this.Controls.Add(btnCancel); this.Controls.Add(btnCancel);
this.Controls.Add(this.groupBox1); this.Controls.Add(this.groupBox1);
this.Controls.Add(this.grpWavPack); this.Controls.Add(this.grpWavPack);
this.Controls.Add(this.btnOK); this.Controls.Add(this.btnOK);
this.Controls.Add(this.grpFLAC);
this.Controls.Add(this.grpGeneral); this.Controls.Add(this.grpGeneral);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = null;
this.MaximizeBox = false; this.MaximizeBox = false;
this.Name = "frmSettings"; this.Name = "frmSettings";
this.toolTip1.SetToolTip(this, resources.GetString("$this.ToolTip"));
this.Load += new System.EventHandler(this.frmSettings_Load); this.Load += new System.EventHandler(this.frmSettings_Load);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmSettings_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmSettings_FormClosing);
this.grpGeneral.ResumeLayout(false); this.grpGeneral.ResumeLayout(false);
@@ -503,6 +797,8 @@ namespace JDP {
((System.ComponentModel.ISupportInitialize)(this.numFixWhenPercent)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numFixWhenPercent)).EndInit();
this.grpAudioFilenames.ResumeLayout(false); this.grpAudioFilenames.ResumeLayout(false);
this.grpAudioFilenames.PerformLayout(); this.grpAudioFilenames.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@@ -551,6 +847,13 @@ namespace JDP {
private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label4;
private System.Windows.Forms.CheckBox chkEmbedLog; private System.Windows.Forms.CheckBox chkEmbedLog;
private System.Windows.Forms.CheckBox chkFillUpCUE; private System.Windows.Forms.CheckBox chkFillUpCUE;
private System.Windows.Forms.CheckBox chkFilenamesANSISafe;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.RadioButton rbAPEinsane;
private System.Windows.Forms.RadioButton rbAPEextrahigh;
private System.Windows.Forms.RadioButton rbAPEhigh;
private System.Windows.Forms.RadioButton rbAPEnormal;
private System.Windows.Forms.RadioButton rbAPEfast;
} }
} }

View File

@@ -33,6 +33,14 @@ namespace JDP {
chkWVExtraMode.Checked = (_config.wvExtraMode != 0); chkWVExtraMode.Checked = (_config.wvExtraMode != 0);
chkWVExtraMode_CheckedChanged(null, null); chkWVExtraMode_CheckedChanged(null, null);
if (_config.wvExtraMode != 0) numWVExtraMode.Value = _config.wvExtraMode; if (_config.wvExtraMode != 0) numWVExtraMode.Value = _config.wvExtraMode;
switch (_config.apeCompressionLevel)
{
case 1: rbAPEfast.Checked = true; break;
case 2: rbAPEnormal.Checked = true; break;
case 3: rbAPEhigh.Checked = true; break;
case 4: rbAPEextrahigh.Checked = true; break;
case 5: rbAPEinsane.Checked = true; break;
}
chkKeepOriginalFilenames.Checked = _config.keepOriginalFilenames; chkKeepOriginalFilenames.Checked = _config.keepOriginalFilenames;
txtSingleFilenameFormat.Text = _config.singleFilenameFormat; txtSingleFilenameFormat.Text = _config.singleFilenameFormat;
txtTrackFilenameFormat.Text = _config.trackFilenameFormat; txtTrackFilenameFormat.Text = _config.trackFilenameFormat;
@@ -44,6 +52,7 @@ namespace JDP {
chkArFixOffset.Checked = _config.fixOffset; chkArFixOffset.Checked = _config.fixOffset;
chkEmbedLog.Checked = _config.embedLog; chkEmbedLog.Checked = _config.embedLog;
chkFillUpCUE.Checked = _config.fillUpCUE; chkFillUpCUE.Checked = _config.fillUpCUE;
chkFilenamesANSISafe.Checked = _config.filenamesANSISafe;
} }
private void frmSettings_FormClosing(object sender, FormClosingEventArgs e) { private void frmSettings_FormClosing(object sender, FormClosingEventArgs e) {
@@ -86,6 +95,11 @@ namespace JDP {
else _config.wvCompressionMode = 1; else _config.wvCompressionMode = 1;
if (!chkWVExtraMode.Checked) _config.wvExtraMode = 0; if (!chkWVExtraMode.Checked) _config.wvExtraMode = 0;
else _config.wvExtraMode = (int) numWVExtraMode.Value; else _config.wvExtraMode = (int) numWVExtraMode.Value;
_config.apeCompressionLevel = (uint) (rbAPEfast.Checked ? 1 :
rbAPEnormal.Checked ? 2 :
rbAPEhigh.Checked ? 3 :
rbAPEextrahigh.Checked ? 4 :
rbAPEinsane.Checked ? 5 : 2);
_config.keepOriginalFilenames = chkKeepOriginalFilenames.Checked; _config.keepOriginalFilenames = chkKeepOriginalFilenames.Checked;
_config.singleFilenameFormat = txtSingleFilenameFormat.Text; _config.singleFilenameFormat = txtSingleFilenameFormat.Text;
_config.trackFilenameFormat = txtTrackFilenameFormat.Text; _config.trackFilenameFormat = txtTrackFilenameFormat.Text;
@@ -97,6 +111,7 @@ namespace JDP {
_config.fixOffset = chkArFixOffset.Checked; _config.fixOffset = chkArFixOffset.Checked;
_config.embedLog = chkEmbedLog.Checked; _config.embedLog = chkEmbedLog.Checked;
_config.fillUpCUE = chkFillUpCUE.Checked; _config.fillUpCUE = chkFillUpCUE.Checked;
_config.filenamesANSISafe = chkFilenamesANSISafe.Checked;
} }
private void chkArFixOffset_CheckedChanged(object sender, EventArgs e) private void chkArFixOffset_CheckedChanged(object sender, EventArgs e)

File diff suppressed because it is too large Load Diff

View File

@@ -120,6 +120,9 @@
<data name="btnCancel.Text" xml:space="preserve"> <data name="btnCancel.Text" xml:space="preserve">
<value>Отмена</value> <value>Отмена</value>
</data> </data>
<data name="btnCancel.ToolTip" xml:space="preserve">
<value />
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="chkFillUpCUE.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkFillUpCUE.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 17</value> <value>221, 17</value>
@@ -127,6 +130,9 @@
<data name="chkFillUpCUE.Text" xml:space="preserve"> <data name="chkFillUpCUE.Text" xml:space="preserve">
<value>Пополнить .cue информацией из тэгов</value> <value>Пополнить .cue информацией из тэгов</value>
</data> </data>
<data name="chkFillUpCUE.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkEmbedLog.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkEmbedLog.Size" type="System.Drawing.Size, System.Drawing">
<value>156, 17</value> <value>156, 17</value>
</data> </data>
@@ -136,6 +142,12 @@
<data name="chkEmbedLog.ToolTip" xml:space="preserve"> <data name="chkEmbedLog.ToolTip" xml:space="preserve">
<value>Работает, если .log лежит в той же папке и имеет то же имя, что и исходный файл</value> <value>Работает, если .log лежит в той же папке и имеет то же имя, что и исходный файл</value>
</data> </data>
<data name="numericWriteOffset.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkAutoCorrectFilenames.Size" type="System.Drawing.Size, System.Drawing">
<value>213, 17</value>
</data>
<data name="chkAutoCorrectFilenames.Text" xml:space="preserve"> <data name="chkAutoCorrectFilenames.Text" xml:space="preserve">
<value>Автоматически искать аудио файлы</value> <value>Автоматически искать аудио файлы</value>
</data> </data>
@@ -148,17 +160,32 @@
<data name="chkPreserveHTOA.Text" xml:space="preserve"> <data name="chkPreserveHTOA.Text" xml:space="preserve">
<value>Сохранять HTOA при разбивке на треки</value> <value>Сохранять HTOA при разбивке на треки</value>
</data> </data>
<data name="chkPreserveHTOA.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lblWriteOffset.Size" type="System.Drawing.Size, System.Drawing"> <data name="lblWriteOffset.Size" type="System.Drawing.Size, System.Drawing">
<value>114, 13</value> <value>114, 13</value>
</data> </data>
<data name="lblWriteOffset.Text" xml:space="preserve"> <data name="lblWriteOffset.Text" xml:space="preserve">
<value>Смещение (сэмплов):</value> <value>Смещение (сэмплов):</value>
</data> </data>
<data name="lblWriteOffset.ToolTip" xml:space="preserve">
<value />
</data>
<data name="grpGeneral.Text" xml:space="preserve"> <data name="grpGeneral.Text" xml:space="preserve">
<value>Общие</value> <value>Общие</value>
</data> </data>
<data name="grpGeneral.ToolTip" xml:space="preserve">
<value />
</data>
<data name="numericFLACCompressionLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>233, 18</value>
</data>
<data name="numericFLACCompressionLevel.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lblFLACCompressionLevel.Location" type="System.Drawing.Point, System.Drawing"> <data name="lblFLACCompressionLevel.Location" type="System.Drawing.Point, System.Drawing">
<value>113, 17</value> <value>133, 20</value>
</data> </data>
<data name="lblFLACCompressionLevel.Size" type="System.Drawing.Size, System.Drawing"> <data name="lblFLACCompressionLevel.Size" type="System.Drawing.Size, System.Drawing">
<value>94, 13</value> <value>94, 13</value>
@@ -166,17 +193,35 @@
<data name="lblFLACCompressionLevel.Text" xml:space="preserve"> <data name="lblFLACCompressionLevel.Text" xml:space="preserve">
<value>Уровень сжатия:</value> <value>Уровень сжатия:</value>
</data> </data>
<data name="lblFLACCompressionLevel.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkFLACVerify.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkFLACVerify.Size" type="System.Drawing.Size, System.Drawing">
<value>94, 17</value> <value>94, 17</value>
</data> </data>
<data name="chkFLACVerify.Text" xml:space="preserve"> <data name="chkFLACVerify.Text" xml:space="preserve">
<value>Верификация</value> <value>Верификация</value>
</data> </data>
<data name="chkFLACVerify.ToolTip" xml:space="preserve">
<value />
</data>
<data name="grpFLAC.ToolTip" xml:space="preserve">
<value />
</data>
<data name="btnOK.ToolTip" xml:space="preserve">
<value />
</data>
<data name="numWVExtraMode.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkWVExtraMode.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkWVExtraMode.Size" type="System.Drawing.Size, System.Drawing">
<value>116, 17</value> <value>89, 17</value>
</data> </data>
<data name="chkWVExtraMode.Text" xml:space="preserve"> <data name="chkWVExtraMode.Text" xml:space="preserve">
<value>Доп. режим (1-6):</value> <value>Доп. режим:</value>
</data>
<data name="chkWVExtraMode.ToolTip" xml:space="preserve">
<value />
</data> </data>
<data name="rbWVVeryHigh.Size" type="System.Drawing.Size, System.Drawing"> <data name="rbWVVeryHigh.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 17</value> <value>103, 17</value>
@@ -184,32 +229,53 @@
<data name="rbWVVeryHigh.Text" xml:space="preserve"> <data name="rbWVVeryHigh.Text" xml:space="preserve">
<value>Очень высокий</value> <value>Очень высокий</value>
</data> </data>
<data name="rbWVVeryHigh.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbWVHigh.Size" type="System.Drawing.Size, System.Drawing"> <data name="rbWVHigh.Size" type="System.Drawing.Size, System.Drawing">
<value>68, 17</value> <value>68, 17</value>
</data> </data>
<data name="rbWVHigh.Text" xml:space="preserve"> <data name="rbWVHigh.Text" xml:space="preserve">
<value>Высокий</value> <value>Высокий</value>
</data> </data>
<data name="rbWVHigh.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbWVNormal.Size" type="System.Drawing.Size, System.Drawing"> <data name="rbWVNormal.Size" type="System.Drawing.Size, System.Drawing">
<value>69, 17</value> <value>69, 17</value>
</data> </data>
<data name="rbWVNormal.Text" xml:space="preserve"> <data name="rbWVNormal.Text" xml:space="preserve">
<value>Средний</value> <value>Средний</value>
</data> </data>
<data name="rbWVNormal.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbWVFast.Size" type="System.Drawing.Size, System.Drawing"> <data name="rbWVFast.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 17</value> <value>70, 17</value>
</data> </data>
<data name="rbWVFast.Text" xml:space="preserve"> <data name="rbWVFast.Text" xml:space="preserve">
<value>Быстрый</value> <value>Быстрый</value>
</data> </data>
<data name="rbWVFast.ToolTip" xml:space="preserve">
<value />
</data>
<data name="grpWavPack.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkArFixOffset.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 82</value>
</data>
<data name="chkArFixOffset.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkArFixOffset.Size" type="System.Drawing.Size, System.Drawing">
<value>165, 17</value> <value>165, 17</value>
</data> </data>
<data name="chkArFixOffset.Text" xml:space="preserve"> <data name="chkArFixOffset.Text" xml:space="preserve">
<value>Исправлять смещение если</value> <value>Исправлять смещение если</value>
</data> </data>
<data name="chkArFixOffset.ToolTip" xml:space="preserve">
<value />
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing"> <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 68</value> <value>110, 55</value>
</data> </data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing"> <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 13</value> <value>147, 13</value>
@@ -217,8 +283,17 @@
<data name="label4.Text" xml:space="preserve"> <data name="label4.Text" xml:space="preserve">
<value>% проверенных треков &gt;=</value> <value>% проверенных треков &gt;=</value>
</data> </data>
<data name="label4.ToolTip" xml:space="preserve">
<value />
</data>
<data name="numEncodeWhenPercent.Location" type="System.Drawing.Point, System.Drawing">
<value>263, 49</value>
</data>
<data name="numEncodeWhenPercent.ToolTip" xml:space="preserve">
<value />
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing"> <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>43, 89</value> <value>137, 69</value>
</data> </data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing"> <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 13</value> <value>120, 13</value>
@@ -226,12 +301,27 @@
<data name="label3.Text" xml:space="preserve"> <data name="label3.Text" xml:space="preserve">
<value>с достоверностью &gt;=</value> <value>с достоверностью &gt;=</value>
</data> </data>
<data name="label3.ToolTip" xml:space="preserve">
<value />
</data>
<data name="numEncodeWhenConfidence.Location" type="System.Drawing.Point, System.Drawing">
<value>263, 71</value>
</data>
<data name="numEncodeWhenConfidence.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkArNoUnverifiedAudio.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 38</value>
</data>
<data name="chkArNoUnverifiedAudio.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkArNoUnverifiedAudio.Size" type="System.Drawing.Size, System.Drawing">
<value>176, 17</value> <value>176, 17</value>
</data> </data>
<data name="chkArNoUnverifiedAudio.Text" xml:space="preserve"> <data name="chkArNoUnverifiedAudio.Text" xml:space="preserve">
<value>Конвертировать только если</value> <value>Конвертировать только если</value>
</data> </data>
<data name="chkArNoUnverifiedAudio.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkArSaveLog.Location" type="System.Drawing.Point, System.Drawing"> <data name="chkArSaveLog.Location" type="System.Drawing.Point, System.Drawing">
<value>116, 21</value> <value>116, 21</value>
</data> </data>
@@ -241,8 +331,11 @@
<data name="chkArSaveLog.Text" xml:space="preserve"> <data name="chkArSaveLog.Text" xml:space="preserve">
<value>Создать лог</value> <value>Создать лог</value>
</data> </data>
<data name="chkArSaveLog.ToolTip" xml:space="preserve">
<value />
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing"> <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>43, 146</value> <value>137, 116</value>
</data> </data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing"> <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 13</value> <value>120, 13</value>
@@ -250,8 +343,17 @@
<data name="label2.Text" xml:space="preserve"> <data name="label2.Text" xml:space="preserve">
<value>с достоверностью &gt;=</value> <value>с достоверностью &gt;=</value>
</data> </data>
<data name="label2.ToolTip" xml:space="preserve">
<value />
</data>
<data name="numFixWhenConfidence.Location" type="System.Drawing.Point, System.Drawing">
<value>263, 114</value>
</data>
<data name="numFixWhenConfidence.ToolTip" xml:space="preserve">
<value />
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing"> <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>15, 125</value> <value>110, 98</value>
</data> </data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing"> <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 13</value> <value>147, 13</value>
@@ -259,6 +361,15 @@
<data name="label1.Text" xml:space="preserve"> <data name="label1.Text" xml:space="preserve">
<value>% проверенных треков &gt;=</value> <value>% проверенных треков &gt;=</value>
</data> </data>
<data name="label1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="numFixWhenPercent.Location" type="System.Drawing.Point, System.Drawing">
<value>263, 93</value>
</data>
<data name="numFixWhenPercent.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkArAddCRCs.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkArAddCRCs.Size" type="System.Drawing.Size, System.Drawing">
<value>94, 17</value> <value>94, 17</value>
</data> </data>
@@ -268,8 +379,17 @@
<data name="chkArAddCRCs.ToolTip" xml:space="preserve"> <data name="chkArAddCRCs.ToolTip" xml:space="preserve">
<value>Добавлять тэги ACCURATERIPCOUNT и т.п. Можно настроить foobar2000 показывать эти значения в отдельном столбце, чтобы наглядно видеть точность рипа и популярность диска</value> <value>Добавлять тэги ACCURATERIPCOUNT и т.п. Можно настроить foobar2000 показывать эти значения в отдельном столбце, чтобы наглядно видеть точность рипа и популярность диска</value>
</data> </data>
<data name="grpAudioFilenames.Text" xml:space="preserve"> <data name="groupBox1.ToolTip" xml:space="preserve">
<value>Имена аудиофайлов</value> <value />
</data>
<data name="chkFilenamesANSISafe.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 17</value>
</data>
<data name="chkFilenamesANSISafe.Text" xml:space="preserve">
<value>Только символы из ANSI кодировки</value>
</data>
<data name="chkFilenamesANSISafe.ToolTip" xml:space="preserve">
<value>Использовать только символы, присутствующие в ANSI (1251) кодировке, для совместимости с приложениями, не поддерживающими Unicode (такими, как Far manager)</value>
</data> </data>
<data name="chkKeepOriginalFilenames.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkKeepOriginalFilenames.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 17</value> <value>157, 17</value>
@@ -277,18 +397,33 @@
<data name="chkKeepOriginalFilenames.Text" xml:space="preserve"> <data name="chkKeepOriginalFilenames.Text" xml:space="preserve">
<value>Сохранять оригинальные</value> <value>Сохранять оригинальные</value>
</data> </data>
<data name="chkKeepOriginalFilenames.ToolTip" xml:space="preserve">
<value />
</data>
<data name="txtSpecialExceptions.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkRemoveSpecial.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkRemoveSpecial.Size" type="System.Drawing.Size, System.Drawing">
<value>223, 17</value> <value>223, 17</value>
</data> </data>
<data name="chkRemoveSpecial.Text" xml:space="preserve"> <data name="chkRemoveSpecial.Text" xml:space="preserve">
<value>Удалять специальные символы кроме:</value> <value>Удалять специальные символы кроме:</value>
</data> </data>
<data name="chkRemoveSpecial.ToolTip" xml:space="preserve">
<value />
</data>
<data name="chkReplaceSpaces.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkReplaceSpaces.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 17</value> <value>209, 17</value>
</data> </data>
<data name="chkReplaceSpaces.Text" xml:space="preserve"> <data name="chkReplaceSpaces.Text" xml:space="preserve">
<value>Заменять пробелы подчеркиванями</value> <value>Заменять пробелы подчеркиванями</value>
</data> </data>
<data name="chkReplaceSpaces.ToolTip" xml:space="preserve">
<value />
</data>
<data name="txtTrackFilenameFormat.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lblTrackFilenameFormat.Location" type="System.Drawing.Point, System.Drawing"> <data name="lblTrackFilenameFormat.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 75</value> <value>10, 75</value>
</data> </data>
@@ -298,13 +433,49 @@
<data name="lblTrackFilenameFormat.Text" xml:space="preserve"> <data name="lblTrackFilenameFormat.Text" xml:space="preserve">
<value>Трек:</value> <value>Трек:</value>
</data> </data>
<data name="lblTrackFilenameFormat.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lblSingleFilenameFormat.Size" type="System.Drawing.Size, System.Drawing"> <data name="lblSingleFilenameFormat.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 13</value> <value>75, 13</value>
</data> </data>
<data name="lblSingleFilenameFormat.Text" xml:space="preserve"> <data name="lblSingleFilenameFormat.Text" xml:space="preserve">
<value>Образ диска:</value> <value>Образ диска:</value>
</data> </data>
<data name="lblSingleFilenameFormat.ToolTip" xml:space="preserve">
<value />
</data>
<data name="txtSingleFilenameFormat.ToolTip" xml:space="preserve">
<value />
</data>
<data name="grpAudioFilenames.Text" xml:space="preserve">
<value>Имена аудиофайлов</value>
</data>
<data name="grpAudioFilenames.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbAPEinsane.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbAPEextrahigh.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbAPEhigh.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbAPEnormal.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbAPEfast.ToolTip" xml:space="preserve">
<value />
</data>
<data name="groupBox2.ToolTip" xml:space="preserve">
<value />
</data>
<data name="$this.Text" xml:space="preserve"> <data name="$this.Text" xml:space="preserve">
<value>Продвинутые настройки</value> <value>Продвинутые настройки</value>
</data> </data>
<data name="$this.ToolTip" xml:space="preserve">
<value />
</data>
</root> </root>

View File

@@ -1,79 +0,0 @@
uint bestTracksMatch = 0;
int bestWorstConfidence = 0;
int bestOffset = 0;
int bestDisk = -1;
for (int di = 0; di < (int)accDisks.Count; di++)
{
for (int offset = -_arOffsetRange; offset <= _arOffsetRange; offset++)
{
uint tracksMatch = 0;
int worstConfidence = -1;
for (int iTrack = 0; iTrack < TrackCount; iTrack++)
if (_tracks[iTrack].OffsetedCRC[_arOffsetRange - offset] == accDisks[di].tracks[iTrack].CRC)
{
tracksMatch++;
//confidence += accDisks[di].tracks[iTrack].count;
if (accDisks[di].tracks[iTrack].CRC != 0)
if (worstConfidence == -1 || worstConfidence > accDisks[di].tracks[iTrack].count)
worstConfidence = (int) accDisks[di].tracks[iTrack].count;
//if (_config.fixWhenConfidence)
//tracksMatchWithConfidence++;
}
if (tracksMatch > bestTracksMatch
|| (tracksMatch == bestTracksMatch && worstConfidence > bestWorstConfidence)
|| (tracksMatch == bestTracksMatch && worstConfidence == bestWorstConfidence && Math.Abs(offset) < Math.Abs(bestOffset))
)
{
bestTracksMatch = tracksMatch;
bestWorstConfidence = worstConfidence;
bestOffset = offset;
bestDisk = di;
}
}
}
if (bestWorstConfidence > _config.fixWhenConfidence &&
(bestTracksMatch == TrackCount ||
(TrackCount > 2 && bestTracksMatch * 100 > TrackCount * _config.fixWhenPercent)))
_writeOffset = bestOffset;
else
if (bestTracksMatch != TrackCount && _config.noUnverifiedOutput)
SkipOutput = true;
int s1 = (int) Math.Min(count, Math.Max(0, 450 * 588 - _arOffsetRange - (int)currentOffset));
int s2 = (int) Math.Min(count, Math.Max(0, 451 * 588 + _arOffsetRange - (int)currentOffset));
if ( s1 < s2 )
fixed (uint* FrameCRCs = _tracks[iTrack].OffsetedFrame450CRC)
for (int sj = s1; sj < s2; sj++)
{
int magicFrameOffsetBase = (int)currentOffset + sj - 450 * 588 + 1;
for (int oi = -_arOffsetRange; oi <= _arOffsetRange; oi++)
{
int magicFrameOffset = magicFrameOffsetBase + oi;
if (magicFrameOffset > 0 && magicFrameOffset <= 588)
FrameCRCs[_arOffsetRange - oi] += (uint)(samples[sj] * magicFrameOffset);
}
}
int magicFrameOffset = (int)currentOffset + sj - 450 * 588 + 1;
int firstOffset = Math.Max(-_arOffsetRange, 1 - magicFrameOffset);
int lastOffset = Math.Min(_arOffsetRange, 588 - magicFrameOffset);
for (int oi = firstOffset; oi <= lastOffset; oi++)
FrameCRCs[_arOffsetRange - oi] += (uint)(samples[sj] * (magicFrameOffset + oi));

View File

@@ -208,6 +208,7 @@ namespace CUEToolsLib
public bool autoCorrectFilenames; public bool autoCorrectFilenames;
public bool flacVerify; public bool flacVerify;
public uint flacCompressionLevel; public uint flacCompressionLevel;
public uint apeCompressionLevel;
public bool preserveHTOA; public bool preserveHTOA;
public int wvCompressionMode; public int wvCompressionMode;
public int wvExtraMode; public int wvExtraMode;
@@ -219,6 +220,7 @@ namespace CUEToolsLib
public bool replaceSpaces; public bool replaceSpaces;
public bool embedLog; public bool embedLog;
public bool fillUpCUE; public bool fillUpCUE;
public bool filenamesANSISafe;
public CUEConfig() public CUEConfig()
{ {
@@ -234,7 +236,8 @@ namespace CUEToolsLib
autoCorrectFilenames = true; autoCorrectFilenames = true;
flacVerify = false; flacVerify = false;
flacCompressionLevel = 8; flacCompressionLevel = 8;
preserveHTOA = false; apeCompressionLevel = 2;
preserveHTOA = true;
wvCompressionMode = 1; wvCompressionMode = 1;
wvExtraMode = 0; wvExtraMode = 0;
keepOriginalFilenames = true; keepOriginalFilenames = true;
@@ -245,6 +248,7 @@ namespace CUEToolsLib
replaceSpaces = true; replaceSpaces = true;
embedLog = true; embedLog = true;
fillUpCUE = true; fillUpCUE = true;
filenamesANSISafe = true;
} }
public void Save (SettingsWriter sw) public void Save (SettingsWriter sw)
@@ -261,6 +265,7 @@ namespace CUEToolsLib
sw.Save("PreserveHTOA", preserveHTOA); sw.Save("PreserveHTOA", preserveHTOA);
sw.Save("AutoCorrectFilenames", autoCorrectFilenames); sw.Save("AutoCorrectFilenames", autoCorrectFilenames);
sw.Save("FLACCompressionLevel", flacCompressionLevel); sw.Save("FLACCompressionLevel", flacCompressionLevel);
sw.Save("APECompressionLevel", apeCompressionLevel);
sw.Save("FLACVerify", flacVerify); sw.Save("FLACVerify", flacVerify);
sw.Save("WVCompressionMode", wvCompressionMode); sw.Save("WVCompressionMode", wvCompressionMode);
sw.Save("WVExtraMode", wvExtraMode); sw.Save("WVExtraMode", wvExtraMode);
@@ -272,33 +277,36 @@ namespace CUEToolsLib
sw.Save("ReplaceSpaces", replaceSpaces); sw.Save("ReplaceSpaces", replaceSpaces);
sw.Save("EmbedLog", embedLog); sw.Save("EmbedLog", embedLog);
sw.Save("FillUpCUE", fillUpCUE); sw.Save("FillUpCUE", fillUpCUE);
sw.Save("FilenamesANSISafe", filenamesANSISafe);
} }
public void Load(SettingsReader sr) public void Load(SettingsReader sr)
{ {
fixWhenConfidence = sr.LoadUInt32("ArFixWhenConfidence", 1, 1000) ?? 1; fixWhenConfidence = sr.LoadUInt32("ArFixWhenConfidence", 1, 1000) ?? 2;
fixWhenPercent = sr.LoadUInt32("ArFixWhenPercent", 1, 100) ?? 50; fixWhenPercent = sr.LoadUInt32("ArFixWhenPercent", 1, 100) ?? 51;
encodeWhenConfidence = sr.LoadUInt32("ArEncodeWhenConfidence", 1, 1000) ?? 1; encodeWhenConfidence = sr.LoadUInt32("ArEncodeWhenConfidence", 1, 1000) ?? 2;
encodeWhenPercent = sr.LoadUInt32("ArEncodeWhenPercent", 1, 100) ?? 50; encodeWhenPercent = sr.LoadUInt32("ArEncodeWhenPercent", 1, 100) ?? 100;
noUnverifiedOutput = sr.LoadBoolean("ArNoUnverifiedOutput") ?? true; noUnverifiedOutput = sr.LoadBoolean("ArNoUnverifiedOutput") ?? false;
fixOffset = sr.LoadBoolean("ArFixOffset") ?? true; fixOffset = sr.LoadBoolean("ArFixOffset") ?? false;
writeArTags = sr.LoadBoolean("ArWriteCRC") ?? true; writeArTags = sr.LoadBoolean("ArWriteCRC") ?? true;
writeArLog = sr.LoadBoolean("ArWriteLog") ?? true; writeArLog = sr.LoadBoolean("ArWriteLog") ?? true;
preserveHTOA = sr.LoadBoolean("PreserveHTOA") ?? true; preserveHTOA = sr.LoadBoolean("PreserveHTOA") ?? true;
autoCorrectFilenames = sr.LoadBoolean("AutoCorrectFilenames") ?? false; autoCorrectFilenames = sr.LoadBoolean("AutoCorrectFilenames") ?? true;
flacCompressionLevel = sr.LoadUInt32("FLACCompressionLevel", 0, 8) ?? 5; flacCompressionLevel = sr.LoadUInt32("FLACCompressionLevel", 0, 8) ?? 8;
flacVerify = sr.LoadBoolean("FLACVerify") ?? false; flacVerify = sr.LoadBoolean("FLACVerify") ?? false;
apeCompressionLevel = sr.LoadUInt32("APECompressionLevel", 1, 5) ?? 2;
wvCompressionMode = sr.LoadInt32("WVCompressionMode", 0, 3) ?? 1; wvCompressionMode = sr.LoadInt32("WVCompressionMode", 0, 3) ?? 1;
wvExtraMode = sr.LoadInt32("WVExtraMode", 0, 6) ?? 0; wvExtraMode = sr.LoadInt32("WVExtraMode", 0, 6) ?? 0;
keepOriginalFilenames = sr.LoadBoolean("KeepOriginalFilenames") ?? true; keepOriginalFilenames = sr.LoadBoolean("KeepOriginalFilenames") ?? true;
singleFilenameFormat = sr.Load("SingleFilenameFormat") ?? "%F"; singleFilenameFormat = sr.Load("SingleFilenameFormat") ?? "%F";
trackFilenameFormat = sr.Load("TrackFilenameFormat") ?? "%N-%A-%T"; trackFilenameFormat = sr.Load("TrackFilenameFormat") ?? "%N-%A-%T";
removeSpecial = sr.LoadBoolean("RemoveSpecialCharacters") ?? true; removeSpecial = sr.LoadBoolean("RemoveSpecialCharacters") ?? false;
specialExceptions = sr.Load("SpecialCharactersExceptions") ?? "-()"; specialExceptions = sr.Load("SpecialCharactersExceptions") ?? "-()";
replaceSpaces = sr.LoadBoolean("ReplaceSpaces") ?? true; replaceSpaces = sr.LoadBoolean("ReplaceSpaces") ?? true;
embedLog = sr.LoadBoolean("EmbedLog") ?? true; embedLog = sr.LoadBoolean("EmbedLog") ?? true;
fillUpCUE = sr.LoadBoolean("FillUpCUE") ?? true; fillUpCUE = sr.LoadBoolean("FillUpCUE") ?? true;
filenamesANSISafe = sr.LoadBoolean("FilenamesANSISafe") ?? true;
} }
public string CleanseString (string s) public string CleanseString (string s)
@@ -306,6 +314,7 @@ namespace CUEToolsLib
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
char[] invalid = Path.GetInvalidFileNameChars(); char[] invalid = Path.GetInvalidFileNameChars();
if (filenamesANSISafe)
s = Encoding.Default.GetString(Encoding.Default.GetBytes(s)); s = Encoding.Default.GetString(Encoding.Default.GetBytes(s));
for (int i = 0; i < s.Length; i++) for (int i = 0; i < s.Length; i++)
@@ -1263,6 +1272,7 @@ namespace CUEToolsLib
matching3 += accDisks[iDisk].tracks[iTrack].count; matching3 += accDisks[iDisk].tracks[iTrack].count;
} }
tags.Add(String.Format("{0}ACCURATERIPCRC", prefix), String.Format("{0:x8}", _tracks[iTrack].OffsetedCRC[_arOffsetRange - offset])); tags.Add(String.Format("{0}ACCURATERIPCRC", prefix), String.Format("{0:x8}", _tracks[iTrack].OffsetedCRC[_arOffsetRange - offset]));
tags.Add(String.Format("{0}AccurateRipDiscId", prefix), String.Format("{0:000}-{1}-{2:00}", TrackCount, _accurateRipId, iTrack+1));
tags.Add(String.Format("{0}ACCURATERIPCOUNT", prefix), String.Format("{0}", matching)); tags.Add(String.Format("{0}ACCURATERIPCOUNT", prefix), String.Format("{0}", matching));
tags.Add(String.Format("{0}ACCURATERIPCOUNTALLOFFSETS", prefix), String.Format("{0}", matching3)); tags.Add(String.Format("{0}ACCURATERIPCOUNTALLOFFSETS", prefix), String.Format("{0}", matching3));
tags.Add(String.Format("{0}ACCURATERIPTOTAL", prefix), String.Format("{0}", total)); tags.Add(String.Format("{0}ACCURATERIPTOTAL", prefix), String.Format("{0}", total));
@@ -1376,11 +1386,20 @@ namespace CUEToolsLib
if (accResult != HttpStatusCode.OK) if (accResult != HttpStatusCode.OK)
{ {
if (!_accurateOffset) if (!_accurateOffset || _config.noUnverifiedOutput)
return; {
if (_config.noUnverifiedOutput) if (_config.writeArLog)
{
if (dir != "" && !Directory.Exists(dir))
Directory.CreateDirectory(dir);
StreamWriter sw = new StreamWriter(Path.ChangeExtension(_cuePath, ".accurip"),
false, CUESheet.Encoding);
GenerateAccurateRipLog(sw);
sw.Close();
}
return; return;
} }
}
else if (_accurateOffset) else if (_accurateOffset)
{ {
_writeOffset = 0; _writeOffset = 0;
@@ -1472,6 +1491,106 @@ namespace CUEToolsLib
} }
} }
private void SetTrackTags(IAudioDest audioDest, int iTrack, int bestOffset)
{
NameValueCollection destTags = new NameValueCollection();
if (_hasEmbeddedCUESheet)
{
string trackPrefix = String.Format ("cue_track{0:00}_", iTrack + 1);
string[] keys = _albumTags.AllKeys;
for (int i = 0; i < keys.Length; i++)
{
if (keys[i].ToLower().StartsWith(trackPrefix)
|| !keys[i].ToLower().StartsWith("cue_track"))
{
string name = keys[i].ToLower().StartsWith(trackPrefix) ?
keys[i].Substring(trackPrefix.Length) : keys[i];
string[] values = _albumTags.GetValues(keys[i]);
for (int j = 0; j < values.Length; j++)
destTags.Add(name, values[j]);
}
}
}
else if (_hasTrackFilenames)
destTags.Add(_tracks[iTrack]._trackTags);
else if (_hasSingleFilename)
{
// TODO?
}
destTags.Remove("CUESHEET");
destTags.Remove("TRACKNUMBER");
destTags.Remove("LOG");
destTags.Remove("LOGFILE");
destTags.Remove("EACLOG");
CleanupTags(destTags, "ACCURATERIP");
CleanupTags(destTags, "REPLAYGAIN");
if (destTags.Get("TITLE") == null && "" != _tracks[iTrack].Title)
destTags.Add("TITLE", _tracks[iTrack].Title);
if (destTags.Get("ARTIST") == null && "" != _tracks[iTrack].Artist)
destTags.Add("ARTIST", _tracks[iTrack].Artist);
destTags.Add("TRACKNUMBER", (iTrack + 1).ToString());
if (_accurateRipId != null && _config.writeArTags)
{
if (_accurateOffset && accResult == HttpStatusCode.OK)
GenerateAccurateRipTags(destTags, _writeOffset, bestOffset, iTrack);
else
destTags.Add("ACCURATERIPID", _accurateRipId);
}
audioDest.SetTags(destTags);
}
private void SetAlbumTags(IAudioDest audioDest, int bestOffset, bool fWithCUE)
{
NameValueCollection destTags = new NameValueCollection();
if (_hasEmbeddedCUESheet || _hasSingleFilename)
destTags.Add(_albumTags);
else if (_hasTrackFilenames)
{
// TODO
}
destTags.Remove("CUESHEET");
CleanupTags(destTags, "ACCURATERIP");
CleanupTags(destTags, "REPLAYGAIN");
if (fWithCUE)
{
StringWriter sw = new StringWriter();
Write(sw, CUEStyle.SingleFileWithCUE);
destTags.Add("CUESHEET", sw.ToString());
sw.Close();
}
else
{
string[] keys = destTags.AllKeys;
for (int i = 0; i < keys.Length; i++)
if (keys[i].ToLower().StartsWith("cue_track"))
destTags.Remove(keys[i]);
}
if (_config.embedLog)
{
destTags.Remove("LOG");
destTags.Remove("LOGFILE");
destTags.Remove("EACLOG");
if (_eacLog != null)
destTags.Add("LOG", _eacLog);
}
if (_accurateRipId != null && _config.writeArTags)
{
if (fWithCUE && _accurateOffset && accResult == HttpStatusCode.OK)
GenerateAccurateRipTags(destTags, _writeOffset, bestOffset, -1);
else
destTags.Add("ACCURATERIPID", _accurateRipId);
}
audioDest.SetTags(destTags);
}
public void WriteAudioFilesPass(string dir, CUEStyle style, SetStatus statusDel, string[] destPaths, int[] destLengths, bool htoaToFile, bool noOutput) public void WriteAudioFilesPass(string dir, CUEStyle style, SetStatus statusDel, string[] destPaths, int[] destLengths, bool htoaToFile, bool noOutput)
{ {
const int buffLen = 16384; const int buffLen = 16384;
@@ -1526,58 +1645,17 @@ namespace CUEToolsLib
_appliedWriteOffset = true; _appliedWriteOffset = true;
} }
uint tracksMatch;
int bestOffset = _writeOffset;
if (!noOutput && _accurateRipId != null && _config.writeArTags && _accurateOffset && accResult == HttpStatusCode.OK)
FindBestOffset(1, true, out tracksMatch, out bestOffset);
if (style == CUEStyle.SingleFile || style == CUEStyle.SingleFileWithCUE) if (style == CUEStyle.SingleFile || style == CUEStyle.SingleFileWithCUE)
{ {
iDest++; iDest++;
audioDest = GetAudioDest(destPaths[iDest], destLengths[iDest], noOutput); audioDest = GetAudioDest(destPaths[iDest], destLengths[iDest], noOutput);
if (!(audioDest is WAVWriter)) if (!noOutput)
{ SetAlbumTags(audioDest, bestOffset, style == CUEStyle.SingleFileWithCUE);
NameValueCollection destTags = new NameValueCollection();
if (_hasEmbeddedCUESheet || _hasSingleFilename)
destTags.Add(_albumTags);
else if (_hasTrackFilenames)
{
// TODO
}
destTags.Remove ("CUESHEET");
CleanupTags(destTags, "ACCURATERIP");
CleanupTags(destTags, "REPLAYGAIN");
if (style == CUEStyle.SingleFileWithCUE)
{
StringWriter sw = new StringWriter();
Write(sw, style);
destTags.Add("CUESHEET", sw.ToString());
sw.Close();
}
else
{
string[] keys = destTags.AllKeys;
for (int i = 0; i < keys.Length; i++)
if (keys[i].ToLower().StartsWith("cue_track"))
destTags.Remove(keys[i]);
}
if (_config.embedLog)
{
destTags.Remove("LOG");
destTags.Remove("LOGFILE");
destTags.Remove("EACLOG");
if (_eacLog != null)
destTags.Add("LOG", _eacLog);
}
if (_accurateRipId != null && _config.writeArTags)
{
if (style == CUEStyle.SingleFileWithCUE && _accurateOffset && accResult == HttpStatusCode.OK)
GenerateAccurateRipTags(destTags, _writeOffset, _writeOffset, -1);
else
destTags.Add("ACCURATERIPID", _accurateRipId);
}
audioDest.SetTags(destTags);
}
} }
if (_accurateRip && noOutput) if (_accurateRip && noOutput)
@@ -1606,6 +1684,8 @@ namespace CUEToolsLib
if (audioDest != null) audioDest.Close(); if (audioDest != null) audioDest.Close();
iDest++; iDest++;
audioDest = GetAudioDest(destPaths[iDest], destLengths[iDest], noOutput); audioDest = GetAudioDest(destPaths[iDest], destLengths[iDest], noOutput);
if (!noOutput)
SetTrackTags(audioDest, iTrack, bestOffset);
} }
for (iIndex = 0; iIndex <= track.LastIndex; iIndex++) { for (iIndex = 0; iIndex <= track.LastIndex; iIndex++) {
@@ -1627,58 +1707,8 @@ namespace CUEToolsLib
if (audioDest != null) audioDest.Close(); if (audioDest != null) audioDest.Close();
iDest++; iDest++;
audioDest = GetAudioDest(destPaths[iDest], destLengths[iDest], noOutput); audioDest = GetAudioDest(destPaths[iDest], destLengths[iDest], noOutput);
#if !MONO if (!noOutput)
if (audioDest is FLACWriter) SetTrackTags(audioDest, iTrack, bestOffset);
{
NameValueCollection destTags = new NameValueCollection();
if (_hasEmbeddedCUESheet)
{
string trackPrefix = String.Format ("cue_track{0:00}_", iTrack + 1);
string[] keys = _albumTags.AllKeys;
for (int i = 0; i < keys.Length; i++)
{
if (keys[i].ToLower().StartsWith(trackPrefix)
|| !keys[i].ToLower().StartsWith("cue_track"))
{
string name = keys[i].ToLower().StartsWith(trackPrefix) ?
keys[i].Substring(trackPrefix.Length) : keys[i];
string[] values = _albumTags.GetValues(keys[i]);
for (int j = 0; j < values.Length; j++)
destTags.Add(name, values[j]);
}
}
}
else if (_hasTrackFilenames)
destTags.Add(track._trackTags);
else if (_hasSingleFilename)
{
// TODO?
}
destTags.Remove("CUESHEET");
destTags.Remove("TRACKNUMBER");
destTags.Remove("LOG");
destTags.Remove("LOGFILE");
destTags.Remove("EACLOG");
CleanupTags(destTags, "ACCURATERIP");
CleanupTags(destTags, "REPLAYGAIN");
if (destTags.Get("TITLE") == null && "" != track.Title)
destTags.Add("TITLE", track.Title);
if (destTags.Get("ARTIST") == null && "" != track.Artist)
destTags.Add("ARTIST", track.Artist);
destTags.Add("TRACKNUMBER", (iTrack + 1).ToString());
if (_accurateRipId != null && _config.writeArTags)
{
if (_accurateOffset && accResult == HttpStatusCode.OK)
GenerateAccurateRipTags(destTags, _writeOffset, _writeOffset, iTrack);
else
destTags.Add("ACCURATERIPID", _accurateRipId);
}
((FLACWriter)audioDest).SetTags(destTags);
}
#endif
} }
if ((style == CUEStyle.GapsAppended) && (iIndex == 0) && (iTrack == 0)) { if ((style == CUEStyle.GapsAppended) && (iIndex == 0) && (iTrack == 0)) {
@@ -1934,6 +1964,11 @@ namespace CUEToolsLib
w.CompressionMode = _config.wvCompressionMode; w.CompressionMode = _config.wvCompressionMode;
w.ExtraMode = _config.wvExtraMode; w.ExtraMode = _config.wvExtraMode;
} }
if (dest is APEWriter)
{
APEWriter w = (APEWriter)dest;
w.CompressionLevel = (int) _config.apeCompressionLevel;
}
#endif #endif
return dest; return dest;