diff --git a/APEDotNet/apedotnet.cpp b/APEDotNet/apedotnet.cpp index 3773737..03f15bb 100644 --- a/APEDotNet/apedotnet.cpp +++ b/APEDotNet/apedotnet.cpp @@ -367,6 +367,13 @@ namespace APEDotNet { } } + virtual property Int64 BlockSize + { + void set(Int64 value) + { + } + } + virtual void Write(array^ buff, UInt32 sampleCount) { if (_sampleBuffer == nullptr || _sampleBuffer.Length < sampleCount * _blockAlign) diff --git a/ArCueDotNet/Program.cs b/ArCueDotNet/Program.cs index 2aade04..dfd3ae2 100644 --- a/ArCueDotNet/Program.cs +++ b/ArCueDotNet/Program.cs @@ -30,7 +30,7 @@ namespace ArCueDotNet { CUESheet cueSheet = new CUESheet(config); cueSheet.Open(pathIn); - cueSheet.GenerateFilenames(OutputAudioFormat.NoAudio, pathIn); + cueSheet.GenerateFilenames(OutputAudioFormat.NoAudio, pathIn, false); cueSheet.AccurateRip = true; cueSheet.WriteAudioFiles(Path.GetDirectoryName(pathIn), CUEStyle.SingleFile); cueSheet.GenerateAccurateRipLog(sw); diff --git a/AudioCodecsDotNet/AudioCodecsDotNet.cs b/AudioCodecsDotNet/AudioCodecsDotNet.cs index c8ce242..518597f 100644 --- a/AudioCodecsDotNet/AudioCodecsDotNet.cs +++ b/AudioCodecsDotNet/AudioCodecsDotNet.cs @@ -27,6 +27,7 @@ namespace AudioCodecsDotNet void Close(); void Delete(); long FinalSampleCount { set; } + long BlockSize { set; } string Path { get; } } @@ -148,9 +149,12 @@ namespace AudioCodecsDotNet public long FinalSampleCount { - set - { - } + set { } + } + + public long BlockSize + { + set { } } public void Write(int[,] buff, uint sampleCount) @@ -505,6 +509,7 @@ namespace AudioCodecsDotNet long _sampleLen; string _path; private byte[] _sampleBuffer; + long hdrLen = 44; public WAVWriter(string path, int bitsPerSample, int channelCount, int sampleRate) { @@ -525,6 +530,22 @@ namespace AudioCodecsDotNet return false; } + public void WriteChunk(uint fcc, byte[] data) + { + if (_sampleLen > 0) + throw new Exception("data already written, no chunks allowed"); + const uint fccData = 0x61746164; + _bw.Seek((int)hdrLen - 8, SeekOrigin.Begin); + _bw.Write(fcc); + _bw.Write((uint)data.Length); + _bw.Write(data); + if ((data.Length & 1) != 0) + _bw.Write((byte) 0); + _bw.Write(fccData); + _bw.Write((uint)0); + hdrLen += data.Length + (data.Length & 1) + 8; + } + private void WriteHeaders() { const uint fccRIFF = 0x46464952; @@ -552,26 +573,22 @@ namespace AudioCodecsDotNet public void Close() { const long maxFileSize = 0x7FFFFFFEL; - long dataLen, dataLenPadded; + long dataLen, dataLenPadded; dataLen = _sampleLen * _blockAlign; if ((dataLen & 1) == 1) - { _bw.Write((byte)0); - } - if ((dataLen + 44) > maxFileSize) - { - dataLen = ((maxFileSize - 44) / _blockAlign) * _blockAlign; - } + if (dataLen + hdrLen > maxFileSize) + dataLen = ((maxFileSize - hdrLen) / _blockAlign) * _blockAlign; - dataLenPadded = ((dataLen & 1) == 1) ? (dataLen + 1) : dataLen; + dataLenPadded = dataLen + (dataLen & 1); _bw.Seek(4, SeekOrigin.Begin); - _bw.Write((uint)(dataLenPadded + 36)); + _bw.Write((uint)(dataLenPadded + hdrLen - 8)); - _bw.Seek(40, SeekOrigin.Begin); + _bw.Seek((int)hdrLen-4, SeekOrigin.Begin); _bw.Write((uint)dataLen); _bw.Close(); @@ -598,9 +615,12 @@ namespace AudioCodecsDotNet public long FinalSampleCount { - set - { - } + set { } + } + + public long BlockSize + { + set { } } public void Write(int[,] buff, uint sampleCount) diff --git a/CUETools/CUETools.sln b/CUETools/CUETools.sln index 0bc6484..03c4bc6 100644 --- a/CUETools/CUETools.sln +++ b/CUETools/CUETools.sln @@ -49,6 +49,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ALACDotNet", "..\ALACDotNet EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnRarDotNet", "..\UnRarDotNet\UnRarDotNet.csproj", "{8427CAA5-80B8-4952-9A68-5F3DFCFBDF40}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LossyWAVDotNet", "..\LossyWAVDotNet\LossyWAVDotNet.csproj", "{8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -212,6 +214,18 @@ Global {8427CAA5-80B8-4952-9A68-5F3DFCFBDF40}.Release|x64.Build.0 = Release|x64 {8427CAA5-80B8-4952-9A68-5F3DFCFBDF40}.Release|x86.ActiveCfg = Release|x86 {8427CAA5-80B8-4952-9A68-5F3DFCFBDF40}.Release|x86.Build.0 = Release|x86 + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Debug|x64.ActiveCfg = Debug|x64 + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Debug|x64.Build.0 = Debug|x64 + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Debug|x86.ActiveCfg = Debug|x86 + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Debug|x86.Build.0 = Debug|x86 + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Release|Any CPU.Build.0 = Release|Any CPU + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Release|x64.ActiveCfg = Release|x64 + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Release|x64.Build.0 = Release|x64 + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Release|x86.ActiveCfg = Release|x86 + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -221,6 +235,7 @@ Global {CC2E74B6-534A-43D8-9F16-AC03FE955000} = {85F88959-C9E9-4989-ACB1-67BA9D1BEFE7} {E70FA90A-7012-4A52-86B5-362B699D1540} = {85F88959-C9E9-4989-ACB1-67BA9D1BEFE7} {F2EC7193-D5E5-4252-9803-5CEB407E910F} = {85F88959-C9E9-4989-ACB1-67BA9D1BEFE7} + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19} = {85F88959-C9E9-4989-ACB1-67BA9D1BEFE7} {0B9C97D4-61B8-4294-A1DF-BA90752A1779} = {8B179853-B7D6-479C-B8B2-6CBCE835D040} {4CEFBC84-C215-11DB-8314-0800200C9A66} = {8B179853-B7D6-479C-B8B2-6CBCE835D040} {5CCCB9CF-0384-458F-BA08-72B73866840F} = {8B179853-B7D6-479C-B8B2-6CBCE835D040} diff --git a/CUETools/frmBatch.cs b/CUETools/frmBatch.cs index 0532a68..49e865b 100644 --- a/CUETools/frmBatch.cs +++ b/CUETools/frmBatch.cs @@ -55,6 +55,7 @@ namespace JDP bool _accurateRip; bool _accurateOffset; bool _reducePriority; + bool _lossyWAV; DateTime _startedAt; List _batchPaths; @@ -158,7 +159,7 @@ namespace JDP } else pathOut = Path.Combine(Path.GetDirectoryName(pathIn), cueName); - cueSheet.GenerateFilenames(_audioFormat, pathOut); + cueSheet.GenerateFilenames(_audioFormat, pathOut, _lossyWAV); if (outputAudio) { if (_cueStyle == CUEStyle.SingleFileWithCUE) @@ -266,6 +267,7 @@ namespace JDP _reducePriority = sr.LoadBoolean("ReducePriority") ?? true; _cueStyle = (CUEStyle?)sr.LoadInt32("CUEStyle", null, null) ?? CUEStyle.SingleFileWithCUE; _audioFormat = (OutputAudioFormat?)sr.LoadInt32("OutputAudioFormat", null, null) ?? OutputAudioFormat.WAV; + _lossyWAV = sr.LoadBoolean("LossyWav") ?? false; if (_reducePriority) Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.Idle; diff --git a/CUETools/frmCUETools.Designer.cs b/CUETools/frmCUETools.Designer.cs index 41748d1..3cfe7b4 100644 --- a/CUETools/frmCUETools.Designer.cs +++ b/CUETools/frmCUETools.Designer.cs @@ -49,6 +49,7 @@ namespace JDP { this.rbAppendFilename = new System.Windows.Forms.RadioButton(); this.txtAppendFilename = new System.Windows.Forms.TextBox(); this.grpAudioOutput = new System.Windows.Forms.GroupBox(); + this.chkLossyWAV = new System.Windows.Forms.CheckBox(); this.rbAPE = new System.Windows.Forms.RadioButton(); this.rbNoAudio = new System.Windows.Forms.RadioButton(); this.rbWavPack = new System.Windows.Forms.RadioButton(); @@ -82,125 +83,78 @@ namespace JDP { // // btnConvert // - this.btnConvert.AccessibleDescription = null; - this.btnConvert.AccessibleName = null; resources.ApplyResources(this.btnConvert, "btnConvert"); - this.btnConvert.BackgroundImage = null; - this.btnConvert.Font = null; this.btnConvert.Name = "btnConvert"; - this.toolTip1.SetToolTip(this.btnConvert, resources.GetString("btnConvert.ToolTip")); this.btnConvert.UseVisualStyleBackColor = true; this.btnConvert.Click += new System.EventHandler(this.btnConvert_Click); // // grpCUEPaths // - this.grpCUEPaths.AccessibleDescription = null; - this.grpCUEPaths.AccessibleName = null; - resources.ApplyResources(this.grpCUEPaths, "grpCUEPaths"); - this.grpCUEPaths.BackgroundImage = null; this.grpCUEPaths.Controls.Add(this.btnBrowseOutput); this.grpCUEPaths.Controls.Add(this.btnBrowseInput); this.grpCUEPaths.Controls.Add(this.lblOutput); this.grpCUEPaths.Controls.Add(this.lblInput); this.grpCUEPaths.Controls.Add(this.txtOutputPath); this.grpCUEPaths.Controls.Add(this.txtInputPath); - this.grpCUEPaths.Font = null; + resources.ApplyResources(this.grpCUEPaths, "grpCUEPaths"); this.grpCUEPaths.Name = "grpCUEPaths"; this.grpCUEPaths.TabStop = false; - this.toolTip1.SetToolTip(this.grpCUEPaths, resources.GetString("grpCUEPaths.ToolTip")); // // btnBrowseOutput // - this.btnBrowseOutput.AccessibleDescription = null; - this.btnBrowseOutput.AccessibleName = null; resources.ApplyResources(this.btnBrowseOutput, "btnBrowseOutput"); - this.btnBrowseOutput.BackgroundImage = null; - this.btnBrowseOutput.Font = null; this.btnBrowseOutput.Name = "btnBrowseOutput"; - this.toolTip1.SetToolTip(this.btnBrowseOutput, resources.GetString("btnBrowseOutput.ToolTip")); this.btnBrowseOutput.UseVisualStyleBackColor = true; this.btnBrowseOutput.Click += new System.EventHandler(this.btnBrowseOutput_Click); // // btnBrowseInput // - this.btnBrowseInput.AccessibleDescription = null; - this.btnBrowseInput.AccessibleName = null; resources.ApplyResources(this.btnBrowseInput, "btnBrowseInput"); - this.btnBrowseInput.BackgroundImage = null; - this.btnBrowseInput.Font = null; this.btnBrowseInput.Name = "btnBrowseInput"; - this.toolTip1.SetToolTip(this.btnBrowseInput, resources.GetString("btnBrowseInput.ToolTip")); this.btnBrowseInput.UseVisualStyleBackColor = true; this.btnBrowseInput.Click += new System.EventHandler(this.btnBrowseInput_Click); // // lblOutput // - this.lblOutput.AccessibleDescription = null; - this.lblOutput.AccessibleName = null; resources.ApplyResources(this.lblOutput, "lblOutput"); - this.lblOutput.Font = null; this.lblOutput.Name = "lblOutput"; - this.toolTip1.SetToolTip(this.lblOutput, resources.GetString("lblOutput.ToolTip")); // // lblInput // - this.lblInput.AccessibleDescription = null; - this.lblInput.AccessibleName = null; resources.ApplyResources(this.lblInput, "lblInput"); - this.lblInput.Font = null; this.lblInput.Name = "lblInput"; - this.toolTip1.SetToolTip(this.lblInput, resources.GetString("lblInput.ToolTip")); // // txtOutputPath // - this.txtOutputPath.AccessibleDescription = null; - this.txtOutputPath.AccessibleName = null; this.txtOutputPath.AllowDrop = true; resources.ApplyResources(this.txtOutputPath, "txtOutputPath"); - this.txtOutputPath.BackgroundImage = null; - this.txtOutputPath.Font = null; this.txtOutputPath.Name = "txtOutputPath"; - this.toolTip1.SetToolTip(this.txtOutputPath, resources.GetString("txtOutputPath.ToolTip")); this.txtOutputPath.DragDrop += new System.Windows.Forms.DragEventHandler(this.PathTextBox_DragDrop); this.txtOutputPath.DragEnter += new System.Windows.Forms.DragEventHandler(this.PathTextBox_DragEnter); // // txtInputPath // - this.txtInputPath.AccessibleDescription = null; - this.txtInputPath.AccessibleName = null; this.txtInputPath.AllowDrop = true; resources.ApplyResources(this.txtInputPath, "txtInputPath"); - this.txtInputPath.BackgroundImage = null; - this.txtInputPath.Font = null; this.txtInputPath.Name = "txtInputPath"; - this.toolTip1.SetToolTip(this.txtInputPath, resources.GetString("txtInputPath.ToolTip")); this.txtInputPath.TextChanged += new System.EventHandler(this.txtInputPath_TextChanged); this.txtInputPath.DragDrop += new System.Windows.Forms.DragEventHandler(this.PathTextBox_DragDrop); this.txtInputPath.DragEnter += new System.Windows.Forms.DragEventHandler(this.PathTextBox_DragEnter); // // grpOutputStyle // - this.grpOutputStyle.AccessibleDescription = null; - this.grpOutputStyle.AccessibleName = null; - resources.ApplyResources(this.grpOutputStyle, "grpOutputStyle"); - this.grpOutputStyle.BackgroundImage = null; this.grpOutputStyle.Controls.Add(this.rbEmbedCUE); this.grpOutputStyle.Controls.Add(this.rbGapsLeftOut); this.grpOutputStyle.Controls.Add(this.rbGapsPrepended); this.grpOutputStyle.Controls.Add(this.rbGapsAppended); this.grpOutputStyle.Controls.Add(this.rbSingleFile); - this.grpOutputStyle.Font = null; + resources.ApplyResources(this.grpOutputStyle, "grpOutputStyle"); this.grpOutputStyle.Name = "grpOutputStyle"; this.grpOutputStyle.TabStop = false; - this.toolTip1.SetToolTip(this.grpOutputStyle, resources.GetString("grpOutputStyle.ToolTip")); // // rbEmbedCUE // - this.rbEmbedCUE.AccessibleDescription = null; - this.rbEmbedCUE.AccessibleName = null; resources.ApplyResources(this.rbEmbedCUE, "rbEmbedCUE"); - this.rbEmbedCUE.BackgroundImage = null; - this.rbEmbedCUE.Font = null; this.rbEmbedCUE.Name = "rbEmbedCUE"; this.rbEmbedCUE.TabStop = true; this.toolTip1.SetToolTip(this.rbEmbedCUE, resources.GetString("rbEmbedCUE.ToolTip")); @@ -209,45 +163,29 @@ namespace JDP { // // rbGapsLeftOut // - this.rbGapsLeftOut.AccessibleDescription = null; - this.rbGapsLeftOut.AccessibleName = null; resources.ApplyResources(this.rbGapsLeftOut, "rbGapsLeftOut"); - this.rbGapsLeftOut.BackgroundImage = null; - this.rbGapsLeftOut.Font = null; this.rbGapsLeftOut.Name = "rbGapsLeftOut"; this.toolTip1.SetToolTip(this.rbGapsLeftOut, resources.GetString("rbGapsLeftOut.ToolTip")); this.rbGapsLeftOut.UseVisualStyleBackColor = true; // // rbGapsPrepended // - this.rbGapsPrepended.AccessibleDescription = null; - this.rbGapsPrepended.AccessibleName = null; resources.ApplyResources(this.rbGapsPrepended, "rbGapsPrepended"); - this.rbGapsPrepended.BackgroundImage = null; - this.rbGapsPrepended.Font = null; this.rbGapsPrepended.Name = "rbGapsPrepended"; this.toolTip1.SetToolTip(this.rbGapsPrepended, resources.GetString("rbGapsPrepended.ToolTip")); this.rbGapsPrepended.UseVisualStyleBackColor = true; // // rbGapsAppended // - this.rbGapsAppended.AccessibleDescription = null; - this.rbGapsAppended.AccessibleName = null; resources.ApplyResources(this.rbGapsAppended, "rbGapsAppended"); - this.rbGapsAppended.BackgroundImage = null; - this.rbGapsAppended.Font = null; this.rbGapsAppended.Name = "rbGapsAppended"; this.toolTip1.SetToolTip(this.rbGapsAppended, resources.GetString("rbGapsAppended.ToolTip")); this.rbGapsAppended.UseVisualStyleBackColor = true; // // rbSingleFile // - this.rbSingleFile.AccessibleDescription = null; - this.rbSingleFile.AccessibleName = null; resources.ApplyResources(this.rbSingleFile, "rbSingleFile"); - this.rbSingleFile.BackgroundImage = null; this.rbSingleFile.Checked = true; - this.rbSingleFile.Font = null; this.rbSingleFile.Name = "rbSingleFile"; this.rbSingleFile.TabStop = true; this.toolTip1.SetToolTip(this.rbSingleFile, resources.GetString("rbSingleFile.ToolTip")); @@ -255,22 +193,13 @@ namespace JDP { // // btnAbout // - this.btnAbout.AccessibleDescription = null; - this.btnAbout.AccessibleName = null; resources.ApplyResources(this.btnAbout, "btnAbout"); - this.btnAbout.BackgroundImage = null; - this.btnAbout.Font = null; this.btnAbout.Name = "btnAbout"; - this.toolTip1.SetToolTip(this.btnAbout, resources.GetString("btnAbout.ToolTip")); this.btnAbout.UseVisualStyleBackColor = true; this.btnAbout.Click += new System.EventHandler(this.btnAbout_Click); // // grpOutputPathGeneration // - this.grpOutputPathGeneration.AccessibleDescription = null; - this.grpOutputPathGeneration.AccessibleName = null; - resources.ApplyResources(this.grpOutputPathGeneration, "grpOutputPathGeneration"); - this.grpOutputPathGeneration.BackgroundImage = null; this.grpOutputPathGeneration.Controls.Add(this.txtCustomFormat); this.grpOutputPathGeneration.Controls.Add(this.rbCustomFormat); this.grpOutputPathGeneration.Controls.Add(this.txtCreateSubdirectory); @@ -278,130 +207,89 @@ namespace JDP { this.grpOutputPathGeneration.Controls.Add(this.rbCreateSubdirectory); this.grpOutputPathGeneration.Controls.Add(this.rbAppendFilename); this.grpOutputPathGeneration.Controls.Add(this.txtAppendFilename); - this.grpOutputPathGeneration.Font = null; + resources.ApplyResources(this.grpOutputPathGeneration, "grpOutputPathGeneration"); this.grpOutputPathGeneration.Name = "grpOutputPathGeneration"; this.grpOutputPathGeneration.TabStop = false; - this.toolTip1.SetToolTip(this.grpOutputPathGeneration, resources.GetString("grpOutputPathGeneration.ToolTip")); // // txtCustomFormat // - this.txtCustomFormat.AccessibleDescription = null; - this.txtCustomFormat.AccessibleName = null; resources.ApplyResources(this.txtCustomFormat, "txtCustomFormat"); - this.txtCustomFormat.BackgroundImage = null; - this.txtCustomFormat.Font = null; this.txtCustomFormat.Name = "txtCustomFormat"; - this.toolTip1.SetToolTip(this.txtCustomFormat, resources.GetString("txtCustomFormat.ToolTip")); this.txtCustomFormat.TextChanged += new System.EventHandler(this.txtCustomFormat_TextChanged); // // rbCustomFormat // - this.rbCustomFormat.AccessibleDescription = null; - this.rbCustomFormat.AccessibleName = null; resources.ApplyResources(this.rbCustomFormat, "rbCustomFormat"); - this.rbCustomFormat.BackgroundImage = null; - this.rbCustomFormat.Font = null; this.rbCustomFormat.Name = "rbCustomFormat"; this.rbCustomFormat.TabStop = true; - this.toolTip1.SetToolTip(this.rbCustomFormat, resources.GetString("rbCustomFormat.ToolTip")); this.rbCustomFormat.UseVisualStyleBackColor = true; this.rbCustomFormat.CheckedChanged += new System.EventHandler(this.rbCustomFormat_CheckedChanged); // // txtCreateSubdirectory // - this.txtCreateSubdirectory.AccessibleDescription = null; - this.txtCreateSubdirectory.AccessibleName = null; resources.ApplyResources(this.txtCreateSubdirectory, "txtCreateSubdirectory"); - this.txtCreateSubdirectory.BackgroundImage = null; - this.txtCreateSubdirectory.Font = null; this.txtCreateSubdirectory.Name = "txtCreateSubdirectory"; - this.toolTip1.SetToolTip(this.txtCreateSubdirectory, resources.GetString("txtCreateSubdirectory.ToolTip")); this.txtCreateSubdirectory.TextChanged += new System.EventHandler(this.txtCreateSubdirectory_TextChanged); // // rbDontGenerate // - this.rbDontGenerate.AccessibleDescription = null; - this.rbDontGenerate.AccessibleName = null; resources.ApplyResources(this.rbDontGenerate, "rbDontGenerate"); - this.rbDontGenerate.BackgroundImage = null; - this.rbDontGenerate.Font = null; this.rbDontGenerate.Name = "rbDontGenerate"; - this.toolTip1.SetToolTip(this.rbDontGenerate, resources.GetString("rbDontGenerate.ToolTip")); this.rbDontGenerate.UseVisualStyleBackColor = true; // // rbCreateSubdirectory // - this.rbCreateSubdirectory.AccessibleDescription = null; - this.rbCreateSubdirectory.AccessibleName = null; resources.ApplyResources(this.rbCreateSubdirectory, "rbCreateSubdirectory"); - this.rbCreateSubdirectory.BackgroundImage = null; this.rbCreateSubdirectory.Checked = true; - this.rbCreateSubdirectory.Font = null; this.rbCreateSubdirectory.Name = "rbCreateSubdirectory"; this.rbCreateSubdirectory.TabStop = true; - this.toolTip1.SetToolTip(this.rbCreateSubdirectory, resources.GetString("rbCreateSubdirectory.ToolTip")); this.rbCreateSubdirectory.UseVisualStyleBackColor = true; this.rbCreateSubdirectory.CheckedChanged += new System.EventHandler(this.rbCreateSubdirectory_CheckedChanged); // // rbAppendFilename // - this.rbAppendFilename.AccessibleDescription = null; - this.rbAppendFilename.AccessibleName = null; resources.ApplyResources(this.rbAppendFilename, "rbAppendFilename"); - this.rbAppendFilename.BackgroundImage = null; - this.rbAppendFilename.Font = null; this.rbAppendFilename.Name = "rbAppendFilename"; - this.toolTip1.SetToolTip(this.rbAppendFilename, resources.GetString("rbAppendFilename.ToolTip")); this.rbAppendFilename.UseVisualStyleBackColor = true; this.rbAppendFilename.CheckedChanged += new System.EventHandler(this.rbAppendFilename_CheckedChanged); // // txtAppendFilename // - this.txtAppendFilename.AccessibleDescription = null; - this.txtAppendFilename.AccessibleName = null; resources.ApplyResources(this.txtAppendFilename, "txtAppendFilename"); - this.txtAppendFilename.BackgroundImage = null; - this.txtAppendFilename.Font = null; this.txtAppendFilename.Name = "txtAppendFilename"; - this.toolTip1.SetToolTip(this.txtAppendFilename, resources.GetString("txtAppendFilename.ToolTip")); this.txtAppendFilename.TextChanged += new System.EventHandler(this.txtAppendFilename_TextChanged); // // grpAudioOutput // - this.grpAudioOutput.AccessibleDescription = null; - this.grpAudioOutput.AccessibleName = null; - resources.ApplyResources(this.grpAudioOutput, "grpAudioOutput"); - this.grpAudioOutput.BackgroundImage = null; + this.grpAudioOutput.Controls.Add(this.chkLossyWAV); this.grpAudioOutput.Controls.Add(this.rbAPE); this.grpAudioOutput.Controls.Add(this.rbNoAudio); this.grpAudioOutput.Controls.Add(this.rbWavPack); this.grpAudioOutput.Controls.Add(this.rbFLAC); this.grpAudioOutput.Controls.Add(this.rbWAV); - this.grpAudioOutput.Font = null; + resources.ApplyResources(this.grpAudioOutput, "grpAudioOutput"); this.grpAudioOutput.Name = "grpAudioOutput"; this.grpAudioOutput.TabStop = false; - this.toolTip1.SetToolTip(this.grpAudioOutput, resources.GetString("grpAudioOutput.ToolTip")); + // + // chkLossyWAV + // + resources.ApplyResources(this.chkLossyWAV, "chkLossyWAV"); + this.chkLossyWAV.Name = "chkLossyWAV"; + this.toolTip1.SetToolTip(this.chkLossyWAV, resources.GetString("chkLossyWAV.ToolTip")); + this.chkLossyWAV.UseVisualStyleBackColor = true; + this.chkLossyWAV.CheckedChanged += new System.EventHandler(this.chkLossyWAV_CheckedChanged); // // rbAPE // - this.rbAPE.AccessibleDescription = null; - this.rbAPE.AccessibleName = null; resources.ApplyResources(this.rbAPE, "rbAPE"); - this.rbAPE.BackgroundImage = null; - this.rbAPE.Font = null; this.rbAPE.Name = "rbAPE"; this.rbAPE.TabStop = true; - this.toolTip1.SetToolTip(this.rbAPE, resources.GetString("rbAPE.ToolTip")); this.rbAPE.UseVisualStyleBackColor = true; this.rbAPE.CheckedChanged += new System.EventHandler(this.rbAPE_CheckedChanged); // // rbNoAudio // - this.rbNoAudio.AccessibleDescription = null; - this.rbNoAudio.AccessibleName = null; resources.ApplyResources(this.rbNoAudio, "rbNoAudio"); - this.rbNoAudio.BackgroundImage = null; - this.rbNoAudio.Font = null; this.rbNoAudio.Name = "rbNoAudio"; this.toolTip1.SetToolTip(this.rbNoAudio, resources.GetString("rbNoAudio.ToolTip")); this.rbNoAudio.UseVisualStyleBackColor = true; @@ -409,135 +297,84 @@ namespace JDP { // // rbWavPack // - this.rbWavPack.AccessibleDescription = null; - this.rbWavPack.AccessibleName = null; resources.ApplyResources(this.rbWavPack, "rbWavPack"); - this.rbWavPack.BackgroundImage = null; - this.rbWavPack.Font = null; this.rbWavPack.Name = "rbWavPack"; - this.toolTip1.SetToolTip(this.rbWavPack, resources.GetString("rbWavPack.ToolTip")); this.rbWavPack.UseVisualStyleBackColor = true; this.rbWavPack.CheckedChanged += new System.EventHandler(this.rbWavPack_CheckedChanged); // // rbFLAC // - this.rbFLAC.AccessibleDescription = null; - this.rbFLAC.AccessibleName = null; resources.ApplyResources(this.rbFLAC, "rbFLAC"); - this.rbFLAC.BackgroundImage = null; - this.rbFLAC.Font = null; this.rbFLAC.Name = "rbFLAC"; - this.toolTip1.SetToolTip(this.rbFLAC, resources.GetString("rbFLAC.ToolTip")); this.rbFLAC.UseVisualStyleBackColor = true; this.rbFLAC.CheckedChanged += new System.EventHandler(this.rbFLAC_CheckedChanged); // // rbWAV // - this.rbWAV.AccessibleDescription = null; - this.rbWAV.AccessibleName = null; resources.ApplyResources(this.rbWAV, "rbWAV"); - this.rbWAV.BackgroundImage = null; this.rbWAV.Checked = true; - this.rbWAV.Font = null; this.rbWAV.Name = "rbWAV"; this.rbWAV.TabStop = true; - this.toolTip1.SetToolTip(this.rbWAV, resources.GetString("rbWAV.ToolTip")); this.rbWAV.UseVisualStyleBackColor = true; this.rbWAV.CheckedChanged += new System.EventHandler(this.rbWAV_CheckedChanged); // // btnBatch // - this.btnBatch.AccessibleDescription = null; - this.btnBatch.AccessibleName = null; resources.ApplyResources(this.btnBatch, "btnBatch"); - this.btnBatch.BackgroundImage = null; - this.btnBatch.Font = null; this.btnBatch.Name = "btnBatch"; - this.toolTip1.SetToolTip(this.btnBatch, resources.GetString("btnBatch.ToolTip")); this.btnBatch.UseVisualStyleBackColor = true; this.btnBatch.Click += new System.EventHandler(this.btnBatch_Click); // // btnFilenameCorrector // - this.btnFilenameCorrector.AccessibleDescription = null; - this.btnFilenameCorrector.AccessibleName = null; resources.ApplyResources(this.btnFilenameCorrector, "btnFilenameCorrector"); - this.btnFilenameCorrector.BackgroundImage = null; - this.btnFilenameCorrector.Font = null; this.btnFilenameCorrector.Name = "btnFilenameCorrector"; - this.toolTip1.SetToolTip(this.btnFilenameCorrector, resources.GetString("btnFilenameCorrector.ToolTip")); this.btnFilenameCorrector.UseVisualStyleBackColor = true; this.btnFilenameCorrector.Click += new System.EventHandler(this.btnFilenameCorrector_Click); // // btnSettings // - this.btnSettings.AccessibleDescription = null; - this.btnSettings.AccessibleName = null; resources.ApplyResources(this.btnSettings, "btnSettings"); - this.btnSettings.BackgroundImage = null; - this.btnSettings.Font = null; this.btnSettings.Name = "btnSettings"; - this.toolTip1.SetToolTip(this.btnSettings, resources.GetString("btnSettings.ToolTip")); this.btnSettings.UseVisualStyleBackColor = true; this.btnSettings.Click += new System.EventHandler(this.btnSettings_Click); // // grpAccurateRip // - this.grpAccurateRip.AccessibleDescription = null; - this.grpAccurateRip.AccessibleName = null; - resources.ApplyResources(this.grpAccurateRip, "grpAccurateRip"); - this.grpAccurateRip.BackgroundImage = null; this.grpAccurateRip.Controls.Add(this.label1); this.grpAccurateRip.Controls.Add(this.txtDataTrackLength); this.grpAccurateRip.Controls.Add(this.rbArApplyOffset); this.grpAccurateRip.Controls.Add(this.rbArVerify); this.grpAccurateRip.Controls.Add(this.rbArNone); - this.grpAccurateRip.Font = null; + resources.ApplyResources(this.grpAccurateRip, "grpAccurateRip"); this.grpAccurateRip.Name = "grpAccurateRip"; this.grpAccurateRip.TabStop = false; - this.toolTip1.SetToolTip(this.grpAccurateRip, resources.GetString("grpAccurateRip.ToolTip")); // // label1 // - this.label1.AccessibleDescription = null; - this.label1.AccessibleName = null; resources.ApplyResources(this.label1, "label1"); - this.label1.Font = null; this.label1.Name = "label1"; - this.toolTip1.SetToolTip(this.label1, resources.GetString("label1.ToolTip")); // // txtDataTrackLength // - this.txtDataTrackLength.AccessibleDescription = null; - this.txtDataTrackLength.AccessibleName = null; - resources.ApplyResources(this.txtDataTrackLength, "txtDataTrackLength"); - this.txtDataTrackLength.BackgroundImage = null; this.txtDataTrackLength.Culture = new System.Globalization.CultureInfo(""); this.txtDataTrackLength.CutCopyMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; - this.txtDataTrackLength.Font = null; this.txtDataTrackLength.InsertKeyMode = System.Windows.Forms.InsertKeyMode.Overwrite; + resources.ApplyResources(this.txtDataTrackLength, "txtDataTrackLength"); this.txtDataTrackLength.Name = "txtDataTrackLength"; this.txtDataTrackLength.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; this.toolTip1.SetToolTip(this.txtDataTrackLength, resources.GetString("txtDataTrackLength.ToolTip")); // // rbArApplyOffset // - this.rbArApplyOffset.AccessibleDescription = null; - this.rbArApplyOffset.AccessibleName = null; resources.ApplyResources(this.rbArApplyOffset, "rbArApplyOffset"); - this.rbArApplyOffset.BackgroundImage = null; - this.rbArApplyOffset.Font = null; this.rbArApplyOffset.Name = "rbArApplyOffset"; this.toolTip1.SetToolTip(this.rbArApplyOffset, resources.GetString("rbArApplyOffset.ToolTip")); this.rbArApplyOffset.UseVisualStyleBackColor = true; // // rbArVerify // - this.rbArVerify.AccessibleDescription = null; - this.rbArVerify.AccessibleName = null; resources.ApplyResources(this.rbArVerify, "rbArVerify"); - this.rbArVerify.BackgroundImage = null; - this.rbArVerify.Font = null; this.rbArVerify.Name = "rbArVerify"; this.toolTip1.SetToolTip(this.rbArVerify, resources.GetString("rbArVerify.ToolTip")); this.rbArVerify.UseVisualStyleBackColor = true; @@ -545,12 +382,8 @@ namespace JDP { // // rbArNone // - this.rbArNone.AccessibleDescription = null; - this.rbArNone.AccessibleName = null; resources.ApplyResources(this.rbArNone, "rbArNone"); - this.rbArNone.BackgroundImage = null; this.rbArNone.Checked = true; - this.rbArNone.Font = null; this.rbArNone.Name = "rbArNone"; this.rbArNone.TabStop = true; this.toolTip1.SetToolTip(this.rbArNone, resources.GetString("rbArNone.ToolTip")); @@ -558,44 +391,32 @@ namespace JDP { // // statusStrip1 // - this.statusStrip1.AccessibleDescription = null; - this.statusStrip1.AccessibleName = null; - resources.ApplyResources(this.statusStrip1, "statusStrip1"); - this.statusStrip1.BackgroundImage = null; - this.statusStrip1.Font = null; this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripStatusLabel1, this.toolStripProgressBar1, this.toolStripProgressBar2}); + resources.ApplyResources(this.statusStrip1, "statusStrip1"); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.SizingGrip = false; - this.toolTip1.SetToolTip(this.statusStrip1, resources.GetString("statusStrip1.ToolTip")); // // toolStripStatusLabel1 // - this.toolStripStatusLabel1.AccessibleDescription = null; - this.toolStripStatusLabel1.AccessibleName = null; - resources.ApplyResources(this.toolStripStatusLabel1, "toolStripStatusLabel1"); - this.toolStripStatusLabel1.BackgroundImage = null; this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + resources.ApplyResources(this.toolStripStatusLabel1, "toolStripStatusLabel1"); this.toolStripStatusLabel1.Spring = true; // // toolStripProgressBar1 // - this.toolStripProgressBar1.AccessibleDescription = null; - this.toolStripProgressBar1.AccessibleName = null; - resources.ApplyResources(this.toolStripProgressBar1, "toolStripProgressBar1"); this.toolStripProgressBar1.AutoToolTip = true; this.toolStripProgressBar1.Name = "toolStripProgressBar1"; + resources.ApplyResources(this.toolStripProgressBar1, "toolStripProgressBar1"); this.toolStripProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Continuous; // // toolStripProgressBar2 // - this.toolStripProgressBar2.AccessibleDescription = null; - this.toolStripProgressBar2.AccessibleName = null; - resources.ApplyResources(this.toolStripProgressBar2, "toolStripProgressBar2"); this.toolStripProgressBar2.AutoToolTip = true; this.toolStripProgressBar2.Name = "toolStripProgressBar2"; + resources.ApplyResources(this.toolStripProgressBar2, "toolStripProgressBar2"); this.toolStripProgressBar2.Style = System.Windows.Forms.ProgressBarStyle.Continuous; // // toolTip1 @@ -606,59 +427,36 @@ namespace JDP { // // btnCUECreator // - this.btnCUECreator.AccessibleDescription = null; - this.btnCUECreator.AccessibleName = null; resources.ApplyResources(this.btnCUECreator, "btnCUECreator"); - this.btnCUECreator.BackgroundImage = null; - this.btnCUECreator.Font = null; this.btnCUECreator.Name = "btnCUECreator"; - this.toolTip1.SetToolTip(this.btnCUECreator, resources.GetString("btnCUECreator.ToolTip")); this.btnCUECreator.UseVisualStyleBackColor = true; this.btnCUECreator.Click += new System.EventHandler(this.btnCUECreator_Click); // // btnStop // - this.btnStop.AccessibleDescription = null; - this.btnStop.AccessibleName = null; resources.ApplyResources(this.btnStop, "btnStop"); - this.btnStop.BackgroundImage = null; - this.btnStop.Font = null; this.btnStop.Name = "btnStop"; - this.toolTip1.SetToolTip(this.btnStop, resources.GetString("btnStop.ToolTip")); this.btnStop.UseVisualStyleBackColor = true; this.btnStop.Click += new System.EventHandler(this.btnStop_Click); // // btnPause // - this.btnPause.AccessibleDescription = null; - this.btnPause.AccessibleName = null; resources.ApplyResources(this.btnPause, "btnPause"); - this.btnPause.BackgroundImage = null; - this.btnPause.Font = null; this.btnPause.Name = "btnPause"; - this.toolTip1.SetToolTip(this.btnPause, resources.GetString("btnPause.ToolTip")); this.btnPause.UseVisualStyleBackColor = true; this.btnPause.Click += new System.EventHandler(this.btnPause_Click); // // btnResume // - this.btnResume.AccessibleDescription = null; - this.btnResume.AccessibleName = null; resources.ApplyResources(this.btnResume, "btnResume"); - this.btnResume.BackgroundImage = null; - this.btnResume.Font = null; this.btnResume.Name = "btnResume"; - this.toolTip1.SetToolTip(this.btnResume, resources.GetString("btnResume.ToolTip")); this.btnResume.UseVisualStyleBackColor = true; this.btnResume.Click += new System.EventHandler(this.btnPause_Click); // // frmCUETools // - this.AccessibleDescription = null; - this.AccessibleName = null; resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackgroundImage = null; this.Controls.Add(this.btnResume); this.Controls.Add(this.btnPause); this.Controls.Add(this.btnStop); @@ -675,10 +473,8 @@ namespace JDP { this.Controls.Add(this.grpCUEPaths); this.Controls.Add(this.btnConvert); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.Icon = null; this.MaximizeBox = false; this.Name = "frmCUETools"; - this.toolTip1.SetToolTip(this, resources.GetString("$this.ToolTip")); this.Load += new System.EventHandler(this.frmCUETools_Load); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.frmCUETools_FormClosed); this.grpCUEPaths.ResumeLayout(false); @@ -747,6 +543,7 @@ namespace JDP { private System.Windows.Forms.Button btnStop; private System.Windows.Forms.Button btnPause; private System.Windows.Forms.Button btnResume; + private System.Windows.Forms.CheckBox chkLossyWAV; } } diff --git a/CUETools/frmCUETools.cs b/CUETools/frmCUETools.cs index d1f00ea..691869a 100644 --- a/CUETools/frmCUETools.cs +++ b/CUETools/frmCUETools.cs @@ -250,7 +250,7 @@ namespace JDP { UpdateOutputPath(cueSheet.Artist != "" ? cueSheet.Artist : "Unknown Artist", cueSheet.Title != "" ? cueSheet.Title : "Unknown Title"); pathOut = txtOutputPath.Text; - cueSheet.GenerateFilenames(SelectedOutputAudioFormat, pathOut); + cueSheet.GenerateFilenames(SelectedOutputAudioFormat, pathOut, chkLossyWAV.Checked); outDir = Path.GetDirectoryName(pathOut); if (cueStyle == CUEStyle.SingleFileWithCUE) cueSheet.SingleFilename = Path.GetFileName (pathOut); @@ -503,6 +503,7 @@ namespace JDP { _writeOffset = sr.LoadInt32("WriteOffset", null, null) ?? 0; _usePregapForFirstTrackInSingleFile = sr.LoadBoolean("UsePregapForFirstTrackInSingleFile") ?? false; _reducePriority = sr.LoadBoolean("ReducePriority") ?? true; + chkLossyWAV.Checked = sr.LoadBoolean("LossyWav") ?? false; _config.Load(sr); } @@ -518,6 +519,7 @@ namespace JDP { sw.Save("WriteOffset", _writeOffset); sw.Save("UsePregapForFirstTrackInSingleFile", _usePregapForFirstTrackInSingleFile); sw.Save("ReducePriority", _reducePriority); + sw.Save("LossyWav", chkLossyWAV.Checked); _config.Save(sw); sw.Close(); } @@ -768,9 +770,12 @@ namespace JDP { file = Path.GetFileNameWithoutExtension(pathIn); } ext = ".cue"; - if (rbEmbedCUE.Checked) ext = General.FormatExtension (SelectedOutputAudioFormat); + if (chkLossyWAV.Checked) + ext = ".lossy" + ext; + if (_config.detectHDCD && _config.decodeHDCD) + ext = ".24bit" + ext; if (rbCreateSubdirectory.Checked) { pathOut = Path.Combine(Path.Combine(dir, txtCreateSubdirectory.Text), file + ext); @@ -802,7 +807,10 @@ namespace JDP { private void updateOutputStyles() { rbEmbedCUE.Enabled = rbFLAC.Checked || rbWavPack.Checked || rbAPE.Checked; - rbNoAudio.Enabled = rbWAV.Enabled = !rbEmbedCUE.Checked; + chkLossyWAV.Enabled = rbFLAC.Checked || rbWavPack.Checked || rbWAV.Checked; + rbNoAudio.Enabled = !rbEmbedCUE.Checked && !chkLossyWAV.Checked; + rbWAV.Enabled = !rbEmbedCUE.Checked; + rbAPE.Enabled = !chkLossyWAV.Checked; } private void rbWAV_CheckedChanged(object sender, EventArgs e) @@ -813,11 +821,13 @@ namespace JDP { private void rbFLAC_CheckedChanged(object sender, EventArgs e) { updateOutputStyles(); + UpdateOutputPath(); } private void rbWavPack_CheckedChanged(object sender, EventArgs e) { updateOutputStyles(); + UpdateOutputPath(); } private void rbEmbedCUE_CheckedChanged(object sender, EventArgs e) @@ -886,6 +896,7 @@ namespace JDP { private void rbAPE_CheckedChanged(object sender, EventArgs e) { updateOutputStyles(); + UpdateOutputPath(); } private void btnStop_Click(object sender, EventArgs e) @@ -903,6 +914,12 @@ namespace JDP { btnResume.Visible = !btnResume.Visible; } } + + private void chkLossyWAV_CheckedChanged(object sender, EventArgs e) + { + updateOutputStyles(); + UpdateOutputPath(); + } } enum OutputPathGeneration { diff --git a/CUETools/frmCUETools.resx b/CUETools/frmCUETools.resx index f9f9e3a..120a690 100644 --- a/CUETools/frmCUETools.resx +++ b/CUETools/frmCUETools.resx @@ -117,1324 +117,1531 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - - - - 69, 17 - - - 54, 21 - - - - - - 00:00:00 - - - 178, 21 - - - 178, 21 - - - - 14 - - - - - - 4 - - - rbGapsLeftOut - - - 0 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - CUE Style - - - - NoControl - - - 4 - - - btnPause - - - 2 - - - grpOutputPathGeneration - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 8 - - - 66, 23 - - - Gaps Left Out - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpOutputStyle - - - %1:-2\New\%-1\%F.cue - - - rbNoAudio - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpOutputPathGeneration - - - 4 - - - 4 - - - 78, 86 - - - 10 - - - 0 - - - 0 - - - - - - grpAccurateRip - - - System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - CenterScreen - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 551, 361 - - - 0 - - - btnAbout - - - rbEmbedCUE - - - - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - lblInput - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - - - - - - 3 - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - btnBrowseInput - - - True - - - txtCreateSubdirectory - - - 5 - - - frmCUETools - - - 6 - - - - - - rbWavPack - - - Browse... - - - False - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - - $this - - - Batch... - - - 3 - - - Verify, &then encode - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - rbArVerify - - - 1 - - - Create single file with embedded CUE sheet. - - - 535, 84 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 10 - - - True - - - $this - - - rbGapsPrepended - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Filename Corrector... - - - rbGapsAppended - - - grpAccurateRip - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - - - 551, 22 - - - NoControl - - - 452, 20 - - - 3 - - - grpOutputPathGeneration - - - True - - - True - - - NoControl - - - &None - - - 7 - - - 122, 17 - - - True - - - 3 - - - btnBrowseOutput - - - 3 - - - 6 - - - Advanced Settings... - - - 8, 24 - - - 330, 115 - - - 412, 245 - - - 9 - - - True - - - 1 - - - rbDontGenerate - - - True - - - rbCreateSubdirectory - - - True - - - grpAudioOutput - - - - - - grpCUEPaths - - - - - - 66, 23 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - btnFilenameCorrector - - - 71, 23 - - - CUE Paths + + 412, 307 131, 23 - + + + 5 + + + &Go + + + btnConvert + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 2 - - + $this 14 - - 3 + + btnBrowseOutput + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 grpCUEPaths - - 10, 51 - - - grpCUEPaths - - - &WAV - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 412, 152 - - - 4 - - - 10, 85 - - - 131, 23 - - - True - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - - btnSettings - - - $this - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 4 - - - - - - System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - CUE Sheet Creator... - - - 50, 17 - - - 2 - - - grpAccurateRip - - - &Stop - - - Wav&Pack - - - 123, 17 - - - NoControl - - - 2 - - - &Manual - - - $this - - - grpOutputStyle - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - rbSingleFile - - - Create multiple files with gaps left out - - - 2 - - - txtDataTrackLength - - - Tahoma, 8.25pt - - - 59, 48 - - - &Output: - - - - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - grpOutputPathGeneration - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 92, 119 - - - 2 - - - 5 - - - Track progress - - - True - - - 4 - - - APE - - - $this - - - 104, 17 - - - grpOutputPathGeneration - - - 10, 34 - - - Not used for normal music CDs. Enhanced CDs with data tracks cannot be found in database unless you know the length of the data track. You can often find it in EAC log. If EAC log is found next to the CUE sheet, it will be parsed automaticly and you won't have to enter anything here. - - + 0 - - btnConvert + + btnBrowseInput - - + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - False + + grpCUEPaths - - 3 - - - &Pause - - - True - - - grpOutputPathGeneration - - + 1 - - grpAudioOutput - - - &Resume - - - 13 - - - $this - - - About - lblOutput - - grpOutputStyle + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - AccurateRip + + grpCUEPaths - - txtInputPath - - - &Embedded - - - 412, 307 - - - 0, 339 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + 2 - - Create multiple files with gaps prepended + + lblInput - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 412, 183 + + grpCUEPaths - - grpOutputStyle - - - btnCUECreator - - - 44, 17 - - - 385, 21 - - - 8, 211 - - - 10, 54 - - - &Single File + CUE - - - 10, 89 - - - 385, 21 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - MiddleLeft - - - 8, 52 - - - - - - C&reate subdirectory: - - - 5 - - - - - - 0 - - - 4 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 140, 20 - - - 0 - - - 412, 307 - - - Output Path - - - 125, 17 - - - grpAudioOutput - - - txtCustomFormat - - - 412, 276 - - - $this - - - 45, 13 - - - 66, 23 - - - grpOutputPathGeneration - - - 8, 4 - - - statusStrip1 - - - - - - 120, 17 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - rbWAV - - - Create single file + CUE sheet - - - - - - 10, 20 - - - 92, 17 - - - toolTip1 - - - 1 - - - 131, 23 - - - 8, 92 - - - Disk progress - - - $this - - - True - - - 452, 49 - - - &FLAC - - - 0 - - - - - - True - - - - - - 106, 17 - - - 59, 22 - - - - - - $this - - - btnStop - - - - - - New - - - - - - 0 - - - 140, 16 - - - - - - $this - - - Browse... + + 3 txtOutputPath - - 6 - - - 140, 41 - - - txtAppendFilename - - - 477, 307 - - - Contact the AccurateRip databse for validation and compare the image against database - - - 11, 87 - - - System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 11, 70 - - - 140, 16 - - - System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 3 - - - 1 - - - grpOutputStyle - - - True - - - 6, 13 - - - grpAccurateRip - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 grpCUEPaths - - 8, 89 - - - 0 - - - -New - - - 122, 17 - - - 1 - - - 11, 19 - - - label1 - - - 10, 43 - - - 6 - - - 10, 37 - - - 252, 17 - - - Data track: - - - True - - - 8 - - - Don't create any audio files, only CUE sheet - - - - - - grpAudioOutput - - - 1 - - - 2 - - - 0 - - - 12 - - - grpAccurateRip - - - 178, 21 - - - rbCustomFormat - - - 61, 13 - - - grpAccurateRip - - - Audio Output - - - 128, 119 - - - rbAppendFilename - - - True - - - 2 - - - Use custom format: - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 37, 13 - - - 3 - - - 3 - - - Append to filename: - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - On the first pass, verify and try to find an offset correction which makes the rip accurate according to the AccurateRip database. On the second pass, convert, possibly applying offset correction. - - - - - - &Verify, don't encode - - + 4 - - 10, 20 + + txtInputPath - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 140, 62 - - - grpOutputStyle - - - $this - - - 131, 23 - - - rbArApplyOffset - - - $this - - - - - - True - - - grpCUEPaths - - - rbArNone - - - 101, 17 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - btnResume - - - 11 - - + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - grpOutputPathGeneration - - - 7 - - - 11, 53 - - - System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 3 - - - &Go - - - grpAudioOutput - - - CUE Tools - - - 244, 211 - - - - - - $this - - - toolStripProgressBar2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - - 5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 3 - - - 2 - - - statusStrip1 - - - 4 - - - toolStripProgressBar1 - - - - - - 10, 17 - - - - - - 131, 23 - - - False - - - True - - - - - - 75, 17 - - - 10, 66 - - - 1 - - - 5 - - - $this - - - 48, 17 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Don't contact the AccurateRip database for validation - - - 1 - - - Gaps Prepended - - - &Input: - - - 0 - - - toolStripStatusLabel1 - - - Gaps &Appended - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 5 - - + grpCUEPaths - - 119, 17 + + 5 - - 131, 23 + + 8, 4 - - 11, 36 + + 535, 84 - - &Don't verify, encode + + 0 - - 412, 214 - - - 71, 23 - - - 4 - - - 50, 17 - - - NoControl - - - 4 - - - rbAPE - - - btnBatch - - - System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - rbFLAC - - - grpAudioOutput - - - 144, 119 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 11 - - - 12 - - - 9 - - - 13 - - - Create multiple files with gaps appended - - - 477, 307 - - - 108, 211 - - - 2 - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 2 - - - 59, 17 + + CUE Paths grpCUEPaths + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 13 + + + 452, 49 + + + 71, 23 + + + 5 + + + Browse... + + + btnBrowseOutput + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpCUEPaths + + + 0 + + + 452, 20 + + + 71, 23 + + + 2 + + + Browse... + + + btnBrowseInput + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpCUEPaths + + + 1 + + + True + + + 8, 52 + + + 45, 13 + + + 3 + + + &Output: + + + lblOutput + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpCUEPaths + + + 2 + + + True + + + 8, 24 + + + 37, 13 + + + 0 + + + &Input: + + + lblInput + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpCUEPaths + + + 3 + + + 59, 48 + + + 385, 21 + + + 4 + + + txtOutputPath + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpCUEPaths + + + 4 + + + 59, 22 + + + 385, 21 + + + 1 + + + txtInputPath + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpCUEPaths + + + 5 + + + rbEmbedCUE + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 0 + + + rbGapsLeftOut + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 1 + + + rbGapsPrepended + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 2 + + + rbGapsAppended + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 3 + + + rbSingleFile + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 4 + + + 108, 211 + + + 128, 137 + + + 3 + + + CUE Style + + + grpOutputStyle + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 12 + + + 153, 8 + + + True + + + + NoControl + + + 11, 19 + + + 75, 17 + + + 0 + + + &Embedded + + + Create single file with embedded CUE sheet. + + + rbEmbedCUE + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 0 + + + True + + + 11, 87 + + + 92, 17 + + + 4 + + + Gaps Left Out + + + Create multiple files with gaps left out + + + rbGapsLeftOut + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 1 + + + True + + + 11, 70 + + + 104, 17 + + + 3 + + + Gaps Prepended + + + Create multiple files with gaps prepended + + + rbGapsPrepended + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 2 + + + True + + + 11, 53 + + + 101, 17 + + + 2 + + + Gaps &Appended + + + Create multiple files with gaps appended + + + rbGapsAppended + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 3 + + + True + + + 11, 36 + + + 106, 17 + + + 1 + + + &Single File + CUE + + + Create single file + CUE sheet + + + rbSingleFile + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputStyle + + + 4 + + + 412, 152 + + + 131, 23 + + + 10 + + + About + + + btnAbout + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 11 + + + txtCustomFormat + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 0 + + + rbCustomFormat + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 1 + + + txtCreateSubdirectory + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 2 + + + rbDontGenerate + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 3 + + + rbCreateSubdirectory + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 4 + + + rbAppendFilename + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 5 + + + txtAppendFilename + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 6 + + + 8, 92 + + + 380, 115 + + + 1 + + + Output Path + + + grpOutputPathGeneration + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + + + 140, 62 + + + 226, 21 + + + 5 + + + %1:-2\New\%-1\%F.cue + + + txtCustomFormat + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 0 + + + True + + + 10, 66 + + + 119, 17 + + + 4 + + + Use custom format: + + + rbCustomFormat + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 1 + + + 140, 20 + + + 226, 21 + + + 1 + + + New + + + txtCreateSubdirectory + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 2 + + + True + + + 10, 89 + + + 59, 17 + + + 6 + + + &Manual + + + rbDontGenerate + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 3 + + + True + + + 10, 20 + + + 125, 17 + + + 0 + + + C&reate subdirectory: + + + rbCreateSubdirectory + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 4 + + + True + + + 10, 43 + + + 122, 17 + + + 2 + + + Append to filename: + + + rbAppendFilename + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 5 + + + 140, 41 + + + 226, 21 + + + 3 + + + -New + + + txtAppendFilename + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpOutputPathGeneration + + + 6 + + + True + + + 10, 109 + + + 76, 17 + + + 5 + + + LossyWAV + + + 153, 8 + + + Create a pair of files - .lossy.wav(flac,etc) and .lwcdf.wav(flac,etc). Lossy file contains (lossy) compressed music, but together with the lwcdf (correction) file the original audio can be reconstructed. + + + chkLossyWAV + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 0 + + + True + + + 10, 51 + + + 44, 17 + + + 2 + + + APE + + + rbAPE + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 1 + + + True + + + 10, 85 + + + 50, 17 + + + 4 + + + &None + + + Don't create any audio files, only CUE sheet + + + rbNoAudio + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 2 + + + True + + + 10, 34 + + + 69, 17 + + + 1 + + + Wav&Pack + + + rbWavPack + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 3 + + + True + + + 10, 17 + + + 50, 17 + + + 0 + + + &FLAC + + + rbFLAC + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 4 + + + True + 10, 68 - - + + 48, 17 + + + 3 + + + &WAV + + + rbWAV + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAudioOutput + + + 5 + + + 8, 211 + + + 92, 137 + + + 2 + + + Audio Output + + + grpAudioOutput + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + 412, 276 + + + 131, 23 + + + 6 + + + Batch... + + + btnBatch + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + 412, 245 + + + 131, 23 + + + 7 + + + Filename Corrector... + + + btnFilenameCorrector + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + 412, 183 + + + 131, 23 + + + 9 + + + Advanced Settings... + + + btnSettings + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 0 + + + txtDataTrackLength + + + System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 1 + + + rbArApplyOffset + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 2 + + + rbArVerify + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 3 + + + rbArNone + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 4 + + + 244, 211 + + + 144, 137 + + + 4 + + + AccurateRip + + + grpAccurateRip + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + True + + + 7, 106 + + + 61, 13 + + + 3 + + + Data track: + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 0 + + + 77, 103 + + + 00:00:00 + + + 0 + + + 54, 21 + + + 4 + + + Not used for normal music CDs. Enhanced CDs with data tracks cannot be found in database unless you know the length of the data track. You can often find it in EAC log. If EAC log is found next to the CUE sheet, it will be parsed automaticly and you won't have to enter anything here. + + + txtDataTrackLength + + + System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 1 + + + True + + + 10, 20 + + + 120, 17 + + + 0 + + + Verify, &then encode + + + On the first pass, verify and try to find an offset correction which makes the rip accurate according to the AccurateRip database. On the second pass, convert, possibly applying offset correction. + + + rbArApplyOffset + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 2 + + + True + + + 10, 54 + + + 122, 17 + + + 2 + + + &Verify, don't encode + + + Contact the AccurateRip databse for validation and compare the image against database + + + rbArVerify + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 3 + + + True + + + 10, 37 + + + 123, 17 + + + 1 + + + &Don't verify, encode + + + Don't contact the AccurateRip database for validation + + + rbArNone + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpAccurateRip + + + 4 + + + 0, 359 + + + 0, 359 + + + 551, 22 + + + 11 + + + statusStrip1 + + + statusStrip1 + + + System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + 252, 17 + + + MiddleLeft + + + 140, 16 + + + Track progress + + + 140, 16 + + + Disk progress + + + NoControl + + + 412, 214 + + + 131, 23 + + + 8 + + + CUE Sheet Creator... + + + btnCUECreator + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + NoControl + + + 412, 307 + + + 66, 23 + + + 12 + + + &Stop + + + False + + + btnStop + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + NoControl + + + 477, 307 + + + 66, 23 + + + 13 + + + &Pause + + + False + + + btnPause + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this 1 - + + NoControl + + + 477, 307 + + + 66, 23 + + + 14 + + + &Resume + + + False + + + btnResume + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 0, 339 - - - 153, 8 - + + $this + + + 0 + True + + 6, 13 + + + 551, 381 + + + Tahoma, 8.25pt + + + CenterScreen + + + CUE Tools + + + toolStripStatusLabel1 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripProgressBar1 + + + System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripProgressBar2 + + + System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolTip1 + + + System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + frmCUETools + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/CUETools/frmCUETools.ru-RU.resx b/CUETools/frmCUETools.ru-RU.resx index 49adc3c..db4081d 100644 --- a/CUETools/frmCUETools.ru-RU.resx +++ b/CUETools/frmCUETools.ru-RU.resx @@ -143,7 +143,7 @@ &Вход: - 130, 118 + 130, 137 Стиль CUE @@ -257,7 +257,7 @@ 250, 211 - 154, 118 + 154, 137 47, 13 diff --git a/CUETools/frmSettings.Designer.cs b/CUETools/frmSettings.Designer.cs index c519aad..cecbff7 100644 --- a/CUETools/frmSettings.Designer.cs +++ b/CUETools/frmSettings.Designer.cs @@ -27,6 +27,7 @@ namespace JDP { System.Windows.Forms.Button btnCancel; System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmSettings)); this.grpGeneral = new System.Windows.Forms.GroupBox(); + this.chkReducePriority = new System.Windows.Forms.CheckBox(); this.chkTruncateExtra4206Samples = new System.Windows.Forms.CheckBox(); this.chkCreateCUEFileWhenEmbedded = new System.Windows.Forms.CheckBox(); this.chkCreateM3U = new System.Windows.Forms.CheckBox(); @@ -89,10 +90,12 @@ namespace JDP { this.groupBox3 = new System.Windows.Forms.GroupBox(); this.chkWriteARLogOnVerify = new System.Windows.Forms.CheckBox(); this.tabPage3 = new System.Windows.Forms.TabPage(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.numericLossyWAVQuality = new System.Windows.Forms.NumericUpDown(); + this.label1 = new System.Windows.Forms.Label(); this.tabPage4 = new System.Windows.Forms.TabPage(); this.grpHDCD = new System.Windows.Forms.GroupBox(); this.chkHDCDDetect = new System.Windows.Forms.CheckBox(); - this.chkReducePriority = new System.Windows.Forms.CheckBox(); btnCancel = new System.Windows.Forms.Button(); this.grpGeneral.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit(); @@ -112,19 +115,30 @@ namespace JDP { this.tabPage2.SuspendLayout(); this.groupBox3.SuspendLayout(); this.tabPage3.SuspendLayout(); + this.groupBox4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numericLossyWAVQuality)).BeginInit(); this.tabPage4.SuspendLayout(); this.grpHDCD.SuspendLayout(); this.SuspendLayout(); // // btnCancel // - btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + btnCancel.AccessibleDescription = null; + btnCancel.AccessibleName = null; resources.ApplyResources(btnCancel, "btnCancel"); + btnCancel.BackgroundImage = null; + btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + btnCancel.Font = null; btnCancel.Name = "btnCancel"; + this.toolTip1.SetToolTip(btnCancel, resources.GetString("btnCancel.ToolTip")); btnCancel.UseVisualStyleBackColor = true; // // grpGeneral // + this.grpGeneral.AccessibleDescription = null; + this.grpGeneral.AccessibleName = null; + resources.ApplyResources(this.grpGeneral, "grpGeneral"); + this.grpGeneral.BackgroundImage = null; this.grpGeneral.Controls.Add(this.chkReducePriority); this.grpGeneral.Controls.Add(this.chkTruncateExtra4206Samples); this.grpGeneral.Controls.Add(this.chkCreateCUEFileWhenEmbedded); @@ -135,45 +149,83 @@ namespace JDP { this.grpGeneral.Controls.Add(this.chkAutoCorrectFilenames); this.grpGeneral.Controls.Add(this.chkPreserveHTOA); this.grpGeneral.Controls.Add(this.lblWriteOffset); - resources.ApplyResources(this.grpGeneral, "grpGeneral"); + this.grpGeneral.Font = null; this.grpGeneral.Name = "grpGeneral"; this.grpGeneral.TabStop = false; + this.toolTip1.SetToolTip(this.grpGeneral, resources.GetString("grpGeneral.ToolTip")); + // + // chkReducePriority + // + this.chkReducePriority.AccessibleDescription = null; + this.chkReducePriority.AccessibleName = null; + resources.ApplyResources(this.chkReducePriority, "chkReducePriority"); + this.chkReducePriority.BackgroundImage = null; + this.chkReducePriority.Font = null; + this.chkReducePriority.Name = "chkReducePriority"; + this.toolTip1.SetToolTip(this.chkReducePriority, resources.GetString("chkReducePriority.ToolTip")); + this.chkReducePriority.UseVisualStyleBackColor = true; // // chkTruncateExtra4206Samples // + this.chkTruncateExtra4206Samples.AccessibleDescription = null; + this.chkTruncateExtra4206Samples.AccessibleName = null; resources.ApplyResources(this.chkTruncateExtra4206Samples, "chkTruncateExtra4206Samples"); + this.chkTruncateExtra4206Samples.BackgroundImage = null; + this.chkTruncateExtra4206Samples.Font = null; this.chkTruncateExtra4206Samples.Name = "chkTruncateExtra4206Samples"; this.toolTip1.SetToolTip(this.chkTruncateExtra4206Samples, resources.GetString("chkTruncateExtra4206Samples.ToolTip")); this.chkTruncateExtra4206Samples.UseVisualStyleBackColor = true; // // chkCreateCUEFileWhenEmbedded // + this.chkCreateCUEFileWhenEmbedded.AccessibleDescription = null; + this.chkCreateCUEFileWhenEmbedded.AccessibleName = null; resources.ApplyResources(this.chkCreateCUEFileWhenEmbedded, "chkCreateCUEFileWhenEmbedded"); + this.chkCreateCUEFileWhenEmbedded.BackgroundImage = null; + this.chkCreateCUEFileWhenEmbedded.Font = null; this.chkCreateCUEFileWhenEmbedded.Name = "chkCreateCUEFileWhenEmbedded"; + this.toolTip1.SetToolTip(this.chkCreateCUEFileWhenEmbedded, resources.GetString("chkCreateCUEFileWhenEmbedded.ToolTip")); this.chkCreateCUEFileWhenEmbedded.UseVisualStyleBackColor = true; // // chkCreateM3U // + this.chkCreateM3U.AccessibleDescription = null; + this.chkCreateM3U.AccessibleName = null; resources.ApplyResources(this.chkCreateM3U, "chkCreateM3U"); + this.chkCreateM3U.BackgroundImage = null; + this.chkCreateM3U.Font = null; this.chkCreateM3U.Name = "chkCreateM3U"; + this.toolTip1.SetToolTip(this.chkCreateM3U, resources.GetString("chkCreateM3U.ToolTip")); this.chkCreateM3U.UseVisualStyleBackColor = true; // // chkFillUpCUE // + this.chkFillUpCUE.AccessibleDescription = null; + this.chkFillUpCUE.AccessibleName = null; resources.ApplyResources(this.chkFillUpCUE, "chkFillUpCUE"); + this.chkFillUpCUE.BackgroundImage = null; + this.chkFillUpCUE.Font = null; this.chkFillUpCUE.Name = "chkFillUpCUE"; + this.toolTip1.SetToolTip(this.chkFillUpCUE, resources.GetString("chkFillUpCUE.ToolTip")); this.chkFillUpCUE.UseVisualStyleBackColor = true; // // chkEmbedLog // + this.chkEmbedLog.AccessibleDescription = null; + this.chkEmbedLog.AccessibleName = null; resources.ApplyResources(this.chkEmbedLog, "chkEmbedLog"); + this.chkEmbedLog.BackgroundImage = null; + this.chkEmbedLog.Font = null; this.chkEmbedLog.Name = "chkEmbedLog"; this.toolTip1.SetToolTip(this.chkEmbedLog, resources.GetString("chkEmbedLog.ToolTip")); this.chkEmbedLog.UseVisualStyleBackColor = true; // // numericWriteOffset // + this.numericWriteOffset.AccessibleDescription = null; + this.numericWriteOffset.AccessibleName = null; resources.ApplyResources(this.numericWriteOffset, "numericWriteOffset"); + this.numericWriteOffset.Font = null; this.numericWriteOffset.Maximum = new decimal(new int[] { 99999, 0, @@ -185,43 +237,66 @@ namespace JDP { 0, -2147483648}); this.numericWriteOffset.Name = "numericWriteOffset"; + this.toolTip1.SetToolTip(this.numericWriteOffset, resources.GetString("numericWriteOffset.ToolTip")); // // chkAutoCorrectFilenames // + this.chkAutoCorrectFilenames.AccessibleDescription = null; + this.chkAutoCorrectFilenames.AccessibleName = null; resources.ApplyResources(this.chkAutoCorrectFilenames, "chkAutoCorrectFilenames"); + this.chkAutoCorrectFilenames.BackgroundImage = null; + this.chkAutoCorrectFilenames.Font = null; this.chkAutoCorrectFilenames.Name = "chkAutoCorrectFilenames"; this.toolTip1.SetToolTip(this.chkAutoCorrectFilenames, resources.GetString("chkAutoCorrectFilenames.ToolTip")); this.chkAutoCorrectFilenames.UseVisualStyleBackColor = true; // // chkPreserveHTOA // + this.chkPreserveHTOA.AccessibleDescription = null; + this.chkPreserveHTOA.AccessibleName = null; resources.ApplyResources(this.chkPreserveHTOA, "chkPreserveHTOA"); + this.chkPreserveHTOA.BackgroundImage = null; + this.chkPreserveHTOA.Font = null; this.chkPreserveHTOA.Name = "chkPreserveHTOA"; + this.toolTip1.SetToolTip(this.chkPreserveHTOA, resources.GetString("chkPreserveHTOA.ToolTip")); this.chkPreserveHTOA.UseVisualStyleBackColor = true; // // lblWriteOffset // + this.lblWriteOffset.AccessibleDescription = null; + this.lblWriteOffset.AccessibleName = null; resources.ApplyResources(this.lblWriteOffset, "lblWriteOffset"); + this.lblWriteOffset.Font = null; this.lblWriteOffset.Name = "lblWriteOffset"; + this.toolTip1.SetToolTip(this.lblWriteOffset, resources.GetString("lblWriteOffset.ToolTip")); // // grpFLAC // + this.grpFLAC.AccessibleDescription = null; + this.grpFLAC.AccessibleName = null; + resources.ApplyResources(this.grpFLAC, "grpFLAC"); + this.grpFLAC.BackgroundImage = null; this.grpFLAC.Controls.Add(this.numericFLACCompressionLevel); this.grpFLAC.Controls.Add(this.lblFLACCompressionLevel); this.grpFLAC.Controls.Add(this.chkFLACVerify); - resources.ApplyResources(this.grpFLAC, "grpFLAC"); + this.grpFLAC.Font = null; this.grpFLAC.Name = "grpFLAC"; this.grpFLAC.TabStop = false; + this.toolTip1.SetToolTip(this.grpFLAC, resources.GetString("grpFLAC.ToolTip")); // // numericFLACCompressionLevel // + this.numericFLACCompressionLevel.AccessibleDescription = null; + this.numericFLACCompressionLevel.AccessibleName = null; resources.ApplyResources(this.numericFLACCompressionLevel, "numericFLACCompressionLevel"); + this.numericFLACCompressionLevel.Font = null; this.numericFLACCompressionLevel.Maximum = new decimal(new int[] { 8, 0, 0, 0}); this.numericFLACCompressionLevel.Name = "numericFLACCompressionLevel"; + this.toolTip1.SetToolTip(this.numericFLACCompressionLevel, resources.GetString("numericFLACCompressionLevel.ToolTip")); this.numericFLACCompressionLevel.Value = new decimal(new int[] { 5, 0, @@ -230,25 +305,43 @@ namespace JDP { // // lblFLACCompressionLevel // + this.lblFLACCompressionLevel.AccessibleDescription = null; + this.lblFLACCompressionLevel.AccessibleName = null; resources.ApplyResources(this.lblFLACCompressionLevel, "lblFLACCompressionLevel"); + this.lblFLACCompressionLevel.Font = null; this.lblFLACCompressionLevel.Name = "lblFLACCompressionLevel"; + this.toolTip1.SetToolTip(this.lblFLACCompressionLevel, resources.GetString("lblFLACCompressionLevel.ToolTip")); // // chkFLACVerify // + this.chkFLACVerify.AccessibleDescription = null; + this.chkFLACVerify.AccessibleName = null; resources.ApplyResources(this.chkFLACVerify, "chkFLACVerify"); + this.chkFLACVerify.BackgroundImage = null; + this.chkFLACVerify.Font = null; this.chkFLACVerify.Name = "chkFLACVerify"; + this.toolTip1.SetToolTip(this.chkFLACVerify, resources.GetString("chkFLACVerify.ToolTip")); this.chkFLACVerify.UseVisualStyleBackColor = true; // // btnOK // - this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK; + this.btnOK.AccessibleDescription = null; + this.btnOK.AccessibleName = null; resources.ApplyResources(this.btnOK, "btnOK"); + this.btnOK.BackgroundImage = null; + this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK; + this.btnOK.Font = null; this.btnOK.Name = "btnOK"; + this.toolTip1.SetToolTip(this.btnOK, resources.GetString("btnOK.ToolTip")); this.btnOK.UseVisualStyleBackColor = true; this.btnOK.Click += new System.EventHandler(this.btnOK_Click); // // grpWavPack // + this.grpWavPack.AccessibleDescription = null; + this.grpWavPack.AccessibleName = null; + resources.ApplyResources(this.grpWavPack, "grpWavPack"); + this.grpWavPack.BackgroundImage = null; this.grpWavPack.Controls.Add(this.chkWVStoreMD5); this.grpWavPack.Controls.Add(this.numWVExtraMode); this.grpWavPack.Controls.Add(this.chkWVExtraMode); @@ -256,19 +349,28 @@ namespace JDP { this.grpWavPack.Controls.Add(this.rbWVHigh); this.grpWavPack.Controls.Add(this.rbWVNormal); this.grpWavPack.Controls.Add(this.rbWVFast); - resources.ApplyResources(this.grpWavPack, "grpWavPack"); + this.grpWavPack.Font = null; this.grpWavPack.Name = "grpWavPack"; this.grpWavPack.TabStop = false; + this.toolTip1.SetToolTip(this.grpWavPack, resources.GetString("grpWavPack.ToolTip")); // // chkWVStoreMD5 // + this.chkWVStoreMD5.AccessibleDescription = null; + this.chkWVStoreMD5.AccessibleName = null; resources.ApplyResources(this.chkWVStoreMD5, "chkWVStoreMD5"); + this.chkWVStoreMD5.BackgroundImage = null; + this.chkWVStoreMD5.Font = null; this.chkWVStoreMD5.Name = "chkWVStoreMD5"; + this.toolTip1.SetToolTip(this.chkWVStoreMD5, resources.GetString("chkWVStoreMD5.ToolTip")); this.chkWVStoreMD5.UseVisualStyleBackColor = true; // // numWVExtraMode // + this.numWVExtraMode.AccessibleDescription = null; + this.numWVExtraMode.AccessibleName = null; resources.ApplyResources(this.numWVExtraMode, "numWVExtraMode"); + this.numWVExtraMode.Font = null; this.numWVExtraMode.Maximum = new decimal(new int[] { 6, 0, @@ -280,6 +382,7 @@ namespace JDP { 0, 0}); this.numWVExtraMode.Name = "numWVExtraMode"; + this.toolTip1.SetToolTip(this.numWVExtraMode, resources.GetString("numWVExtraMode.ToolTip")); this.numWVExtraMode.Value = new decimal(new int[] { 1, 0, @@ -288,39 +391,68 @@ namespace JDP { // // chkWVExtraMode // + this.chkWVExtraMode.AccessibleDescription = null; + this.chkWVExtraMode.AccessibleName = null; resources.ApplyResources(this.chkWVExtraMode, "chkWVExtraMode"); + this.chkWVExtraMode.BackgroundImage = null; + this.chkWVExtraMode.Font = null; this.chkWVExtraMode.Name = "chkWVExtraMode"; + this.toolTip1.SetToolTip(this.chkWVExtraMode, resources.GetString("chkWVExtraMode.ToolTip")); this.chkWVExtraMode.UseVisualStyleBackColor = true; this.chkWVExtraMode.CheckedChanged += new System.EventHandler(this.chkWVExtraMode_CheckedChanged); // // rbWVVeryHigh // + this.rbWVVeryHigh.AccessibleDescription = null; + this.rbWVVeryHigh.AccessibleName = null; resources.ApplyResources(this.rbWVVeryHigh, "rbWVVeryHigh"); + this.rbWVVeryHigh.BackgroundImage = null; + this.rbWVVeryHigh.Font = null; this.rbWVVeryHigh.Name = "rbWVVeryHigh"; + this.toolTip1.SetToolTip(this.rbWVVeryHigh, resources.GetString("rbWVVeryHigh.ToolTip")); this.rbWVVeryHigh.UseVisualStyleBackColor = true; // // rbWVHigh // + this.rbWVHigh.AccessibleDescription = null; + this.rbWVHigh.AccessibleName = null; resources.ApplyResources(this.rbWVHigh, "rbWVHigh"); + this.rbWVHigh.BackgroundImage = null; + this.rbWVHigh.Font = null; this.rbWVHigh.Name = "rbWVHigh"; + this.toolTip1.SetToolTip(this.rbWVHigh, resources.GetString("rbWVHigh.ToolTip")); this.rbWVHigh.UseVisualStyleBackColor = true; // // rbWVNormal // + this.rbWVNormal.AccessibleDescription = null; + this.rbWVNormal.AccessibleName = null; resources.ApplyResources(this.rbWVNormal, "rbWVNormal"); + this.rbWVNormal.BackgroundImage = null; this.rbWVNormal.Checked = true; + this.rbWVNormal.Font = null; this.rbWVNormal.Name = "rbWVNormal"; this.rbWVNormal.TabStop = true; + this.toolTip1.SetToolTip(this.rbWVNormal, resources.GetString("rbWVNormal.ToolTip")); this.rbWVNormal.UseVisualStyleBackColor = true; // // rbWVFast // + this.rbWVFast.AccessibleDescription = null; + this.rbWVFast.AccessibleName = null; resources.ApplyResources(this.rbWVFast, "rbWVFast"); + this.rbWVFast.BackgroundImage = null; + this.rbWVFast.Font = null; this.rbWVFast.Name = "rbWVFast"; + this.toolTip1.SetToolTip(this.rbWVFast, resources.GetString("rbWVFast.ToolTip")); this.rbWVFast.UseVisualStyleBackColor = true; // // groupBox1 // + this.groupBox1.AccessibleDescription = null; + this.groupBox1.AccessibleName = null; + resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.BackgroundImage = null; this.groupBox1.Controls.Add(this.chkEncodeWhenZeroOffset); this.groupBox1.Controls.Add(this.chkArFixOffset); this.groupBox1.Controls.Add(this.chkWriteArLogOnConvert); @@ -334,61 +466,89 @@ namespace JDP { this.groupBox1.Controls.Add(this.numFixWhenConfidence); this.groupBox1.Controls.Add(this.labelFixWhenPercent); this.groupBox1.Controls.Add(this.numFixWhenPercent); - resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.Font = null; this.groupBox1.Name = "groupBox1"; this.groupBox1.TabStop = false; + this.toolTip1.SetToolTip(this.groupBox1, resources.GetString("groupBox1.ToolTip")); // // chkEncodeWhenZeroOffset // + this.chkEncodeWhenZeroOffset.AccessibleDescription = null; + this.chkEncodeWhenZeroOffset.AccessibleName = null; resources.ApplyResources(this.chkEncodeWhenZeroOffset, "chkEncodeWhenZeroOffset"); + this.chkEncodeWhenZeroOffset.BackgroundImage = null; + this.chkEncodeWhenZeroOffset.Font = null; this.chkEncodeWhenZeroOffset.Name = "chkEncodeWhenZeroOffset"; + this.toolTip1.SetToolTip(this.chkEncodeWhenZeroOffset, resources.GetString("chkEncodeWhenZeroOffset.ToolTip")); this.chkEncodeWhenZeroOffset.UseVisualStyleBackColor = true; // // chkArFixOffset // + this.chkArFixOffset.AccessibleDescription = null; + this.chkArFixOffset.AccessibleName = null; resources.ApplyResources(this.chkArFixOffset, "chkArFixOffset"); + this.chkArFixOffset.BackgroundImage = null; this.chkArFixOffset.Checked = true; this.chkArFixOffset.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkArFixOffset.Font = null; this.chkArFixOffset.Name = "chkArFixOffset"; + this.toolTip1.SetToolTip(this.chkArFixOffset, resources.GetString("chkArFixOffset.ToolTip")); this.chkArFixOffset.UseVisualStyleBackColor = true; this.chkArFixOffset.CheckedChanged += new System.EventHandler(this.chkArFixOffset_CheckedChanged); // // chkWriteArLogOnConvert // + this.chkWriteArLogOnConvert.AccessibleDescription = null; + this.chkWriteArLogOnConvert.AccessibleName = null; resources.ApplyResources(this.chkWriteArLogOnConvert, "chkWriteArLogOnConvert"); + this.chkWriteArLogOnConvert.BackgroundImage = null; this.chkWriteArLogOnConvert.Checked = true; this.chkWriteArLogOnConvert.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkWriteArLogOnConvert.Font = null; this.chkWriteArLogOnConvert.Name = "chkWriteArLogOnConvert"; + this.toolTip1.SetToolTip(this.chkWriteArLogOnConvert, resources.GetString("chkWriteArLogOnConvert.ToolTip")); this.chkWriteArLogOnConvert.UseVisualStyleBackColor = true; // // chkWriteArTagsOnConvert // + this.chkWriteArTagsOnConvert.AccessibleDescription = null; + this.chkWriteArTagsOnConvert.AccessibleName = null; resources.ApplyResources(this.chkWriteArTagsOnConvert, "chkWriteArTagsOnConvert"); + this.chkWriteArTagsOnConvert.BackgroundImage = null; this.chkWriteArTagsOnConvert.Checked = true; this.chkWriteArTagsOnConvert.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkWriteArTagsOnConvert.Font = null; this.chkWriteArTagsOnConvert.Name = "chkWriteArTagsOnConvert"; this.toolTip1.SetToolTip(this.chkWriteArTagsOnConvert, resources.GetString("chkWriteArTagsOnConvert.ToolTip")); this.chkWriteArTagsOnConvert.UseVisualStyleBackColor = true; // // labelEncodeWhenPercent // + this.labelEncodeWhenPercent.AccessibleDescription = null; + this.labelEncodeWhenPercent.AccessibleName = null; resources.ApplyResources(this.labelEncodeWhenPercent, "labelEncodeWhenPercent"); + this.labelEncodeWhenPercent.Font = null; this.labelEncodeWhenPercent.Name = "labelEncodeWhenPercent"; + this.toolTip1.SetToolTip(this.labelEncodeWhenPercent, resources.GetString("labelEncodeWhenPercent.ToolTip")); // // numEncodeWhenPercent // + this.numEncodeWhenPercent.AccessibleDescription = null; + this.numEncodeWhenPercent.AccessibleName = null; + resources.ApplyResources(this.numEncodeWhenPercent, "numEncodeWhenPercent"); + this.numEncodeWhenPercent.Font = null; this.numEncodeWhenPercent.Increment = new decimal(new int[] { 5, 0, 0, 0}); - resources.ApplyResources(this.numEncodeWhenPercent, "numEncodeWhenPercent"); this.numEncodeWhenPercent.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numEncodeWhenPercent.Name = "numEncodeWhenPercent"; + this.toolTip1.SetToolTip(this.numEncodeWhenPercent, resources.GetString("numEncodeWhenPercent.ToolTip")); this.numEncodeWhenPercent.Value = new decimal(new int[] { 100, 0, @@ -397,18 +557,26 @@ namespace JDP { // // labelEncodeWhenConfidence // + this.labelEncodeWhenConfidence.AccessibleDescription = null; + this.labelEncodeWhenConfidence.AccessibleName = null; resources.ApplyResources(this.labelEncodeWhenConfidence, "labelEncodeWhenConfidence"); + this.labelEncodeWhenConfidence.Font = null; this.labelEncodeWhenConfidence.Name = "labelEncodeWhenConfidence"; + this.toolTip1.SetToolTip(this.labelEncodeWhenConfidence, resources.GetString("labelEncodeWhenConfidence.ToolTip")); // // numEncodeWhenConfidence // + this.numEncodeWhenConfidence.AccessibleDescription = null; + this.numEncodeWhenConfidence.AccessibleName = null; resources.ApplyResources(this.numEncodeWhenConfidence, "numEncodeWhenConfidence"); + this.numEncodeWhenConfidence.Font = null; this.numEncodeWhenConfidence.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numEncodeWhenConfidence.Name = "numEncodeWhenConfidence"; + this.toolTip1.SetToolTip(this.numEncodeWhenConfidence, resources.GetString("numEncodeWhenConfidence.ToolTip")); this.numEncodeWhenConfidence.Value = new decimal(new int[] { 1, 0, @@ -417,27 +585,40 @@ namespace JDP { // // chkArNoUnverifiedAudio // + this.chkArNoUnverifiedAudio.AccessibleDescription = null; + this.chkArNoUnverifiedAudio.AccessibleName = null; resources.ApplyResources(this.chkArNoUnverifiedAudio, "chkArNoUnverifiedAudio"); + this.chkArNoUnverifiedAudio.BackgroundImage = null; this.chkArNoUnverifiedAudio.Checked = true; this.chkArNoUnverifiedAudio.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkArNoUnverifiedAudio.Font = null; this.chkArNoUnverifiedAudio.Name = "chkArNoUnverifiedAudio"; + this.toolTip1.SetToolTip(this.chkArNoUnverifiedAudio, resources.GetString("chkArNoUnverifiedAudio.ToolTip")); this.chkArNoUnverifiedAudio.UseVisualStyleBackColor = true; this.chkArNoUnverifiedAudio.CheckedChanged += new System.EventHandler(this.chkArNoUnverifiedAudio_CheckedChanged); // // labelFixWhenConfidence // + this.labelFixWhenConfidence.AccessibleDescription = null; + this.labelFixWhenConfidence.AccessibleName = null; resources.ApplyResources(this.labelFixWhenConfidence, "labelFixWhenConfidence"); + this.labelFixWhenConfidence.Font = null; this.labelFixWhenConfidence.Name = "labelFixWhenConfidence"; + this.toolTip1.SetToolTip(this.labelFixWhenConfidence, resources.GetString("labelFixWhenConfidence.ToolTip")); // // numFixWhenConfidence // + this.numFixWhenConfidence.AccessibleDescription = null; + this.numFixWhenConfidence.AccessibleName = null; resources.ApplyResources(this.numFixWhenConfidence, "numFixWhenConfidence"); + this.numFixWhenConfidence.Font = null; this.numFixWhenConfidence.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numFixWhenConfidence.Name = "numFixWhenConfidence"; + this.toolTip1.SetToolTip(this.numFixWhenConfidence, resources.GetString("numFixWhenConfidence.ToolTip")); this.numFixWhenConfidence.Value = new decimal(new int[] { 1, 0, @@ -446,23 +627,31 @@ namespace JDP { // // labelFixWhenPercent // + this.labelFixWhenPercent.AccessibleDescription = null; + this.labelFixWhenPercent.AccessibleName = null; resources.ApplyResources(this.labelFixWhenPercent, "labelFixWhenPercent"); + this.labelFixWhenPercent.Font = null; this.labelFixWhenPercent.Name = "labelFixWhenPercent"; + this.toolTip1.SetToolTip(this.labelFixWhenPercent, resources.GetString("labelFixWhenPercent.ToolTip")); // // numFixWhenPercent // + this.numFixWhenPercent.AccessibleDescription = null; + this.numFixWhenPercent.AccessibleName = null; + resources.ApplyResources(this.numFixWhenPercent, "numFixWhenPercent"); + this.numFixWhenPercent.Font = null; this.numFixWhenPercent.Increment = new decimal(new int[] { 5, 0, 0, 0}); - resources.ApplyResources(this.numFixWhenPercent, "numFixWhenPercent"); this.numFixWhenPercent.Minimum = new decimal(new int[] { 1, 0, 0, 0}); this.numFixWhenPercent.Name = "numFixWhenPercent"; + this.toolTip1.SetToolTip(this.numFixWhenPercent, resources.GetString("numFixWhenPercent.ToolTip")); this.numFixWhenPercent.Value = new decimal(new int[] { 51, 0, @@ -477,7 +666,11 @@ namespace JDP { // // chkFilenamesANSISafe // + this.chkFilenamesANSISafe.AccessibleDescription = null; + this.chkFilenamesANSISafe.AccessibleName = null; resources.ApplyResources(this.chkFilenamesANSISafe, "chkFilenamesANSISafe"); + this.chkFilenamesANSISafe.BackgroundImage = null; + this.chkFilenamesANSISafe.Font = null; this.chkFilenamesANSISafe.Name = "chkFilenamesANSISafe"; this.toolTip1.SetToolTip(this.chkFilenamesANSISafe, resources.GetString("chkFilenamesANSISafe.ToolTip")); this.chkFilenamesANSISafe.UseVisualStyleBackColor = true; @@ -485,29 +678,45 @@ namespace JDP { // // chkWriteARTagsOnVerify // + this.chkWriteARTagsOnVerify.AccessibleDescription = null; + this.chkWriteARTagsOnVerify.AccessibleName = null; resources.ApplyResources(this.chkWriteARTagsOnVerify, "chkWriteARTagsOnVerify"); + this.chkWriteARTagsOnVerify.BackgroundImage = null; this.chkWriteARTagsOnVerify.Checked = true; this.chkWriteARTagsOnVerify.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkWriteARTagsOnVerify.Font = null; this.chkWriteARTagsOnVerify.Name = "chkWriteARTagsOnVerify"; this.toolTip1.SetToolTip(this.chkWriteARTagsOnVerify, resources.GetString("chkWriteARTagsOnVerify.ToolTip")); this.chkWriteARTagsOnVerify.UseVisualStyleBackColor = true; // // chkHDCDDecode // + this.chkHDCDDecode.AccessibleDescription = null; + this.chkHDCDDecode.AccessibleName = null; resources.ApplyResources(this.chkHDCDDecode, "chkHDCDDecode"); + this.chkHDCDDecode.BackgroundImage = null; + this.chkHDCDDecode.Font = null; this.chkHDCDDecode.Name = "chkHDCDDecode"; this.toolTip1.SetToolTip(this.chkHDCDDecode, resources.GetString("chkHDCDDecode.ToolTip")); this.chkHDCDDecode.UseVisualStyleBackColor = true; // // chkHDCDStopLooking // + this.chkHDCDStopLooking.AccessibleDescription = null; + this.chkHDCDStopLooking.AccessibleName = null; resources.ApplyResources(this.chkHDCDStopLooking, "chkHDCDStopLooking"); + this.chkHDCDStopLooking.BackgroundImage = null; + this.chkHDCDStopLooking.Font = null; this.chkHDCDStopLooking.Name = "chkHDCDStopLooking"; this.toolTip1.SetToolTip(this.chkHDCDStopLooking, resources.GetString("chkHDCDStopLooking.ToolTip")); this.chkHDCDStopLooking.UseVisualStyleBackColor = true; // // grpAudioFilenames // + this.grpAudioFilenames.AccessibleDescription = null; + this.grpAudioFilenames.AccessibleName = null; + resources.ApplyResources(this.grpAudioFilenames, "grpAudioFilenames"); + this.grpAudioFilenames.BackgroundImage = null; this.grpAudioFilenames.Controls.Add(this.chkFilenamesANSISafe); this.grpAudioFilenames.Controls.Add(this.chkKeepOriginalFilenames); this.grpAudioFilenames.Controls.Add(this.txtSpecialExceptions); @@ -517,204 +726,359 @@ namespace JDP { this.grpAudioFilenames.Controls.Add(this.lblTrackFilenameFormat); this.grpAudioFilenames.Controls.Add(this.lblSingleFilenameFormat); this.grpAudioFilenames.Controls.Add(this.txtSingleFilenameFormat); - resources.ApplyResources(this.grpAudioFilenames, "grpAudioFilenames"); + this.grpAudioFilenames.Font = null; this.grpAudioFilenames.Name = "grpAudioFilenames"; this.grpAudioFilenames.TabStop = false; + this.toolTip1.SetToolTip(this.grpAudioFilenames, resources.GetString("grpAudioFilenames.ToolTip")); // // chkKeepOriginalFilenames // + this.chkKeepOriginalFilenames.AccessibleDescription = null; + this.chkKeepOriginalFilenames.AccessibleName = null; resources.ApplyResources(this.chkKeepOriginalFilenames, "chkKeepOriginalFilenames"); + this.chkKeepOriginalFilenames.BackgroundImage = null; this.chkKeepOriginalFilenames.Checked = true; this.chkKeepOriginalFilenames.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkKeepOriginalFilenames.Font = null; this.chkKeepOriginalFilenames.Name = "chkKeepOriginalFilenames"; + this.toolTip1.SetToolTip(this.chkKeepOriginalFilenames, resources.GetString("chkKeepOriginalFilenames.ToolTip")); this.chkKeepOriginalFilenames.UseVisualStyleBackColor = true; // // txtSpecialExceptions // + this.txtSpecialExceptions.AccessibleDescription = null; + this.txtSpecialExceptions.AccessibleName = null; resources.ApplyResources(this.txtSpecialExceptions, "txtSpecialExceptions"); + this.txtSpecialExceptions.BackgroundImage = null; + this.txtSpecialExceptions.Font = null; this.txtSpecialExceptions.Name = "txtSpecialExceptions"; + this.toolTip1.SetToolTip(this.txtSpecialExceptions, resources.GetString("txtSpecialExceptions.ToolTip")); // // chkRemoveSpecial // + this.chkRemoveSpecial.AccessibleDescription = null; + this.chkRemoveSpecial.AccessibleName = null; resources.ApplyResources(this.chkRemoveSpecial, "chkRemoveSpecial"); + this.chkRemoveSpecial.BackgroundImage = null; this.chkRemoveSpecial.Checked = true; this.chkRemoveSpecial.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkRemoveSpecial.Font = null; this.chkRemoveSpecial.Name = "chkRemoveSpecial"; + this.toolTip1.SetToolTip(this.chkRemoveSpecial, resources.GetString("chkRemoveSpecial.ToolTip")); this.chkRemoveSpecial.UseVisualStyleBackColor = true; this.chkRemoveSpecial.CheckedChanged += new System.EventHandler(this.chkRemoveSpecial_CheckedChanged); // // chkReplaceSpaces // + this.chkReplaceSpaces.AccessibleDescription = null; + this.chkReplaceSpaces.AccessibleName = null; resources.ApplyResources(this.chkReplaceSpaces, "chkReplaceSpaces"); + this.chkReplaceSpaces.BackgroundImage = null; this.chkReplaceSpaces.Checked = true; this.chkReplaceSpaces.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkReplaceSpaces.Font = null; this.chkReplaceSpaces.Name = "chkReplaceSpaces"; + this.toolTip1.SetToolTip(this.chkReplaceSpaces, resources.GetString("chkReplaceSpaces.ToolTip")); this.chkReplaceSpaces.UseVisualStyleBackColor = true; // // txtTrackFilenameFormat // + this.txtTrackFilenameFormat.AccessibleDescription = null; + this.txtTrackFilenameFormat.AccessibleName = null; resources.ApplyResources(this.txtTrackFilenameFormat, "txtTrackFilenameFormat"); + this.txtTrackFilenameFormat.BackgroundImage = null; + this.txtTrackFilenameFormat.Font = null; this.txtTrackFilenameFormat.Name = "txtTrackFilenameFormat"; + this.toolTip1.SetToolTip(this.txtTrackFilenameFormat, resources.GetString("txtTrackFilenameFormat.ToolTip")); // // lblTrackFilenameFormat // + this.lblTrackFilenameFormat.AccessibleDescription = null; + this.lblTrackFilenameFormat.AccessibleName = null; resources.ApplyResources(this.lblTrackFilenameFormat, "lblTrackFilenameFormat"); + this.lblTrackFilenameFormat.Font = null; this.lblTrackFilenameFormat.Name = "lblTrackFilenameFormat"; + this.toolTip1.SetToolTip(this.lblTrackFilenameFormat, resources.GetString("lblTrackFilenameFormat.ToolTip")); // // lblSingleFilenameFormat // + this.lblSingleFilenameFormat.AccessibleDescription = null; + this.lblSingleFilenameFormat.AccessibleName = null; resources.ApplyResources(this.lblSingleFilenameFormat, "lblSingleFilenameFormat"); + this.lblSingleFilenameFormat.Font = null; this.lblSingleFilenameFormat.Name = "lblSingleFilenameFormat"; + this.toolTip1.SetToolTip(this.lblSingleFilenameFormat, resources.GetString("lblSingleFilenameFormat.ToolTip")); // // txtSingleFilenameFormat // + this.txtSingleFilenameFormat.AccessibleDescription = null; + this.txtSingleFilenameFormat.AccessibleName = null; resources.ApplyResources(this.txtSingleFilenameFormat, "txtSingleFilenameFormat"); + this.txtSingleFilenameFormat.BackgroundImage = null; + this.txtSingleFilenameFormat.Font = null; this.txtSingleFilenameFormat.Name = "txtSingleFilenameFormat"; + this.toolTip1.SetToolTip(this.txtSingleFilenameFormat, resources.GetString("txtSingleFilenameFormat.ToolTip")); // // groupBox2 // + this.groupBox2.AccessibleDescription = null; + this.groupBox2.AccessibleName = null; + resources.ApplyResources(this.groupBox2, "groupBox2"); + this.groupBox2.BackgroundImage = null; this.groupBox2.Controls.Add(this.rbAPEinsane); this.groupBox2.Controls.Add(this.rbAPEextrahigh); this.groupBox2.Controls.Add(this.rbAPEhigh); this.groupBox2.Controls.Add(this.rbAPEnormal); this.groupBox2.Controls.Add(this.rbAPEfast); - resources.ApplyResources(this.groupBox2, "groupBox2"); + 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; // // tabControl1 // + this.tabControl1.AccessibleDescription = null; + this.tabControl1.AccessibleName = null; resources.ApplyResources(this.tabControl1, "tabControl1"); + this.tabControl1.BackgroundImage = null; this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Controls.Add(this.tabPage3); this.tabControl1.Controls.Add(this.tabPage4); + this.tabControl1.Font = null; this.tabControl1.HotTrack = true; this.tabControl1.Multiline = true; this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; + this.toolTip1.SetToolTip(this.tabControl1, resources.GetString("tabControl1.ToolTip")); // // tabPage1 // + this.tabPage1.AccessibleDescription = null; + this.tabPage1.AccessibleName = null; + resources.ApplyResources(this.tabPage1, "tabPage1"); this.tabPage1.BackColor = System.Drawing.Color.Transparent; + this.tabPage1.BackgroundImage = null; this.tabPage1.Controls.Add(this.grpGeneral); this.tabPage1.Controls.Add(this.grpAudioFilenames); - resources.ApplyResources(this.tabPage1, "tabPage1"); + this.tabPage1.Font = null; this.tabPage1.Name = "tabPage1"; + this.toolTip1.SetToolTip(this.tabPage1, resources.GetString("tabPage1.ToolTip")); // // tabPage2 // + this.tabPage2.AccessibleDescription = null; + this.tabPage2.AccessibleName = null; + resources.ApplyResources(this.tabPage2, "tabPage2"); this.tabPage2.BackColor = System.Drawing.SystemColors.Control; + this.tabPage2.BackgroundImage = null; this.tabPage2.Controls.Add(this.groupBox3); this.tabPage2.Controls.Add(this.groupBox1); - resources.ApplyResources(this.tabPage2, "tabPage2"); + this.tabPage2.Font = null; this.tabPage2.Name = "tabPage2"; + this.toolTip1.SetToolTip(this.tabPage2, resources.GetString("tabPage2.ToolTip")); // // groupBox3 // + this.groupBox3.AccessibleDescription = null; + this.groupBox3.AccessibleName = null; + resources.ApplyResources(this.groupBox3, "groupBox3"); + this.groupBox3.BackgroundImage = null; this.groupBox3.Controls.Add(this.chkWriteARLogOnVerify); this.groupBox3.Controls.Add(this.chkWriteARTagsOnVerify); - resources.ApplyResources(this.groupBox3, "groupBox3"); + this.groupBox3.Font = null; this.groupBox3.Name = "groupBox3"; this.groupBox3.TabStop = false; + this.toolTip1.SetToolTip(this.groupBox3, resources.GetString("groupBox3.ToolTip")); // // chkWriteARLogOnVerify // + this.chkWriteARLogOnVerify.AccessibleDescription = null; + this.chkWriteARLogOnVerify.AccessibleName = null; resources.ApplyResources(this.chkWriteARLogOnVerify, "chkWriteARLogOnVerify"); + this.chkWriteARLogOnVerify.BackgroundImage = null; this.chkWriteARLogOnVerify.Checked = true; this.chkWriteARLogOnVerify.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkWriteARLogOnVerify.Font = null; this.chkWriteARLogOnVerify.Name = "chkWriteARLogOnVerify"; + this.toolTip1.SetToolTip(this.chkWriteARLogOnVerify, resources.GetString("chkWriteARLogOnVerify.ToolTip")); this.chkWriteARLogOnVerify.UseVisualStyleBackColor = true; // // tabPage3 // + this.tabPage3.AccessibleDescription = null; + this.tabPage3.AccessibleName = null; + resources.ApplyResources(this.tabPage3, "tabPage3"); this.tabPage3.BackColor = System.Drawing.SystemColors.Control; + this.tabPage3.BackgroundImage = null; + this.tabPage3.Controls.Add(this.groupBox4); this.tabPage3.Controls.Add(this.grpWavPack); this.tabPage3.Controls.Add(this.groupBox2); this.tabPage3.Controls.Add(this.grpFLAC); - resources.ApplyResources(this.tabPage3, "tabPage3"); + this.tabPage3.Font = null; this.tabPage3.Name = "tabPage3"; + this.toolTip1.SetToolTip(this.tabPage3, resources.GetString("tabPage3.ToolTip")); + // + // groupBox4 + // + this.groupBox4.AccessibleDescription = null; + this.groupBox4.AccessibleName = null; + resources.ApplyResources(this.groupBox4, "groupBox4"); + this.groupBox4.BackgroundImage = null; + this.groupBox4.Controls.Add(this.numericLossyWAVQuality); + this.groupBox4.Controls.Add(this.label1); + this.groupBox4.Font = null; + this.groupBox4.Name = "groupBox4"; + this.groupBox4.TabStop = false; + this.toolTip1.SetToolTip(this.groupBox4, resources.GetString("groupBox4.ToolTip")); + // + // numericLossyWAVQuality + // + this.numericLossyWAVQuality.AccessibleDescription = null; + this.numericLossyWAVQuality.AccessibleName = null; + resources.ApplyResources(this.numericLossyWAVQuality, "numericLossyWAVQuality"); + this.numericLossyWAVQuality.Font = null; + this.numericLossyWAVQuality.Maximum = new decimal(new int[] { + 10, + 0, + 0, + 0}); + this.numericLossyWAVQuality.Name = "numericLossyWAVQuality"; + this.toolTip1.SetToolTip(this.numericLossyWAVQuality, resources.GetString("numericLossyWAVQuality.ToolTip")); + this.numericLossyWAVQuality.Value = new decimal(new int[] { + 5, + 0, + 0, + 0}); + // + // label1 + // + this.label1.AccessibleDescription = null; + this.label1.AccessibleName = null; + resources.ApplyResources(this.label1, "label1"); + this.label1.Font = null; + this.label1.Name = "label1"; + this.toolTip1.SetToolTip(this.label1, resources.GetString("label1.ToolTip")); // // tabPage4 // + this.tabPage4.AccessibleDescription = null; + this.tabPage4.AccessibleName = null; + resources.ApplyResources(this.tabPage4, "tabPage4"); this.tabPage4.BackColor = System.Drawing.SystemColors.Control; + this.tabPage4.BackgroundImage = null; this.tabPage4.Controls.Add(this.grpHDCD); this.tabPage4.Controls.Add(this.chkHDCDDetect); - resources.ApplyResources(this.tabPage4, "tabPage4"); + this.tabPage4.Font = null; this.tabPage4.Name = "tabPage4"; + this.toolTip1.SetToolTip(this.tabPage4, resources.GetString("tabPage4.ToolTip")); // // grpHDCD // + this.grpHDCD.AccessibleDescription = null; + this.grpHDCD.AccessibleName = null; + resources.ApplyResources(this.grpHDCD, "grpHDCD"); + this.grpHDCD.BackgroundImage = null; this.grpHDCD.Controls.Add(this.chkHDCDStopLooking); this.grpHDCD.Controls.Add(this.chkHDCDDecode); - resources.ApplyResources(this.grpHDCD, "grpHDCD"); + this.grpHDCD.Font = null; this.grpHDCD.Name = "grpHDCD"; this.grpHDCD.TabStop = false; + this.toolTip1.SetToolTip(this.grpHDCD, resources.GetString("grpHDCD.ToolTip")); // // chkHDCDDetect // + this.chkHDCDDetect.AccessibleDescription = null; + this.chkHDCDDetect.AccessibleName = null; resources.ApplyResources(this.chkHDCDDetect, "chkHDCDDetect"); + this.chkHDCDDetect.BackgroundImage = null; + this.chkHDCDDetect.Font = null; this.chkHDCDDetect.Name = "chkHDCDDetect"; + this.toolTip1.SetToolTip(this.chkHDCDDetect, resources.GetString("chkHDCDDetect.ToolTip")); this.chkHDCDDetect.UseVisualStyleBackColor = true; this.chkHDCDDetect.CheckedChanged += new System.EventHandler(this.chkHDCDDetect_CheckedChanged); // - // chkReducePriority - // - resources.ApplyResources(this.chkReducePriority, "chkReducePriority"); - this.chkReducePriority.Name = "chkReducePriority"; - this.chkReducePriority.UseVisualStyleBackColor = true; - // // frmSettings // this.AcceptButton = this.btnOK; + this.AccessibleDescription = null; + this.AccessibleName = null; resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImage = null; this.CancelButton = btnCancel; this.ControlBox = false; this.Controls.Add(this.tabControl1); this.Controls.Add(btnCancel); this.Controls.Add(this.btnOK); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Icon = null; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "frmSettings"; this.ShowIcon = false; this.ShowInTaskbar = false; + this.toolTip1.SetToolTip(this, resources.GetString("$this.ToolTip")); this.Load += new System.EventHandler(this.frmSettings_Load); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmSettings_FormClosing); this.grpGeneral.ResumeLayout(false); @@ -742,6 +1106,9 @@ namespace JDP { this.groupBox3.ResumeLayout(false); this.groupBox3.PerformLayout(); this.tabPage3.ResumeLayout(false); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numericLossyWAVQuality)).EndInit(); this.tabPage4.ResumeLayout(false); this.tabPage4.PerformLayout(); this.grpHDCD.ResumeLayout(false); @@ -819,6 +1186,9 @@ namespace JDP { private System.Windows.Forms.CheckBox chkCreateCUEFileWhenEmbedded; private System.Windows.Forms.CheckBox chkTruncateExtra4206Samples; private System.Windows.Forms.CheckBox chkReducePriority; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.NumericUpDown numericLossyWAVQuality; + private System.Windows.Forms.Label label1; } } \ No newline at end of file diff --git a/CUETools/frmSettings.cs b/CUETools/frmSettings.cs index 0dfa279..a9a5439 100644 --- a/CUETools/frmSettings.cs +++ b/CUETools/frmSettings.cs @@ -65,6 +65,7 @@ namespace JDP { chkCreateM3U.Checked = _config.createM3U; chkCreateCUEFileWhenEmbedded.Checked = _config.createCUEFileWhenEmbedded; chkTruncateExtra4206Samples.Checked = _config.truncate4608ExtraSamples; + numericLossyWAVQuality.Value = _config.lossyWAVQuality; } private void frmSettings_FormClosing(object sender, FormClosingEventArgs e) { @@ -97,6 +98,7 @@ namespace JDP { _config.preserveHTOA = chkPreserveHTOA.Checked; _config.autoCorrectFilenames = chkAutoCorrectFilenames.Checked; _config.flacCompressionLevel = (uint)numericFLACCompressionLevel.Value; + _config.lossyWAVQuality = (int)numericLossyWAVQuality.Value; _config.fixWhenPercent = (uint)numFixWhenPercent.Value; _config.fixWhenConfidence = (uint)numFixWhenConfidence.Value; _config.encodeWhenPercent = (uint)numEncodeWhenPercent.Value; diff --git a/CUETools/frmSettings.resx b/CUETools/frmSettings.resx index 48a15ad..e8fa7cd 100644 --- a/CUETools/frmSettings.resx +++ b/CUETools/frmSettings.resx @@ -117,935 +117,470 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - False - - - - 273, 271 + + - - 73, 23 + + - - - 6 - - - Cancel - - - btnCancel - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 1 - - - True - - - - NoControl - - - 12, 163 - - - 173, 17 - - - 9 - - - Reduce process priority to Idle - - - chkReducePriority - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 0 - - - True - - - 12, 146 - - - 215, 17 - - - 8 - - - Truncate extra 4206 samples if present - - - 17, 17 - - - Некоторые FLAC-кодировщики добавляют лишние 4206 пустых сэмплов в конце файла. Эту ситуацию можно легко обнаружить и исправить. - - - chkTruncateExtra4206Samples - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 1 - - - True - - - 12, 129 - - - 189, 17 - - - 7 - - - Create .cue file even if embedded - - - chkCreateCUEFileWhenEmbedded - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 2 - - - True - - - 12, 112 - - - 127, 17 - - - 6 - - - Create .m3u playlists - - - chkCreateM3U - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 3 - - - True - - - 12, 95 - - - 187, 17 - - - 5 - - - Fill up missing CUE data from tags - - - chkFillUpCUE - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 4 - - - True - - - 12, 78 - - - 134, 17 - - - 4 - - - Embed log file as a tag - - - File should be in the same directory as source file and have a .log extension - - - chkEmbedLog - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 5 - - - 133, 20 - - - 62, 21 - - - 1 - - - Right - - - numericWriteOffset - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 6 - - - True - - - 12, 61 - - - 155, 17 - - - 3 - - - Locate audio files if missing - - - Preprocess with filename corrector if unable to locate audio files - - - chkAutoCorrectFilenames - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 7 - - - True - - - 12, 44 - - - 229, 17 - - - 2 - - - Preserve HTOA for gaps appended output - - - chkPreserveHTOA - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 8 - - - True - - - 9, 23 - - - 118, 13 - - - 0 - - - Write offset (samples): - - - lblWriteOffset - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpGeneral - - - 9 - - - 6, 6 - - - 252, 204 - - - 0 - - - General - - - grpGeneral - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage1 - - - 0 - - - 112, 89 - - - 36, 21 - - - 2 - - - Right - - - numericFLACCompressionLevel - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpFLAC - - - 0 - - - True - - - 9, 93 - - - 97, 13 - - - 1 - - - Compression level: - - - lblFLACCompressionLevel - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpFLAC - - - 1 - - - True - - - 12, 20 - - - 54, 17 - - - 0 + + Add ACCURATERIPCOUNT/ACCURATERIPCOUNTALLOFFSETS/ACCURATERIPTOTAL tags to input files. You can set up foobar2000 to show those values, and see if your music was ripped correctly or how popular it is. Verify - - chkFLACVerify - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpFLAC - - - 2 - - - 317, 6 - - - 204, 148 - - - 4 - - - FLAC - - - grpFLAC - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage3 - - - 2 - - - 194, 271 - - + + 73, 23 - - 5 + + - - OK + + 8, 6 - - btnOK + + chkRemoveSpecial - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - + 2 - + + True - - 12, 114 + + - - 125, 17 - - - 6 - - - Store MD5 checksum - - - chkWVStoreMD5 - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpWavPack - - - 0 - - - 103, 91 - - - 36, 21 - - - 5 - - - Right - - - numWVExtraMode - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpWavPack - - - 1 - - - True - - - 12, 92 - - - 85, 17 - - + 4 - - Extra mode: - - - chkWVExtraMode - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpWavPack - - - 2 - - - True - - - 13, 70 - - - 71, 17 - - - 3 - - - Very High - - - rbWVVeryHigh - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpWavPack - - - 3 - - - True - - - 13, 53 - - - 46, 17 - - - 2 - - - High - - - rbWVHigh - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpWavPack - - - 4 - - - True - - - 13, 36 - - - 58, 17 - - - 1 - - - Normal - - - rbWVNormal - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpWavPack - - - 5 - - - True - - - 13, 19 - - - 46, 17 - - - 0 - - - Fast - - - rbWVFast - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpWavPack - - - 6 - - - 6, 6 - - - 146, 148 - - - 3 - - - WavPack (.wv) - - - grpWavPack - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage3 - - - 0 - - - Top, Right - - - True - - - 173, 62 - - - Yes - - - 100, 17 - - - 12 - - - and zero offset - - - chkEncodeWhenZeroOffset - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 0 - - - True - - - 6, 81 - - - 81, 17 - - - 7 - - - Fix offset if - - - chkArFixOffset - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 1 - - - True - - - 6, 172 - - - 130, 17 - - - 1 - - - Write AccurateRip log - - - chkWriteArLogOnConvert - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 2 - - - True - - - 6, 149 - - - 137, 17 - - - 0 - - - Write AccurateRip tags - - - Add ACCURATERIPCOUNT/ACCURATERIPCOUNTALLOFFSETS/ACCURATERIPTOTAL tags to output files. You can set up foobar2000 to show those values, and see if your music was ripped correctly or how popular it is. - - - chkWriteArTagsOnConvert - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 3 - - - Top, Right - - - True - - - 108, 21 - - - 121, 13 - - - 3 - - - % of verified tracks >= - - - labelEncodeWhenPercent - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 4 - - - 235, 19 - - - 38, 21 - - - 4 - - - numEncodeWhenPercent - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 5 - - - Top, Right - - - True - - - 128, 42 - - - 101, 13 - - - 5 - - - with confidence >= - - - labelEncodeWhenConfidence - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 6 - - - 235, 40 - - - 38, 21 - - - 6 - - - numEncodeWhenConfidence - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 7 - - - True + + 6, 20 - - 93, 17 + + lblSingleFilenameFormat - + + 235, 101 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 12, 112 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1 + + + labelEncodeWhenConfidence + + 2 - - Encode only if + + Decode HDCD to 24 bit - - chkArNoUnverifiedAudio + + Write AccurateRip tags - + + Single format: + + + 8 + + + 5 + + + Very High + + + 46, 17 + + + % of verified tracks >= + + + 2 + + + File should be in the same directory as source file and have a .log extension + + + + + + groupBox1 + + + + + + grpGeneral + + + %N-%A-%T + + + 321, 87 + + + HDCD decoding is irreversable. Resulting files cannot be burned to the CD. 24-bit audio files are created, but the actual resolution is 20 bit + + + btnOK + + + 7 + + + grpAudioFilenames + + + 36, 21 + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 4 + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 71, 17 + + + 6, 172 + + + 6 + + + + Right + + + 12, 20 + + + btnCancel + + + grpWavPack + + + 136, 17 + + + chkKeepOriginalFilenames + + + Detect HDCD encoding + + + 12, 146 + + + Create .m3u playlists + + + grpGeneral + + + + + + Write offset (samples): + + + 58, 17 + + + 81, 17 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + 1 + + + 2 + + + True + + + True + + + 0 + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 12, 92 + + + chkEncodeWhenZeroOffset + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 542, 307 + + + 3 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + %F + + + 6, 43 + groupBox1 - + + 1 + + + 121, 13 + + + + + + grpAudioFilenames + + + grpAudioFilenames + + + 3 + + + 74, 13 + + + 135, 17 + + + 13, 36 + + + 9, 41 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 2 + + + and zero offset + + + grpWavPack + + + 12, 165 + + + Tahoma, 8.25pt + + 8 - - 128, 101 + + - - 101, 23 + + + + + Yes 10 - - with confidence >= + + grpFLAC + + + 535, 227 + + + NoControl + + + 12, 129 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 3 + + + chkCreateM3U + + + chkArNoUnverifiedAudio + + + 4, 22 + + + tabControl1 + + + 54, 17 + + + grpHDCD + + + True + + + groupBox2 + + + 4 + + + groupBox1 + + + chkHDCDDetect + + + 101, 23 + + + 103, 91 + + + HDCD options + + + lblTrackFilenameFormat + + + grpAudioFilenames + + + 75, 17 + + + 2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox4 + + + 12 + + + Fill up missing CUE data from tags + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 4, 22 + + + + + + 2 + + + 3 + + + 108, 21 + + + chkWVStoreMD5 + + + True + + + grpWavPack + + + 37, 21 + + + 97, 132 + + + groupBox1 + + + + + + $this + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Top, Right + + + chkHDCDStopLooking + + + frmSettings + + + 0 labelFixWhenConfidence @@ -1053,898 +588,1633 @@ System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - groupBox1 + + 125, 17 - - 9 + + Locate audio files if missing - - 235, 101 + + 72, 13 - - 37, 21 + + Codecs - - 11 + + numericWriteOffset - - numFixWhenConfidence - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 10 - - - 108, 82 - - - 121, 23 - - - 8 - - - % of verified tracks >= - - - labelFixWhenPercent - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 11 - - - 235, 80 - - - 38, 21 - - - 9 - - - numFixWhenPercent - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 12 - - - 226, 6 - - - 295, 215 - - + 2 - - Verify, then convert + + 6 - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage2 - - - 1 - - - True - - - 12, 98 - - - 128, 17 - - - 7 - - - Force ANSI filenames - - - Only allow characters, which are present in ANSI codepage, for compatibility with non-unicode applications - - - chkFilenamesANSISafe - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpAudioFilenames - - + 0 - + + + + + 3 + + + rbWVVeryHigh + + + 535, 227 + + True - - NoControl + + 100, 17 - - 6, 149 + + 93, 17 - - 137, 17 + + 12, 114 - + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + AccurateRip + + + 3 + + + 543, 253 + + + + + + 46, 17 + + 2 - - Write AccurateRip tags + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Add ACCURATERIPCOUNT/ACCURATERIPCOUNTALLOFFSETS/ACCURATERIPTOTAL tags to input files. You can set up foobar2000 to show those values, and see if your music was ripped correctly or how popular it is. - - - chkWriteARTagsOnVerify - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - + 1 - + + 149, 21 + + + 7 + + + 128, 42 + + True - - 6, 43 - - - 136, 17 - - - 1 - - - Decode HDCD to 24 bit - - - HDCD decoding is irreversable. Resulting files cannot be burned to the CD. 24-bit audio files are created, but the actual resolution is 20 bit - - - chkHDCDDecode - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpHDCD - - - 1 - - - True - - - 6, 20 - 168, 17 - - 2 + + - - Stop looking after 750 frames - - - Stop looking for HDCD information, If none found in first 10 seconds of the disc - - - chkHDCDStopLooking - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + grpHDCD - - 0 - - + True - - NoControl - - - 12, 20 - - - 135, 17 - 0 - - Keep original filenames + + - - chkKeepOriginalFilenames + + grpGeneral - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 229, 17 - - grpAudioFilenames + + 4 - - 1 - - - 97, 132 - - - 149, 21 - - - 6 - - - -() - - - txtSpecialExceptions - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpAudioFilenames - - - 2 - - + True - + + 3, 3, 3, 3 + + + chkWriteARLogOnVerify + + + + + + 12, 163 + + + OK + + + 273, 271 + + + numericFLACCompressionLevel + + NoControl + + 46, 17 + + + 2 + + + + + + groupBox3 + + + with confidence >= + + + 6, 13 + + + 38, 21 + + + 0, 0 + 34, 115 - - 194, 17 + + tabPage2 - - 5 - - - Remove special characters except: - - - chkRemoveSpecial - - + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + Only allow characters, which are present in ANSI codepage, for compatibility with non-unicode applications + + + 7 + + + grpAudioFilenames + + + 0 + + + 38, 21 + + + True + + + True + + + 3 + + + 6 + + + FLAC + + + True + + + chkEmbedLog + + + 5 + + + True + + + 1 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + tabPage3 + + grpAudioFilenames 3 - - True + + 73, 23 - - NoControl + + Normal - - 12, 165 - - - 185, 17 - - - 7 - - - Replace spaces with underscores - - - chkReplaceSpaces - - + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + Compression level: + + + + + + tabPage3 + + + numFixWhenPercent + + + True + + + Force ANSI filenames + + + Top, Right + + + tabPage4 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 0 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fix offset if + + + + + + tabPage1 + + + CenterParent + + + 4 + + + Reduce process priority to Idle + + + 8 + + + True + + + 5 + + + + + + 252, 204 + + grpAudioFilenames + + tabPage4 + + + 109, 29 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + + + + NoControl + + + Write AccurateRip log + + + 0 + + + tabPage3 + + + 235, 40 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 4 - - 97, 68 + + 6 - + + numEncodeWhenConfidence + + + True + + + 0 + + + + + + CUETools + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 11 + + + + + + True + + + 135, 17 + + + chkFillUpCUE + + + groupBox1 + + + 5, 172 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + rbAPEhigh + + + groupBox1 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 149, 21 - - 4 + + 97, 40 - - %N-%A-%T + + + + + groupBox1 + + + numEncodeWhenPercent + + + grpFLAC + + + + + + grpGeneral + + + 7 + + + labelFixWhenPercent + + + 2 + + + 7 + + + tabControl1 + + + 1 + + + + + + + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 9 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 12 + + + 11 + + + 1 + + + txtSpecialExceptions + + + tabControl1 + + + 12, 78 + + + Embed log file as a tag + + + True + + + Stop looking for HDCD information, If none found in first 10 seconds of the disc + + + 118, 13 + + + grpHDCD + + + Right + + + rbAPEnormal + + + chkWriteArTagsOnConvert + + + groupBox1 + + + + + + True + + + True + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NoControl + + + txtTrackFilenameFormat - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 0 - - grpAudioFilenames + + grpWavPack - + 5 - + + 3 + + + 36, 21 + + True - + + Verify, then convert + + + 145, 148 + + + 1 + + + grpGeneral + + + 97, 68 + + + 12, 95 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 3 + + + grpGeneral + + + 6 + + + 215, 17 + + + True + + + 0 + + + 7 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 8 + + + 4 + + + grpGeneral + + + 8 + + NoControl 11, 71 - - 72, 13 + + 2 - - 3 + + 127, 17 - - Track format: + + Cancel - - lblTrackFilenameFormat - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - grpAudioFilenames - - - 6 - - + True - - NoControl + + 2 - - 9, 43 + + -() - - 74, 13 + + True - - 1 + + 101, 13 - - Single format: + + True - - lblSingleFilenameFormat + + 137, 17 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 212, 215 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 12, 44 + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 295, 215 + + + Normal + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - grpAudioFilenames + + 9, 43 - - 7 + + True - - 97, 40 + + - - 149, 21 + + - - 2 + + 134, 17 - - %F + + chkWVExtraMode - - txtSingleFilenameFormat + + chkWriteARTagsOnVerify - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 200, 67 - - grpAudioFilenames + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 8 - - 264, 6 + + rbWVNormal - - 252, 204 + + 13, 70 - + + grpWavPack + + + Verify + + + Right + + + 189, 17 + + + 2 + + 1 - - Audio Filenames - - - grpAudioFilenames - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage1 - - - 1 - - - True - - - 13, 88 - - - 58, 17 - - - 4 - - - Insane - - - rbAPEinsane - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - + 0 - - True + + 5 + + + 12, 61 + + + 0 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 112, 37 + + + 187, 17 + + + 0 + + + groupBox2 + + + + + + 6 + + + 5 + + + 58, 17 + + + LossyWAV + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPage1 + + + chkCreateCUEFileWhenEmbedded 13, 71 - - 75, 17 + + 226, 6 - - 3 - - - Extra High + + 0 rbAPEextrahigh - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 317, 6 - - groupBox2 + + 149, 21 - - 1 + + lblFLACCompressionLevel - + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + chkArFixOffset + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 204, 71 + + + toolTip1 + + + Preserve HTOA for gaps appended output + + + Keep original filenames + + + grpWavPack + + + Create .cue file even if embedded + + True - - 13, 54 + + 6, 149 - - 46, 17 + + 4 - + + numWVExtraMode + + + HDCD + + + labelEncodeWhenPercent + + + 3 + + + Some erroneous FLAC encoders add extra 4206 zero samples at the end of each file. These extra samples can be detected and removed. + + + NoControl + + + 173, 17 + + + groupBox1 + + + Extra High + + + groupBox3 + + + 173, 62 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 4 + + + 19, 19 + + + groupBox4 + + + rbAPEfast + + + 13, 53 + + 2 - + + txtSingleFilenameFormat + + + chkPreserveHTOA + + + Write AccurateRip tags + + + Truncate extra 4206 samples if present + + + 3 + + + rbAPEinsane + + High - - rbAPEhigh - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 2 - - - True + + 252, 204 13, 37 - + + Right + + + 3 + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + + + + 3, 3, 3, 3 + + + 6, 6 + + + groupBox1 + + + + + + 108, 82 + + + tabPage4 + + + 185, 17 + + + 13, 19 + + + Write AccurateRip log + + + 4, 22 + + + 146, 148 + + + + + + + + + chkTruncateExtra4206Samples + + + 2 + + + 6, 20 + + + True + + + 2 + + + 0 + + + 1 + + + + + + 10 + + + System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 97, 13 + + + 130, 17 + + + Audio Filenames + + + + + + + + + + + + 1 + + + $this + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + rbWVHigh + + + tabPage2 + + + True + + + 6, 33 + + + chkAutoCorrectFilenames + + + 4 + + + True + + + grpAudioFilenames + + + groupBox2 + + + 62, 21 + + + + + + True + + + True + + + tabPage3 + + + 203, 165 + + + label1 + + 58, 17 1 - - Normal + + 5 - - rbAPEnormal + + 36, 21 - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 194, 17 - - groupBox2 + + Quality: - - 3 + + NoControl - - True + + groupBox1 - - 13, 20 - - - 46, 17 - - - 0 - - - Fast - - - rbAPEfast - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - + 4 - - 166, 6 + + True - - 145, 148 + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 7 + + 3 - - Monkey's Audio (.ape) + + 12, 20 - - groupBox2 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage3 - - - 1 - - - Top, Left, Right - - - 4, 22 - - - 3, 3, 3, 3 - - - 535, 227 + + chkHDCDDecode 0 - - CUETools + + 46, 17 - - tabPage1 + + 45, 13 - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + grpAudioFilenames - - tabControl1 + + Replace spaces with underscores - - 0 - - - True - - - NoControl - - - 5, 172 - - - 130, 17 - - - 3 - - - Write AccurateRip log - - - chkWriteARLogOnVerify - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox3 - - - 0 - - - 8, 6 - - - 212, 215 - - - 3 - - - Verify - - - groupBox3 - - + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tabPage2 - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 535, 227 - - - 1 - - - AccurateRip - - - tabPage2 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 1 - - - 4, 22 - - - 3, 3, 3, 3 - - - 535, 227 - - - 2 - - - Codecs - - - tabPage3 - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControl1 - - - 2 - - - 19, 42 - - - 203, 165 - - - 2 - - - HDCD options - - - grpHDCD - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage4 - - - 0 - - - True - - - 19, 19 - - - 135, 17 - - - 0 - - - Detect HDCD encoding - - - chkHDCDDetect - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPage4 - - - 1 - - - 4, 22 - - - 3, 3, 3, 3 - - - 535, 227 - - - 3 - - - HDCD - - - tabPage4 + + Stop looking after 750 frames System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tabControl1 - - - 3 - - - 0, 0 - - - 0, 0, 0, 0 - - - 543, 253 - - + 8 - - tabControl1 + + 155, 17 - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - + 0 - + + 235, 80 + + + + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpWavPack + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + 3, 3, 3, 3 + + + numFixWhenConfidence + + + 1 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 85, 17 + + + 194, 271 + + + Encode only if + + + 1 + + + 535, 227 + + + chkFLACVerify + + + 2 + + + chkWriteArLogOnConvert + + + grpGeneral + + + tabControl1 + + + 264, 6 + + + lblWriteOffset + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Extra mode: + + + + + + Store MD5 checksum + + + 1 + + True - - - 6, 13 - - 542, 307 + + 6 - - Tahoma, 8.25pt + + 2 - - CenterParent + + 9 + + + + + + NoControl + + + 3, 3, 3, 3 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 6, 149 + + + % of verified tracks >= + + + 1 + + + + + + 121, 23 + + + groupBox1 + + + Top, Right + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 9 + + + grpGeneral + + + Add ACCURATERIPCOUNT/ACCURATERIPCOUNTALLOFFSETS/ACCURATERIPTOTAL tags to output files. You can set up foobar2000 to show those values, and see if your music was ripped correctly or how popular it is. + + + 19, 42 + + + $this Advanced Settings - - toolTip1 + + groupBox2 - - System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tabControl1 - - frmSettings + + 6, 81 - - System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 3 + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 1 + + + 0 + + + groupBox2 + + + 7 + + + 12, 98 + + + tabPage1 + + + 6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 7 + + + 3 + + + + + + groupBox2 + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Insane + + + + + + + + + chkFilenamesANSISafe + + + 5 + + + WavPack (.wv) + + + 1 + + + 1 + + + True + + + Fast + + + numericLossyWAVQuality + + + 1 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 13, 54 + + + 1 + + + Preprocess with filename corrector if unable to locate audio files + + + 4 + + + NoControl + + + Fast + + + Monkey's Audio (.ape) + + + groupBox1 + + + True + + + 535, 227 + + + + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 235, 19 + + + tabPage3 + + + 9, 23 + + + 1 + + + 128, 17 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + + + + groupBox4 + + + + + + 6 + + + 128, 101 + + + 9 + + + grpGeneral + + + + + + 2 + + + groupBox1 + + + + + + 1 + + + High + + + Track format: + + + + + + grpFLAC + + + 6, 6 + + + 3 + + + + + + True + + + Top, Left, Right + + + 5 + + + 0, 0, 0, 0 + + + 133, 20 + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 130, 17 + + + chkReplaceSpaces + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + 0 + + + + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 13, 20 + + + grpFLAC + + + Remove special characters except: + + + 4, 22 + + + True + + + grpGeneral + + + chkReducePriority + + + tabPage2 + + + grpAudioFilenames + + + + + + 166, 6 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 137, 17 + + + 38, 21 + + + General + + + 13, 88 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + grpWavPack + + + rbWVFast + + + with confidence >= + + + False + + + 17, 17 + + + True + + + Russian (Russia) + \ No newline at end of file diff --git a/CUETools/frmSettings.ru-RU.resx b/CUETools/frmSettings.ru-RU.resx index a399a40..a494b0a 100644 --- a/CUETools/frmSettings.ru-RU.resx +++ b/CUETools/frmSettings.ru-RU.resx @@ -124,12 +124,24 @@ + + 180, 17 + + + Понизить приоритет процесса + + + + 202, 17 Выкидывать лишние 4206 сэмплов + + Некоторые FLAC-кодировщики добавляют лишние 4206 пустых сэмплов в конце файла. Эту ситуацию можно легко обнаружить и исправить. + 224, 17 @@ -203,13 +215,13 @@ - 147, 88 + 113, 44 - 11, 90 + 9, 46 94, 13 @@ -588,6 +600,21 @@ + + + + + 59, 13 + + + Качество: + + + + + + + Форматы diff --git a/CUEToolsLib/AudioReadWrite.cs b/CUEToolsLib/AudioReadWrite.cs index edea85d..9affc21 100644 --- a/CUEToolsLib/AudioReadWrite.cs +++ b/CUEToolsLib/AudioReadWrite.cs @@ -4,15 +4,16 @@ using FLACDotNet; using WavPackDotNet; using APEDotNet; using ALACDotNet; +using LossyWAVDotNet; using AudioCodecsDotNet; using System.Collections.Generic; using System.Collections.Specialized; namespace CUEToolsLib { public static class AudioReadWrite { - public static IAudioSource GetAudioSource(string path, Stream IO) + public static IAudioSource GetAudioSource(string path, Stream IO, string extension) { - switch (Path.GetExtension(path).ToLower()) + switch (extension) { case ".wav": return new WAVReader(path, IO); @@ -31,20 +32,46 @@ namespace CUEToolsLib { } } - public static IAudioDest GetAudioDest(string path, int bitsPerSample, int channelCount, int sampleRate, long finalSampleCount) { + public static IAudioSource GetAudioSource(string path, Stream IO) + { + string extension = Path.GetExtension(path).ToLower(); + string filename = Path.GetFileNameWithoutExtension(path); + string secondExtension = Path.GetExtension(filename).ToLower(); + if (secondExtension != ".lossy" && secondExtension != ".lwcdf") + return GetAudioSource(path, IO, extension); + + string lossyPath = Path.Combine(Path.GetDirectoryName(path), Path.GetFileNameWithoutExtension(filename) + ".lossy" + extension); + string lwcdfPath = Path.Combine(Path.GetDirectoryName(path), Path.GetFileNameWithoutExtension(filename) + ".lwcdf" + extension); + IAudioSource lossySource = GetAudioSource(lossyPath, null, extension); + IAudioSource lwcdfSource = GetAudioSource(lwcdfPath, null, extension); + return new LossyWAVReader(lossySource, lwcdfSource); + } + + public static IAudioDest GetAudioDest(string path, int bitsPerSample, int channelCount, int sampleRate, long finalSampleCount, string extension, CUEConfig config) { IAudioDest dest; - switch (Path.GetExtension(path).ToLower()) { + switch (extension) { case ".wav": - dest = new WAVWriter(path, bitsPerSample, channelCount, sampleRate); break; + dest = new WAVWriter(path, bitsPerSample, channelCount, sampleRate); + break; #if !MONO case ".flac": - dest = new FLACWriter(path, bitsPerSample, channelCount, sampleRate); break; + dest = new FLACWriter(path, bitsPerSample, channelCount, sampleRate); + ((FLACWriter)dest).CompressionLevel = (int)config.flacCompressionLevel; + ((FLACWriter)dest).Verify = config.flacVerify; + break; case ".wv": - dest = new WavPackWriter(path, bitsPerSample, channelCount, sampleRate); break; + dest = new WavPackWriter(path, bitsPerSample, channelCount, sampleRate); + ((WavPackWriter)dest).CompressionMode = config.wvCompressionMode; + ((WavPackWriter)dest).ExtraMode = config.wvExtraMode; + ((WavPackWriter)dest).MD5Sum = config.wvStoreMD5; + break; case ".ape": - dest = new APEWriter(path, bitsPerSample, channelCount, sampleRate); break; + dest = new APEWriter(path, bitsPerSample, channelCount, sampleRate); + ((APEWriter)dest).CompressionLevel = (int)config.apeCompressionLevel; + break; case ".dummy": - dest = new DummyWriter(path, bitsPerSample, channelCount, sampleRate); break; + dest = new DummyWriter(path, bitsPerSample, channelCount, sampleRate); + break; #endif default: throw new Exception("Unsupported audio type."); @@ -52,5 +79,18 @@ namespace CUEToolsLib { dest.FinalSampleCount = finalSampleCount; return dest; } + + public static IAudioDest GetAudioDest(string path, int bitsPerSample, int channelCount, int sampleRate, long finalSampleCount, CUEConfig config) + { + string extension = Path.GetExtension(path).ToLower(); + string filename = Path.GetFileNameWithoutExtension(path); + if (Path.GetExtension(filename).ToLower() != ".lossy") + return GetAudioDest(path, bitsPerSample, channelCount, sampleRate, finalSampleCount, extension, config); + + string lwcdfPath = Path.Combine(Path.GetDirectoryName(path), Path.GetFileNameWithoutExtension(filename) + ".lwcdf" + extension); + IAudioDest lossyDest = GetAudioDest(path, bitsPerSample, channelCount, sampleRate, finalSampleCount, extension, config); + IAudioDest lwcdfDest = GetAudioDest(lwcdfPath, bitsPerSample, channelCount, sampleRate, finalSampleCount, extension, config); + return new LossyWAVWriter(lossyDest, lwcdfDest, bitsPerSample, channelCount, sampleRate, config.lossyWAVQuality); + } } } \ No newline at end of file diff --git a/CUEToolsLib/CUEToolsLib.csproj b/CUEToolsLib/CUEToolsLib.csproj index 57b1fb1..093e610 100644 --- a/CUEToolsLib/CUEToolsLib.csproj +++ b/CUEToolsLib/CUEToolsLib.csproj @@ -109,6 +109,10 @@ {32338A04-5B6B-4C63-8EE7-C6400F73B5D7} HDCDDotNet + + {8A0426FA-0BC2-4C49-A6E5-1F9A68156F19} + LossyWAVDotNet + {8427CAA5-80B8-4952-9A68-5F3DFCFBDF40} UnRarDotNet diff --git a/CUEToolsLib/Main.cs b/CUEToolsLib/Main.cs index 5b98cc9..d98c48c 100644 --- a/CUEToolsLib/Main.cs +++ b/CUEToolsLib/Main.cs @@ -31,6 +31,7 @@ using System.Threading; using System.Xml; using AudioCodecsDotNet; using HDCDDotNet; +using LossyWAVDotNet; #if !MONO using UnRarDotNet; using FLACDotNet; @@ -241,6 +242,7 @@ namespace CUEToolsLib public bool createTOC; public bool createCUEFileWhenEmbedded; public bool truncate4608ExtraSamples; + public int lossyWAVQuality; public CUEConfig() { @@ -281,6 +283,7 @@ namespace CUEToolsLib createTOC = false; createCUEFileWhenEmbedded = false; truncate4608ExtraSamples = true; + lossyWAVQuality = 5; } public void Save (SettingsWriter sw) @@ -322,6 +325,7 @@ namespace CUEToolsLib sw.Save("CreateTOC", createTOC); sw.Save("CreateCUEFileWhenEmbedded", createCUEFileWhenEmbedded); sw.Save("Truncate4608ExtraSamples", truncate4608ExtraSamples); + sw.Save("LossyWAVQuality", lossyWAVQuality); } public void Load(SettingsReader sr) @@ -363,6 +367,7 @@ namespace CUEToolsLib createTOC = sr.LoadBoolean("CreateTOC") ?? false; createCUEFileWhenEmbedded = sr.LoadBoolean("CreateCUEFileWhenEmbedded") ?? false; truncate4608ExtraSamples = sr.LoadBoolean("Truncate4608ExtraSamples") ?? true; + lossyWAVQuality = sr.LoadInt32("LossyWAVQuality", 0, 10) ?? 5; } public string CleanseString (string s) @@ -982,7 +987,7 @@ namespace CUEToolsLib return null; } - public void GenerateFilenames (OutputAudioFormat format, string outputPath) + public void GenerateFilenames (OutputAudioFormat format, string outputPath, bool lossyWAV) { _cuePath = outputPath; @@ -1008,6 +1013,8 @@ namespace CUEToolsLib replace.Add(null); replace.Add(Path.GetFileNameWithoutExtension(outputPath)); + if (lossyWAV) + extension = ".lossy" + extension; if (_config.detectHDCD && hdcdDecoder != null && _config.decodeHDCD) extension = ".24bit" + extension; @@ -2534,28 +2541,7 @@ namespace CUEToolsLib if (noOutput) return new DummyWriter(path, bitsPerSample, 2, 44100); - IAudioDest dest = AudioReadWrite.GetAudioDest(path, bitsPerSample, 2, 44100, finalSampleCount); - -#if !MONO - if (dest is FLACWriter) { - FLACWriter w = (FLACWriter)dest; - w.CompressionLevel = (int) _config.flacCompressionLevel; - w.Verify = _config.flacVerify; - } - if (dest is WavPackWriter) { - WavPackWriter w = (WavPackWriter)dest; - w.CompressionMode = _config.wvCompressionMode; - w.ExtraMode = _config.wvExtraMode; - w.MD5Sum = _config.wvStoreMD5; - } - if (dest is APEWriter) - { - APEWriter w = (APEWriter)dest; - w.CompressionLevel = (int) _config.apeCompressionLevel; - } -#endif - - return dest; + return AudioReadWrite.GetAudioDest(path, bitsPerSample, 2, 44100, finalSampleCount, _config); } private IAudioSource GetAudioSource(int sourceIndex) { diff --git a/FLACDotNet/flacdotnet.cpp b/FLACDotNet/flacdotnet.cpp index 2f899cf..cf28d23 100644 --- a/FLACDotNet/flacdotnet.cpp +++ b/FLACDotNet/flacdotnet.cpp @@ -468,6 +468,7 @@ namespace FLACDotNet { _compressionLevel = 5; _paddingLength = 8192; _verify = false; + _blockSize = 0; _tags = gcnew NameValueCollection(); _encoder = FLAC__stream_encoder_new(); @@ -517,6 +518,14 @@ namespace FLACDotNet { } } + virtual property Int64 BlockSize + { + void set(Int64 value) + { + _blockSize = value; + } + } + virtual bool SetTags (NameValueCollection^ tags) { _tags = tags; @@ -580,7 +589,7 @@ namespace FLACDotNet { FLAC__StreamEncoder *_encoder; bool _initialized; String^ _path; - Int64 _finalSampleCount, _samplesWritten; + Int64 _finalSampleCount, _samplesWritten, _blockSize; Int32 _bitsPerSample, _channelCount, _sampleRate; Int32 _compressionLevel; Int32 _paddingLength; @@ -657,6 +666,9 @@ namespace FLACDotNet { FLAC__stream_encoder_set_compression_level(_encoder, _compressionLevel); + if (_blockSize > 0) + FLAC__stream_encoder_set_blocksize(_encoder, (unsigned)_blockSize); + pathChars = Marshal::StringToHGlobalUni(_path); hFile = _wfopen((const wchar_t*)pathChars.ToPointer(), L"w+b"); Marshal::FreeHGlobal(pathChars); diff --git a/LossyWAVDotNet/LossyWAV.cs b/LossyWAVDotNet/LossyWAV.cs index f3555cd..27ebc4c 100644 --- a/LossyWAVDotNet/LossyWAV.cs +++ b/LossyWAVDotNet/LossyWAV.cs @@ -29,15 +29,37 @@ using AudioCodecsDotNet; namespace LossyWAVDotNet { - public class LossyWAV : IAudioDest + public class LossyWAVWriter : IAudioDest { #region Public Methods - public bool SetTags(NameValueCollection tags) + public LossyWAVWriter(IAudioDest audioDest, IAudioDest lwcdfDest, int bitsPerSample, int channelCount, int sampleRate, double quality) { - if (_audioDest != null) _audioDest.SetTags(tags); - if (_lwcdfDest != null) _lwcdfDest.SetTags(tags); - return true; + _audioDest = audioDest; + _lwcdfDest = lwcdfDest; + channels = channelCount; + samplerate = sampleRate; + bitspersample = bitsPerSample; + + int quality_integer = (int)Math.Floor(quality); + + fft_analysis_string = new string[4] { "0100010", "0110010", "0111010", "0111110" }; + bool[] quality_auto_fft32_on = { false, false, false, true, true, true, true, true, true, true, true }; + double[] quality_noise_threshold_shifts = { 20, 16, 9, 6, 3, 0, -2.4, -4.8, -7.2, -9.6, -12 }; + double[] quality_signal_to_noise_ratio = { -18, -22, -23.5, -23.5, -23.5, -25, -28, -31, -34, -37, -40 }; + double[] quality_dynamic_minimum_bits_to_keep = { 2.5, 2.75, 3.00, 3.25, 3.50, 3.75, 4.0, 4.25, 4.5, 4.75, 5.00 }; + double[] quality_maximum_clips_per_channel = { 3, 3, 3, 3, 2, 1, 0, 0, 0, 0, 0 }; + + this_analysis_number = 2; + impulse = quality_auto_fft32_on[quality_integer]; + linkchannels = false; + noise_threshold_shift = Math.Round(interpolate_param(quality_noise_threshold_shifts, quality) * 1000) / 1000; + snr_value = Math.Round(interpolate_param(quality_signal_to_noise_ratio, quality) * 1000) / 1000; + dynamic_minimum_bits_to_keep = Math.Round(interpolate_param(quality_dynamic_minimum_bits_to_keep, quality) * 1000) / 1000; + maximum_clips_per_channel = (int)Math.Round(interpolate_param(quality_maximum_clips_per_channel, quality)); + scaling_factor = 1.0; + shaping_factor = Math.Min(1, quality / 10); + shaping_is_on = shaping_factor > 0; } public void Close() @@ -60,26 +82,6 @@ namespace LossyWAVDotNet if (_lwcdfDest != null) _lwcdfDest.Close(); } - public void Delete() - { - if (_audioDest != null) _audioDest.Delete(); - if (_lwcdfDest != null) _lwcdfDest.Delete(); - } - - public long FinalSampleCount - { - set - { - if (_audioDest != null) _audioDest.FinalSampleCount = value; - if (_lwcdfDest != null) _lwcdfDest.FinalSampleCount = value; - } - } - - public long BlockSize - { - set { } - } - public void Write(int[,] buff, uint sampleCount) { if (!initialized) @@ -107,35 +109,33 @@ namespace LossyWAVDotNet } } + public bool SetTags(NameValueCollection tags) + { + if (_audioDest != null) _audioDest.SetTags(tags); + if (_lwcdfDest != null) _lwcdfDest.SetTags(tags); + return true; + } + public string Path { get { return _audioDest.Path; } } - public LossyWAV(IAudioDest audioDest, IAudioDest lwcdfDest, int bitsPerSample, int channelCount, int sampleRate, double quality) + public void Delete() { - _audioDest = audioDest; - _lwcdfDest = lwcdfDest; - channels = channelCount; - samplerate = sampleRate; - bitspersample = bitsPerSample; + if (_audioDest != null) _audioDest.Delete(); + if (_lwcdfDest != null) _lwcdfDest.Delete(); + } - int quality_integer = (int)Math.Floor(quality); + public long FinalSampleCount + { + set + { + if (_audioDest != null) _audioDest.FinalSampleCount = value; + if (_lwcdfDest != null) _lwcdfDest.FinalSampleCount = value; + } + } - fft_analysis_string = new string[4] { "0100010", "0110010", "0111010", "0111110" }; - bool[] quality_auto_fft32_on = { false, false, false, true, true, true, true, true, true, true, true }; - double[] quality_noise_threshold_shifts = { 20, 16, 9, 6, 3, 0, -2.4, -4.8, -7.2, -9.6, -12 }; - double[] quality_signal_to_noise_ratio = { -18, -22, -23.5, -23.5, -23.5, -25, -28, -31, -34, -37, -40 }; - double[] quality_dynamic_minimum_bits_to_keep = { 2.5, 2.75, 3.00, 3.25, 3.50, 3.75, 4.0, 4.25, 4.5, 4.75, 5.00 }; - double[] quality_maximum_clips_per_channel = { 3, 3, 3, 3, 2, 1, 0, 0, 0, 0, 0 }; - - this_analysis_number = 2; - impulse = quality_auto_fft32_on[quality_integer]; - linkchannels = false; - noise_threshold_shift = Math.Round(interpolate_param(quality_noise_threshold_shifts, quality) * 1000) / 1000; - snr_value = Math.Round(interpolate_param(quality_signal_to_noise_ratio, quality) * 1000) / 1000; - dynamic_minimum_bits_to_keep = Math.Round(interpolate_param(quality_dynamic_minimum_bits_to_keep, quality) * 1000) / 1000; - maximum_clips_per_channel = (int)Math.Round(interpolate_param(quality_maximum_clips_per_channel, quality)); - scaling_factor = 1.0; - shaping_factor = Math.Min(1, quality / 10); - shaping_is_on = shaping_factor > 0; + public long BlockSize + { + set { } } public int Analysis @@ -193,17 +193,6 @@ namespace LossyWAVDotNet frequency_limit = value; } } - - //public void Process() - //{ - // read_codec_next_block(); - // while (next_codec_block_size > 0) - // { - // shift_codec_blocks(); - // read_codec_next_block(); - // process_this_codec_block(); - // } - //} #endregion #region Private Methods @@ -424,7 +413,7 @@ namespace LossyWAVDotNet if (_audioDest != null && _audioDest is WAVWriter) ((WAVWriter)_audioDest).WriteChunk(fccFact, new ASCIIEncoding().GetBytes(factString)); if (_lwcdfDest != null && _lwcdfDest is WAVWriter) ((WAVWriter)_lwcdfDest).WriteChunk(fccFact, new ASCIIEncoding().GetBytes(factString)); _audioDest.BlockSize = codec_block_size; - _lwcdfDest.BlockSize = codec_block_size; + _lwcdfDest.BlockSize = codec_block_size * 2; } double fill_fft_input(int actual_analysis_block_start, int this_fft_length, int channel) @@ -692,12 +681,6 @@ namespace LossyWAVDotNet } } - //void read_codec_next_block() - //{ - // uint size = Math.Min((uint)(_audioSource.Length - _audioSource.Position), codec_block_size); - // next_codec_block_size = (int)_audioSource.Read(rotating_blocks_ptr[3], size); - //} - unsafe static void shuffle_in_place_dcomplex(double* fft_ptr, int* reversedbits_ptr, int bits) { for (int i = 0; i < 1 << bits; i++) @@ -856,5 +839,121 @@ namespace LossyWAVDotNet public short bits_lost; public short clipped_samples; } + + public class LossyWAVReader : IAudioSource + { + public LossyWAVReader(IAudioSource audioSource, IAudioSource lwcdfSource) + { + _audioSource = audioSource; + _lwcdfSource = lwcdfSource; + + if (_audioSource.Length != _lwcdfSource.Length) + throw new Exception("Data not same length"); + if (_audioSource.BitsPerSample != _lwcdfSource.BitsPerSample + || _audioSource.ChannelCount != _lwcdfSource.ChannelCount + || _audioSource.SampleRate != _lwcdfSource.SampleRate) + throw new Exception("FMT Data mismatch"); + + scaling_factor = 1.0; // !!!! Need to read 'fact' chunks or tags here + } + + public uint Read(int[,] buff, uint sampleCount) + { + if (sampleBuffer == null || sampleBuffer.Length < sampleCount) + sampleBuffer = new int[sampleCount, _audioSource.ChannelCount]; + sampleCount = _audioSource.Read(buff, sampleCount); + if (sampleCount != _lwcdfSource.Read(sampleBuffer, sampleCount)) + throw new Exception("size mismatch"); + for (uint i = 0; i < sampleCount; i++) + for (int c = 0; c < _audioSource.ChannelCount; c++) + buff[i,c] = (int)Math.Round(buff[i, c] / scaling_factor + sampleBuffer[i, c]); + return sampleCount; + } + + public ulong Length + { + get + { + return _audioSource.Length; + } + } + + public ulong Position + { + get + { + return _audioSource.Position; + } + set + { + _audioSource.Position = value; + _lwcdfSource.Position = value; + } + } + + public ulong Remaining + { + get + { + return _audioSource.Remaining; + } + } + + public int BitsPerSample + { + get + { + return _audioSource.BitsPerSample; + } + } + + public int ChannelCount + { + get + { + return _audioSource.ChannelCount; + } + } + + public int SampleRate + { + get + { + return _audioSource.SampleRate; + } + } + + public NameValueCollection Tags + { + get + { + return _audioSource.Tags; + } + set + { + _audioSource.Tags = value; + } + } + + public string Path + { + get + { + return _audioSource.Path; + } + } + + + public void Close() + { + _audioSource.Close(); + _lwcdfSource.Close(); + } + + IAudioSource _audioSource, _lwcdfSource; + double scaling_factor; + int[,] sampleBuffer; + } + #endregion } diff --git a/WavPackDotNet/WavPackDotNet.cpp b/WavPackDotNet/WavPackDotNet.cpp index 86251d7..5c60057 100644 --- a/WavPackDotNet/WavPackDotNet.cpp +++ b/WavPackDotNet/WavPackDotNet.cpp @@ -322,6 +322,7 @@ namespace WavPackDotNet { _compressionMode = 1; _extraMode = 0; + _blockSize = 0; _bitsPerSample = bitsPerSample; _channelCount = channelCount; @@ -385,6 +386,14 @@ namespace WavPackDotNet { } } + virtual property Int64 BlockSize + { + void set(Int64 value) + { + _blockSize = value; + } + } + virtual void Write(array^ sampleBuffer, UInt32 sampleCount) { if (!_initialized) @@ -467,7 +476,7 @@ namespace WavPackDotNet { WavpackContext *_wpc; Int32 _finalSampleCount, _samplesWritten; Int32 _bitsPerSample, _channelCount, _sampleRate, _blockAlign; - Int32 _compressionMode, _extraMode; + Int32 _compressionMode, _extraMode, _blockSize; NameValueCollection^ _tags; String^ _path; bool _md5Sum; @@ -500,6 +509,9 @@ namespace WavPackDotNet { _md5hasher = gcnew MD5CryptoServiceProvider (); config.flags |= CONFIG_MD5_CHECKSUM; } + config.block_samples = (int)_blockSize; + if (_blockSize > 0 && _blockSize < 2048) + config.flags |= CONFIG_MERGE_BLOCKS; if (!WavpackSetConfiguration(_wpc, &config, (_finalSampleCount == 0) ? -1 : _finalSampleCount)) { throw gcnew Exception("Invalid configuration setting.");