CD parity information database

This commit is contained in:
chudov
2010-02-23 15:15:08 +00:00
parent b613227ada
commit 5b9b266de5
45 changed files with 2017 additions and 793 deletions

View File

@@ -67,12 +67,12 @@ namespace CUETools.TestCodecs
toc.AddTrack(new CDTrack(2, 68, 31, true, false));
toc.AddTrack(new CDTrack(3, 99, 37, true, false));
toc[1][0].Start = 0;
ar = new AccurateRipVerify(toc);
ar = new AccurateRipVerify(toc, null);
toc2 = new CDImageLayout();
toc2.AddTrack(new CDTrack(1, 0, toc.AudioLength, true, false));
toc2.AddTrack(new CDTrack(2, toc.AudioLength, 750, true, false));
ar2 = new AccurateRipVerify(toc2);
ar2 = new AccurateRipVerify(toc2, null);
Random rnd = new Random(2314);
for (int sector = 0; sector < toc2.AudioLength; sector++)

View File

@@ -23,6 +23,7 @@ namespace CUETools.TestParity
static byte[] wav2 = new byte[finalSampleCount * 4];
static byte[] wav3 = new byte[finalSampleCount * 4];
static byte[] parity;
static uint crc;
const int offset = 48;
//const int offset = 5 * 588 - 5;
//const int offset = 2000;
@@ -60,11 +61,12 @@ namespace CUETools.TestParity
wav2[(int)(rnd.NextDouble() * (wav2.Length - 1))] = (byte)(rnd.NextDouble() * 255);
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairEncode encode = new CDRepairEncode(finalSampleCount, stride, npar, false);
CDRepairEncode encode = new CDRepairEncode(finalSampleCount, stride, npar, false, true);
buff.Prepare(wav, finalSampleCount);
encode.Write(buff);
encode.Close();
parity = encode.Parity;
crc = encode.CRC;
}
//
//Use ClassCleanup to run code after all tests in a class have run
@@ -95,13 +97,15 @@ namespace CUETools.TestParity
public void CDRepairDecodeOriginalTest()
{
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true, false);
buff.Prepare(wav, finalSampleCount);
decode.Write(buff);
decode.Close();
decode.VerifyParity(parity);
Assert.IsFalse(decode.HasErrors);
Assert.AreEqual(0, decode.ActualOffset, "wrong offset");
int actualOffset;
bool hasErrors;
Assert.IsTrue(decode.FindOffset(npar, parity, 0, crc, out actualOffset, out hasErrors));
Assert.IsFalse(hasErrors, "has errors");
Assert.AreEqual(0, actualOffset, "wrong offset");
}
/// <summary>
@@ -111,14 +115,18 @@ namespace CUETools.TestParity
public void CDRepairDecodeModifiedTest()
{
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true, false);
buff.Prepare(wav2, finalSampleCount);
decode.Write(buff);
decode.Close();
decode.VerifyParity(parity);
Assert.IsTrue(decode.HasErrors, "doesn't have errors");
Assert.IsTrue(decode.CanRecover, "cannot recover");
Assert.AreEqual(0, decode.ActualOffset, "wrong offset");
int actualOffset;
bool hasErrors;
Assert.IsTrue(decode.FindOffset(npar, parity, 0, crc, out actualOffset, out hasErrors));
Assert.IsTrue(hasErrors, "doesn't have errors");
Assert.AreEqual(0, actualOffset, "wrong offset");
CDRepairFix fix = decode.VerifyParity(parity, actualOffset);
Assert.IsTrue(fix.HasErrors, "doesn't have errors");
Assert.IsTrue(fix.CanRecover, "cannot recover");
}
/// <summary>
@@ -128,14 +136,16 @@ namespace CUETools.TestParity
public void CDRepairDecodePositiveOffsetTest()
{
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true, false);
Array.Copy(wav, offset * 4, wav3, 0, (finalSampleCount - offset) * 4);
buff.Prepare(wav3, finalSampleCount);
decode.Write(buff);
decode.Close();
decode.VerifyParity(parity);
Assert.IsFalse(decode.HasErrors, "has errors");
Assert.AreEqual(offset, decode.ActualOffset, "wrong offset");
int actualOffset;
bool hasErrors;
Assert.IsTrue(decode.FindOffset(npar, parity, 0, crc, out actualOffset, out hasErrors));
Assert.IsFalse(hasErrors, "has errors");
Assert.AreEqual(offset, actualOffset, "wrong offset");
}
/// <summary>
@@ -145,15 +155,17 @@ namespace CUETools.TestParity
public void CDRepairDecodeNegativeOffsetTest()
{
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true, false);
buff.Prepare(new byte[offset * 4], offset);
decode.Write(buff);
buff.Prepare(wav, finalSampleCount - offset);
decode.Write(buff);
decode.Close();
decode.VerifyParity(parity);
Assert.IsFalse(decode.HasErrors, "has errors");
Assert.AreEqual(-offset, decode.ActualOffset, "wrong offset");
int actualOffset;
bool hasErrors;
Assert.IsTrue(decode.FindOffset(npar, parity, 0, crc, out actualOffset, out hasErrors));
Assert.IsFalse(hasErrors, "has errors");
Assert.AreEqual(-offset, actualOffset, "wrong offset");
}
/// <summary>
@@ -163,15 +175,19 @@ namespace CUETools.TestParity
public void CDRepairDecodePositiveOffsetErrorsTest()
{
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true, false);
Array.Copy(wav2, offset * 4, wav3, 0, (finalSampleCount - offset) * 4);
buff.Prepare(wav3, finalSampleCount);
decode.Write(buff);
decode.Close();
decode.VerifyParity(parity);
Assert.IsTrue(decode.HasErrors, "doesn't have errors");
Assert.IsTrue(decode.CanRecover, "cannot recover");
Assert.AreEqual(offset, decode.ActualOffset, "wrong offset");
int actualOffset;
bool hasErrors;
Assert.IsTrue(decode.FindOffset(npar, parity, 0, crc, out actualOffset, out hasErrors));
Assert.IsTrue(hasErrors, "doesn't have errors");
Assert.AreEqual(offset, actualOffset, "wrong offset");
CDRepairFix fix = decode.VerifyParity(parity, actualOffset);
Assert.IsTrue(fix.HasErrors, "doesn't have errors");
Assert.IsTrue(fix.CanRecover, "cannot recover");
}
/// <summary>
@@ -181,16 +197,20 @@ namespace CUETools.TestParity
public void CDRepairDecodeNegativeOffsetErrorsTest()
{
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true);
CDRepairEncode decode = new CDRepairEncode(finalSampleCount, stride, npar, true, false);
buff.Prepare(new byte[offset * 4], offset);
decode.Write(buff);
buff.Prepare(wav2, finalSampleCount - offset);
decode.Write(buff);
decode.Close();
decode.VerifyParity(parity);
Assert.IsTrue(decode.HasErrors, "doesn't have errors");
Assert.IsTrue(decode.CanRecover, "cannot recover");
Assert.AreEqual(-offset, decode.ActualOffset, "wrong offset");
int actualOffset;
bool hasErrors;
Assert.IsTrue(decode.FindOffset(npar, parity, 0, crc, out actualOffset, out hasErrors));
Assert.IsTrue(hasErrors, "doesn't have errors");
Assert.AreEqual(-offset, actualOffset, "wrong offset");
CDRepairFix fix = decode.VerifyParity(parity, actualOffset);
Assert.IsTrue(fix.HasErrors, "doesn't have errors");
Assert.IsTrue(fix.CanRecover, "cannot recover");
}
}
}

View File

@@ -90,7 +90,7 @@ namespace CUETools.TestParity
public void CDRepairEncodeWriteTest()
{
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairEncode encode = new CDRepairEncode(finalSampleCount, stride, npar, false);
CDRepairEncode encode = new CDRepairEncode(finalSampleCount, stride, npar, false, true);
buff.Prepare(wav, finalSampleCount);
encode.Write(buff);
encode.Close();

View File

@@ -27,6 +27,8 @@ namespace CUETools.TestParity
static uint crc;
static CDRepairEncode decode;
static CDRepairEncode decode2;
static CDRepairFix fix;
static CDRepairFix fix2;
const int offset = 48;
/// <summary>
@@ -60,26 +62,31 @@ namespace CUETools.TestParity
wav2[(int)(rnd.NextDouble() * (wav2.Length - 1))] = (byte)(rnd.NextDouble() * 255);
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairEncode encode = new CDRepairEncode(finalSampleCount, stride, npar, false);
CDRepairEncode encode = new CDRepairEncode(finalSampleCount, stride, npar, false, true);
buff.Prepare(wav, finalSampleCount);
encode.Write(buff);
encode.Close();
parity = encode.Parity;
crc = encode.CRC;
decode = new CDRepairEncode(finalSampleCount, stride, npar, true);
decode = new CDRepairEncode(finalSampleCount, stride, npar, true, false);
buff.Prepare(wav2, finalSampleCount);
decode.Write(buff);
decode.Close();
decode.VerifyParity(parity);
decode2 = new CDRepairEncode(finalSampleCount, stride, npar, true);
int actualOffset;
bool hasErrors;
decode.FindOffset(npar, parity, 0, crc, out actualOffset, out hasErrors);
fix = decode.VerifyParity(parity, actualOffset);
decode2 = new CDRepairEncode(finalSampleCount, stride, npar, true, false);
buff.Prepare(new byte[offset * 4], offset);
decode2.Write(buff);
buff.Prepare(wav2, finalSampleCount - offset);
decode2.Write(buff);
decode2.Close();
decode2.VerifyParity(parity);
decode2.FindOffset(npar, parity, 0, crc, out actualOffset, out hasErrors);
fix2 = decode2.VerifyParity(parity, actualOffset);
}
//Use ClassCleanup to run code after all tests in a class have run
@@ -108,12 +115,11 @@ namespace CUETools.TestParity
[TestMethod()]
public void CDRepairFixTest()
{
Assert.IsTrue(decode.HasErrors);
Assert.IsTrue(decode.CanRecover);
Assert.AreEqual(0, decode.ActualOffset, "wrong offset");
Assert.IsTrue(fix.HasErrors);
Assert.IsTrue(fix.CanRecover);
Assert.AreEqual(0, fix.ActualOffset, "wrong offset");
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairFix fix = new CDRepairFix(decode);
buff.Prepare(wav2, finalSampleCount);
fix.Write(buff);
fix.Close();
@@ -127,19 +133,18 @@ namespace CUETools.TestParity
[TestMethod()]
public void CDRepairFixWithOffsetTest()
{
Assert.IsTrue(decode2.HasErrors);
Assert.IsTrue(decode2.CanRecover);
Assert.AreEqual(-offset, decode2.ActualOffset, "wrong offset");
Assert.IsTrue(fix2.HasErrors);
Assert.IsTrue(fix2.CanRecover);
Assert.AreEqual(-offset, fix2.ActualOffset, "wrong offset");
AudioBuffer buff = new AudioBuffer(AudioPCMConfig.RedBook, 0);
CDRepairFix fix = new CDRepairFix(decode2);
buff.Prepare(new byte[offset * 4], offset);
fix.Write(buff);
fix2.Write(buff);
buff.Prepare(wav2, finalSampleCount - offset);
fix.Write(buff);
fix.Close();
fix2.Write(buff);
fix2.Close();
Assert.AreEqual<uint>(crc, fix.CRC);
Assert.AreEqual<uint>(crc, fix2.CRC);
}
}
}

View File

@@ -2,7 +2,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{EF351583-A9CD-4530-92C3-20AC02136BC2}</ProjectGuid>
<OutputType>WinExe</OutputType>
@@ -15,6 +15,12 @@
<GenerateManifests>false</GenerateManifests>
<SignManifests>true</SignManifests>
<IsWebBootstrapper>true</IsWebBootstrapper>
<TargetZone>LocalIntranet</TargetZone>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>2.0</OldToolsVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<PublishUrl>ftp://cuetools.net/cuetools.net/install/cuetools/</PublishUrl>
<Install>true</Install>
<InstallFrom>Web</InstallFrom>
@@ -31,21 +37,16 @@
<PublisherName>CUETools</PublisherName>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<ApplicationVersion>2.0.3.%2a</ApplicationVersion>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetZone>LocalIntranet</TargetZone>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>2.0</OldToolsVersion>
<ApplicationRevision>7</ApplicationRevision>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<ApplicationVersion>2.0.3.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<OutputPath>..\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
@@ -227,6 +228,10 @@
<Project>{14EE067E-C218-4625-9540-2361AB27C4A6}</Project>
<Name>CUETools.Compression</Name>
</ProjectReference>
<ProjectReference Include="..\CUETools.CTDB\CUETools.CTDB.csproj">
<Project>{AA2A9A7E-45FB-4632-AD85-85B0E556F818}</Project>
<Name>CUETools.CTDB</Name>
</ProjectReference>
<ProjectReference Include="..\CUETools.Processor\CUETools.Processor.csproj">
<Project>{4911BD82-49EF-4858-8B51-5394F86739A4}</Project>
<Name>CUETools.Processor</Name>
@@ -264,6 +269,8 @@
<None Include="Resources\link_go.png" />
<None Include="Resources\basket.png" />
<None Include="Resources\delete.png" />
<None Include="Resources\cdrepair.ico" />
<None Include="Resources\cdrepair.png" />
<Content Include="unrar.dll">
</Content>
<Content Include="Resources\accuraterip_16.bmp" />
@@ -301,11 +308,31 @@
</Content>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
<Visible>False</Visible>
<ProductName>.NET Framework 2.0</ProductName>
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
<Visible>False</Visible>
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Visual.C++.8.0.x86">
<Visible>False</Visible>
<ProductName>Visual C++ Runtime Libraries %28x86%29</ProductName>
@@ -320,6 +347,7 @@
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Satellite</FileType>
</PublishFile>
<PublishFile Include="ru-RU\CUETools.resources">
@@ -329,6 +357,7 @@
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Satellite</FileType>
</PublishFile>
</ItemGroup>

View File

@@ -143,6 +143,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.Compression.Zip",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.Ripper", "..\CUETools.Ripper\CUETools.Ripper.csproj", "{D2700165-3E77-4B28-928D-551F5FC11954}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestRipper", "TestRipper\TestRipper.csproj", "{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.Parity", "..\CUETools.Parity\CUETools.Parity.csproj", "{ECEB839C-171B-4535-958F-9899310A0342}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.TestParity", "CUETools.TestParity\CUETools.TestParity.csproj", "{6C74652F-1EF4-459E-84F4-99D93D3D17DA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.CDRepair", "..\CUETools.CDRepair\CUETools.CDRepair.csproj", "{C4869B37-EBB1-47BB-9406-B1209BEAB84B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.CTDB", "..\CUETools.CTDB\CUETools.CTDB.csproj", "{AA2A9A7E-45FB-4632-AD85-85B0E556F818}"
EndProject
Global
GlobalSection(TestCaseManagementSettings) = postSolution
CategoryFile = CUETools1.vsmdi
@@ -510,6 +520,46 @@ Global
{D2700165-3E77-4B28-928D-551F5FC11954}.Release|Any CPU.Build.0 = Release|Any CPU
{D2700165-3E77-4B28-928D-551F5FC11954}.Release|Win32.ActiveCfg = Release|Any CPU
{D2700165-3E77-4B28-928D-551F5FC11954}.Release|x64.ActiveCfg = Release|Any CPU
{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}.Debug|Win32.ActiveCfg = Debug|Any CPU
{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}.Debug|x64.ActiveCfg = Debug|Any CPU
{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}.Release|Any CPU.Build.0 = Release|Any CPU
{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}.Release|Win32.ActiveCfg = Release|Any CPU
{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}.Release|x64.ActiveCfg = Release|Any CPU
{ECEB839C-171B-4535-958F-9899310A0342}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ECEB839C-171B-4535-958F-9899310A0342}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ECEB839C-171B-4535-958F-9899310A0342}.Debug|Win32.ActiveCfg = Debug|Any CPU
{ECEB839C-171B-4535-958F-9899310A0342}.Debug|x64.ActiveCfg = Debug|Any CPU
{ECEB839C-171B-4535-958F-9899310A0342}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ECEB839C-171B-4535-958F-9899310A0342}.Release|Any CPU.Build.0 = Release|Any CPU
{ECEB839C-171B-4535-958F-9899310A0342}.Release|Win32.ActiveCfg = Release|Any CPU
{ECEB839C-171B-4535-958F-9899310A0342}.Release|x64.ActiveCfg = Release|Any CPU
{6C74652F-1EF4-459E-84F4-99D93D3D17DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6C74652F-1EF4-459E-84F4-99D93D3D17DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6C74652F-1EF4-459E-84F4-99D93D3D17DA}.Debug|Win32.ActiveCfg = Debug|Any CPU
{6C74652F-1EF4-459E-84F4-99D93D3D17DA}.Debug|x64.ActiveCfg = Debug|Any CPU
{6C74652F-1EF4-459E-84F4-99D93D3D17DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6C74652F-1EF4-459E-84F4-99D93D3D17DA}.Release|Any CPU.Build.0 = Release|Any CPU
{6C74652F-1EF4-459E-84F4-99D93D3D17DA}.Release|Win32.ActiveCfg = Release|Any CPU
{6C74652F-1EF4-459E-84F4-99D93D3D17DA}.Release|x64.ActiveCfg = Release|Any CPU
{C4869B37-EBB1-47BB-9406-B1209BEAB84B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4869B37-EBB1-47BB-9406-B1209BEAB84B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4869B37-EBB1-47BB-9406-B1209BEAB84B}.Debug|Win32.ActiveCfg = Debug|Any CPU
{C4869B37-EBB1-47BB-9406-B1209BEAB84B}.Debug|x64.ActiveCfg = Debug|Any CPU
{C4869B37-EBB1-47BB-9406-B1209BEAB84B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4869B37-EBB1-47BB-9406-B1209BEAB84B}.Release|Any CPU.Build.0 = Release|Any CPU
{C4869B37-EBB1-47BB-9406-B1209BEAB84B}.Release|Win32.ActiveCfg = Release|Any CPU
{C4869B37-EBB1-47BB-9406-B1209BEAB84B}.Release|x64.ActiveCfg = Release|Any CPU
{AA2A9A7E-45FB-4632-AD85-85B0E556F818}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AA2A9A7E-45FB-4632-AD85-85B0E556F818}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA2A9A7E-45FB-4632-AD85-85B0E556F818}.Debug|Win32.ActiveCfg = Debug|Any CPU
{AA2A9A7E-45FB-4632-AD85-85B0E556F818}.Debug|x64.ActiveCfg = Debug|Any CPU
{AA2A9A7E-45FB-4632-AD85-85B0E556F818}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AA2A9A7E-45FB-4632-AD85-85B0E556F818}.Release|Any CPU.Build.0 = Release|Any CPU
{AA2A9A7E-45FB-4632-AD85-85B0E556F818}.Release|Win32.ActiveCfg = Release|Any CPU
{AA2A9A7E-45FB-4632-AD85-85B0E556F818}.Release|x64.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -546,6 +596,8 @@ Global
{DDE1EA77-637C-4D5F-96F3-1328BC45CE80} = {93B7AE1D-DEF6-4A04-A222-5CDE09DF262D}
{04945FB2-8410-4F14-8262-2ED18DCDACD6} = {D9D97BB6-002F-4858-8EF2-49B4C4C4DDB4}
{A430AD28-B76A-4ED0-AF7D-D13B8969297F} = {D9D97BB6-002F-4858-8EF2-49B4C4C4DDB4}
{5C8B61C0-BC3D-4316-B8A7-419D55BB5796} = {D9D97BB6-002F-4858-8EF2-49B4C4C4DDB4}
{6C74652F-1EF4-459E-84F4-99D93D3D17DA} = {D9D97BB6-002F-4858-8EF2-49B4C4C4DDB4}
{B75FA7AD-968E-4990-B342-1B4B17C850DF} = {B36BE134-D85A-437E-AB61-2DA1CCDE06C1}
{F2DFEB00-BB35-4665-85EA-CB8C7729A6B7} = {B36BE134-D85A-437E-AB61-2DA1CCDE06C1}
{A05B6AA6-0EC3-495D-BCC4-ECE1210071A8} = {B36BE134-D85A-437E-AB61-2DA1CCDE06C1}

View File

@@ -88,6 +88,20 @@ namespace JDP.Properties {
}
}
internal static System.Drawing.Icon cdrepair {
get {
object obj = ResourceManager.GetObject("cdrepair", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
internal static System.Drawing.Bitmap cdrepair1 {
get {
object obj = ResourceManager.GetObject("cdrepair1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap cog {
get {
object obj = ResourceManager.GetObject("cog", resourceCulture);

View File

@@ -238,4 +238,10 @@
<data name="delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cdrepair" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cdrepair.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cdrepair1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cdrepair.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

View File

@@ -0,0 +1,152 @@
using System;
using System.Text;
using System.Collections.Generic;
using CUETools.Codecs;
using CUETools.Ripper;
using CUETools.Ripper.SCSI;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace TestRipper
{
/// <summary>
///This is a test class for CDDriveReaderTest and is intended
///to contain all CDDriveReaderTest Unit Tests
///</summary>
[TestClass()]
public class CDDriveReaderTest
{
private TestContext testContextInstance;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
const int pass = 16;
const int Sectors2Read = 10000;
const int bit_weight = 3;
const int c2_weight = 1;
bool markErrors = true;
int _currentStart = 0, _realErrors = 0;
byte[] _currentData = new byte[Sectors2Read * 4 * 588];
static long[,] UserData = new long[Sectors2Read, 4 * 588];
static long[,] C2Data = new long[Sectors2Read, 4 * 588 / 8];
static byte[] _realData = new byte[Sectors2Read * 4 * 588];
static long[] byte2long = new long[256];
#region Additional test attributes
//
//You can use the following additional attributes as you write your tests:
//
//Use ClassInitialize to run code before running the first test in the class
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
for (long i = 0; i < 256; i++)
{
long bl = 0;
for (int b = 0; b < 8; b++)
bl += ((i >> b) & 1) << (b << 3);
byte2long[i] = bl;
}
Random rnd = new Random(2314);
rnd.NextBytes(_realData);
for (int p = 0; p <= pass; p++)
for (int iSector = 0; iSector < Sectors2Read; iSector++)
for (int iPar = 0; iPar < 4 * 588; iPar++)
{
bool error = rnd.NextDouble() < 0.2;
byte val = error ? (byte)rnd.Next(255) : _realData[iSector * 4 * 588 + iPar];
UserData[iSector, iPar] += byte2long[val] * bit_weight;
if (error && rnd.NextDouble() < 0.5)
{
C2Data[iSector, iPar >> 3] += (iPar & 7) * 8;
UserData[iSector, iPar] += 0x0101010101010101 * (bit_weight / 2) + byte2long[val] * (c2_weight - bit_weight);
}
}
}
//
//Use ClassCleanup to run code after all tests in a class have run
//[ClassCleanup()]
//public static void MyClassCleanup()
//{
//}
//
//Use TestInitialize to run code before running each test
[TestInitialize()]
public void MyTestInitialize()
{
}
//
//Use TestCleanup to run code after each test has run
//[TestCleanup()]
//public void MyTestCleanup()
//{
//}
//
#endregion
/// <summary>
///A test for CorrectSectors
///</summary>
[TestMethod()]
[DeploymentItem("CUETools.Ripper.SCSI.dll")]
public void CorrectSectorsTest()
{
int _currentErrorsCount = 0;
int sector = 0;
for (int iSector = 0; iSector < Sectors2Read; iSector++)
{
int pos = sector - _currentStart + iSector;
int avg = (pass + 1) * bit_weight / 2;
int c2_limit = pass / 3; //
int er_limit = avg - pass; // allow 33% minority
for (int iPar = 0; iPar < 4 * 588; iPar++)
{
long val = UserData[pos, iPar];
byte c2 = (byte)(C2Data[pos, iPar >> 3] >> ((iPar & 7) * 8));
int bestValue = 0;
for (int i = 0; i < 8; i++)
{
int sum = avg - ((int)(val & 0xff));
int sig = sum >> 31; // bit value
if ((sum ^ sig) < er_limit) _currentErrorsCount++;
bestValue += sig & (1 << i);
val >>= 8;
}
//if (c2 > c2_limit)
//_currentErrorsCount++;
_currentData[pos * 4 * 588 + iPar] = (byte)bestValue;
}
}
for (int p = 0; p <= pass; p++)
for (int iSector = 0; iSector < Sectors2Read; iSector++)
for (int iPar = 0; iPar < 4 * 588; iPar++)
if (_realData[iSector * 4 * 588 + iPar] != _currentData[iSector * 4 * 588 + iPar])
_realErrors++;
Assert.AreEqual<int>(0, _realErrors, "0 != _realErrors; _currentErrorsCount == " + _currentErrorsCount.ToString());
//CollectionAssert.AreEqual(_realData, _currentData, "_realData != _currentData");
Assert.AreEqual<int>(0, _currentErrorsCount, "_currentErrorsCount != 0");
}
}
}

View File

@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("TestRipper")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("TestRipper")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM componenets. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("18afe9af-ef9e-48f4-87cf-76b1ba9f295d")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,85 @@
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{5C8B61C0-BC3D-4316-B8A7-419D55BB5796}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TestRipper</RootNamespace>
<AssemblyName>TestRipper</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TargetFrameworkSubset>
</TargetFrameworkSubset>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CDDriveReaderTest.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Bwg.Logging\Bwg.Logging.csproj">
<Project>{F2DFEB00-BB35-4665-85EA-CB8C7729A6B7}</Project>
<Name>Bwg.Logging</Name>
</ProjectReference>
<ProjectReference Include="..\..\Bwg.Scsi\Bwg.Scsi.csproj">
<Project>{A05B6AA6-0EC3-495D-BCC4-ECE1210071A8}</Project>
<Name>Bwg.Scsi</Name>
</ProjectReference>
<ProjectReference Include="..\..\CUETools.CDImage\CUETools.CDImage.csproj">
<Project>{1DD41038-D885-46C5-8DDE-E0B82F066584}</Project>
<Name>CUETools.CDImage</Name>
</ProjectReference>
<ProjectReference Include="..\..\CUETools.Codecs\CUETools.Codecs.csproj">
<Project>{6458A13A-30EF-45A9-9D58-E5031B17BEE2}</Project>
<Name>CUETools.Codecs</Name>
</ProjectReference>
<ProjectReference Include="..\..\CUETools.Ripper.SCSI\CUETools.Ripper.SCSI.csproj">
<Project>{8CF07381-BEA2-4AFC-B3DD-9B2F21C65A3A}</Project>
<Name>CUETools.Ripper.SCSI</Name>
</ProjectReference>
<ProjectReference Include="..\..\CUETools.Ripper\CUETools.Ripper.csproj">
<Project>{D2700165-3E77-4B28-928D-551F5FC11954}</Project>
<Name>CUETools.Ripper</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="Test References\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>

View File

@@ -28,8 +28,9 @@ namespace JDP {
this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabelAR = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabelProcessed = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabelCTDB = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabelAR = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar();
this.toolStripProgressBar2 = new System.Windows.Forms.ToolStripProgressBar();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
@@ -51,6 +52,8 @@ namespace JDP {
this.toolStripMenuItemCorrectorModeLocateFiles = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemCorrectorModeChangeExtension = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripDropDownButtonCorrectorFormat = new System.Windows.Forms.ToolStripDropDownButton();
this.tableLayoutPanelVerifyMode = new System.Windows.Forms.TableLayoutPanel();
this.checkBoxVerifyUseCDRepair = new System.Windows.Forms.CheckBox();
this.grpAudioOutput = new System.Windows.Forms.GroupBox();
this.labelEncoderMaxMode = new System.Windows.Forms.Label();
this.labelEncoderMinMode = new System.Windows.Forms.Label();
@@ -130,6 +133,7 @@ namespace JDP {
this.groupBoxMode.SuspendLayout();
this.tableLayoutPanelCUEStyle.SuspendLayout();
this.toolStripCorrectorFormat.SuspendLayout();
this.tableLayoutPanelVerifyMode.SuspendLayout();
this.grpAudioOutput.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBarEncoderMode)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxMotd)).BeginInit();
@@ -177,8 +181,9 @@ namespace JDP {
resources.ApplyResources(this.statusStrip1, "statusStrip1");
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripStatusLabel1,
this.toolStripStatusLabelAR,
this.toolStripStatusLabelProcessed,
this.toolStripStatusLabelCTDB,
this.toolStripStatusLabelAR,
this.toolStripProgressBar1,
this.toolStripProgressBar2});
this.statusStrip1.Name = "statusStrip1";
@@ -190,13 +195,6 @@ namespace JDP {
resources.ApplyResources(this.toolStripStatusLabel1, "toolStripStatusLabel1");
this.toolStripStatusLabel1.Spring = true;
//
// toolStripStatusLabelAR
//
resources.ApplyResources(this.toolStripStatusLabelAR, "toolStripStatusLabelAR");
this.toolStripStatusLabelAR.Image = global::JDP.Properties.Resources.AR;
this.toolStripStatusLabelAR.Name = "toolStripStatusLabelAR";
this.toolStripStatusLabelAR.Padding = new System.Windows.Forms.Padding(0, 0, 5, 0);
//
// toolStripStatusLabelProcessed
//
this.toolStripStatusLabelProcessed.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
@@ -206,6 +204,27 @@ namespace JDP {
this.toolStripStatusLabelProcessed.Name = "toolStripStatusLabelProcessed";
resources.ApplyResources(this.toolStripStatusLabelProcessed, "toolStripStatusLabelProcessed");
//
// toolStripStatusLabelCTDB
//
this.toolStripStatusLabelCTDB.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
| System.Windows.Forms.ToolStripStatusLabelBorderSides.Right)
| System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
this.toolStripStatusLabelCTDB.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter;
resources.ApplyResources(this.toolStripStatusLabelCTDB, "toolStripStatusLabelCTDB");
this.toolStripStatusLabelCTDB.Image = global::JDP.Properties.Resources.cdrepair1;
this.toolStripStatusLabelCTDB.Name = "toolStripStatusLabelCTDB";
//
// toolStripStatusLabelAR
//
this.toolStripStatusLabelAR.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
| System.Windows.Forms.ToolStripStatusLabelBorderSides.Right)
| System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
this.toolStripStatusLabelAR.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter;
resources.ApplyResources(this.toolStripStatusLabelAR, "toolStripStatusLabelAR");
this.toolStripStatusLabelAR.Image = global::JDP.Properties.Resources.AR;
this.toolStripStatusLabelAR.Name = "toolStripStatusLabelAR";
this.toolStripStatusLabelAR.Padding = new System.Windows.Forms.Padding(0, 0, 5, 0);
//
// toolStripProgressBar1
//
this.toolStripProgressBar1.AutoToolTip = true;
@@ -287,6 +306,7 @@ namespace JDP {
//
this.groupBoxMode.Controls.Add(this.tableLayoutPanelCUEStyle);
this.groupBoxMode.Controls.Add(this.toolStripCorrectorFormat);
this.groupBoxMode.Controls.Add(this.tableLayoutPanelVerifyMode);
resources.ApplyResources(this.groupBoxMode, "groupBoxMode");
this.groupBoxMode.Name = "groupBoxMode";
this.groupBoxMode.TabStop = false;
@@ -409,6 +429,20 @@ namespace JDP {
this.toolStripDropDownButtonCorrectorFormat.Name = "toolStripDropDownButtonCorrectorFormat";
this.toolStripDropDownButtonCorrectorFormat.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.toolStripDropDownButtonCorrectorFormat_DropDownItemClicked);
//
// tableLayoutPanelVerifyMode
//
resources.ApplyResources(this.tableLayoutPanelVerifyMode, "tableLayoutPanelVerifyMode");
this.tableLayoutPanelVerifyMode.Controls.Add(this.checkBoxVerifyUseCDRepair, 0, 0);
this.tableLayoutPanelVerifyMode.Name = "tableLayoutPanelVerifyMode";
this.toolTip1.SetToolTip(this.tableLayoutPanelVerifyMode, resources.GetString("tableLayoutPanelVerifyMode.ToolTip"));
//
// checkBoxVerifyUseCDRepair
//
resources.ApplyResources(this.checkBoxVerifyUseCDRepair, "checkBoxVerifyUseCDRepair");
this.checkBoxVerifyUseCDRepair.Image = global::JDP.Properties.Resources.cdrepair1;
this.checkBoxVerifyUseCDRepair.Name = "checkBoxVerifyUseCDRepair";
this.checkBoxVerifyUseCDRepair.UseVisualStyleBackColor = true;
//
// grpAudioOutput
//
this.grpAudioOutput.Controls.Add(this.labelEncoderMaxMode);
@@ -997,6 +1031,8 @@ namespace JDP {
this.tableLayoutPanelCUEStyle.PerformLayout();
this.toolStripCorrectorFormat.ResumeLayout(false);
this.toolStripCorrectorFormat.PerformLayout();
this.tableLayoutPanelVerifyMode.ResumeLayout(false);
this.tableLayoutPanelVerifyMode.PerformLayout();
this.grpAudioOutput.ResumeLayout(false);
this.grpAudioOutput.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBarEncoderMode)).EndInit();
@@ -1118,6 +1154,9 @@ namespace JDP {
private System.Windows.Forms.CheckBox checkBoxUseMusicBrainz;
private System.Windows.Forms.CheckBox checkBoxUseAccurateRip;
private System.Windows.Forms.CheckBox checkBoxUseFreeDb;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanelVerifyMode;
private System.Windows.Forms.CheckBox checkBoxVerifyUseCDRepair;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelCTDB;
}
}

View File

@@ -479,6 +479,7 @@ namespace JDP {
string status = null;
bool outputAudio = action == CUEAction.Encode && audioEncoderType != AudioEncoderType.NoAudio;
bool useAR = action == CUEAction.Verify || (outputAudio && checkBoxUseAccurateRip.Checked);
bool useCUEToolsDB = action == CUEAction.Verify && checkBoxVerifyUseCDRepair.Checked;
try
{
@@ -704,7 +705,7 @@ namespace JDP {
}
else
{
if (Directory.Exists(pathIn))
if (Directory.Exists(pathIn) && !IsCDROM(pathIn))
{
if (_batchPaths.Count == 0)
throw new Exception("is a directory");
@@ -742,6 +743,10 @@ namespace JDP {
cueSheet.DataTrackLengthMSF = txtDataTrackLength.Text;
cueSheet.UseAccurateRip();
}
if (useCUEToolsDB)
{
cueSheet.UseCUEToolsDB();
}
if (_batchPaths.Count == 0 && action == CUEAction.Encode)
{
@@ -751,9 +756,16 @@ namespace JDP {
this.Invoke((MethodInvoker)delegate()
{
toolStripStatusLabelAR.Visible = useAR;// && cueSheet.ArVerify.ARStatus == null;
toolStripStatusLabelAR.Text = cueSheet.ArVerify.ARStatus == null ? cueSheet.ArVerify.WorstTotal().ToString() : "?";
toolStripStatusLabelAR.Enabled = cueSheet.ArVerify.ARStatus == null;
toolStripStatusLabelAR.Visible = useAR;
toolStripStatusLabelAR.Text = cueSheet.ArVerify.ARStatus == null ? cueSheet.ArVerify.WorstTotal().ToString() : "";
toolStripStatusLabelAR.ToolTipText = "AccurateRip: " + (cueSheet.ArVerify.ARStatus ?? "found") + ".";
toolStripStatusLabelCTDB.Enabled = cueSheet.CTDB.DBStatus == null;
toolStripStatusLabelCTDB.Visible = useCUEToolsDB;
toolStripStatusLabelCTDB.Text = cueSheet.CTDB.DBStatus == null ? cueSheet.CTDB.Total.ToString() : "";
toolStripStatusLabelCTDB.ToolTipText = "CUETools DB: " + (cueSheet.CTDB.DBStatus ?? "found") + ".";
if (releases != null)
{
frmChoice dlg = new frmChoice();
@@ -808,7 +820,34 @@ namespace JDP {
else
status = cueSheet.ExecuteScript(script);
//if (_batchPaths.Count > 0)
//if (useCUEToolsDB)
//{
// if (cueSheet.CTDB.AccResult == HttpStatusCode.NotFound &&
// cueSheet.ArVerify.ARStatus == null &&
// cueSheet.ArVerify.WorstConfidence() > 2
// )
// {
// this.Invoke((MethodInvoker)delegate()
// {
// dlgRes = MessageBox.Show(this, "Disc is not present in CUETools Database, " +
// "do you want to submit it?", "Overwrite?", (_batchPaths.Count == 0) ?
// MessageBoxButtons.YesNo : MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
// if (dlgRes == DialogResult.Cancel)
// SetupControls(false);
// });
// if (dlgRes == DialogResult.Cancel)
// {
// cueSheet.Close();
// return;
// }
// if (dlgRes == DialogResult.Yes)
// {
// cueSheet.CTDB.Submit((int)cueSheet.ArVerify.WorstConfidence(), (int)cueSheet.ArVerify.WorstTotal());
// }
// }
//}
if (_batchPaths.Count > 0)
{
_batchProcessed++;
BatchLog("{0}.", pathIn, status);
@@ -836,7 +875,7 @@ namespace JDP {
//reportForm.Message = _batchReport.ToString();
//reportForm.ShowDialog(this);
}
else if (useAR)
else if (useAR && cueSheet.Processed)
{
using (StringWriter sw = new StringWriter())
{
@@ -856,7 +895,7 @@ namespace JDP {
//reportForm.ShowDialog(this);
}
else
ShowFinishedMessage(cueSheet.PaddedToFrame);
ShowFinishedMessage(cueSheet.PaddedToFrame, status);
SetupControls(false);
}
});
@@ -963,6 +1002,7 @@ namespace JDP {
groupBoxMode.Enabled = !running;
toolStripCorrectorFormat.Visible = SelectedAction == CUEAction.CorrectFilenames;
tableLayoutPanelCUEStyle.Visible = converting;
tableLayoutPanelVerifyMode.Visible = SelectedAction == CUEAction.Verify;
grpOutputPathGeneration.Enabled = !running;
grpAudioOutput.Enabled = !running && converting;
grpAction.Enabled = !running;
@@ -980,6 +1020,7 @@ namespace JDP {
toolStripProgressBar1.Value = 0;
toolStripProgressBar2.Value = 0;
toolStripStatusLabelAR.Visible = false;
toolStripStatusLabelCTDB.Visible = false;
if (ReportState)
{
if (_batchReport != null)
@@ -1018,7 +1059,7 @@ namespace JDP {
return (dlgRes == DialogResult.OK);
}
private void ShowFinishedMessage(bool warnAboutPadding) {
private void ShowFinishedMessage(bool warnAboutPadding, string status) {
if (_batchPaths.Count != 0) {
return;
}
@@ -1028,7 +1069,7 @@ namespace JDP {
"files are from a CD source, this may indicate a problem with your files.",
"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
MessageBox.Show(this, "Conversion was successful!", "Done", MessageBoxButtons.OK,
MessageBox.Show(this, status, "Done", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
@@ -1063,6 +1104,7 @@ namespace JDP {
checkBoxUseFreeDb.Checked = _profile._useFreeDb;
checkBoxUseMusicBrainz.Checked = _profile._useMusicBrainz;
checkBoxUseAccurateRip.Checked = _profile._useAccurateRip;
checkBoxVerifyUseCDRepair.Checked = _profile._useCUEToolsDB;
}
private void ActivateProfile(string profileName)
@@ -1106,6 +1148,7 @@ namespace JDP {
_profile._useFreeDb = checkBoxUseFreeDb.Checked;
_profile._useMusicBrainz = checkBoxUseMusicBrainz.Checked;
_profile._useAccurateRip = checkBoxUseAccurateRip.Checked;
_profile._useCUEToolsDB = checkBoxVerifyUseCDRepair.Checked;
if (_profile != _defaultProfile)
{

View File

@@ -126,26 +126,11 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="toolStripStatusLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>404, 21</value>
<value>381, 21</value>
</data>
<data name="toolStripStatusLabel1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="toolStripStatusLabelAR.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 8.25pt</value>
</data>
<data name="toolStripStatusLabelAR.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>White</value>
</data>
<data name="toolStripStatusLabelAR.Size" type="System.Drawing.Size, System.Drawing">
<value>21, 21</value>
</data>
<data name="toolStripStatusLabelAR.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
<value>Overlay</value>
</data>
<data name="toolStripStatusLabelAR.ToolTipText" xml:space="preserve">
<value>Album found in AccurateRip database.</value>
</data>
<data name="toolStripStatusLabelProcessed.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 21</value>
</data>
@@ -156,6 +141,33 @@
<data name="toolStripStatusLabelProcessed.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="toolStripStatusLabelCTDB.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="toolStripStatusLabelCTDB.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 21</value>
</data>
<data name="toolStripStatusLabelCTDB.Text" xml:space="preserve">
<value>77</value>
</data>
<data name="toolStripStatusLabelCTDB.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="toolStripStatusLabelAR.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="toolStripStatusLabelAR.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>White</value>
</data>
<data name="toolStripStatusLabelAR.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 21</value>
</data>
<data name="toolStripStatusLabelAR.Text" xml:space="preserve">
<value>55</value>
</data>
<data name="toolStripStatusLabelAR.ToolTipText" xml:space="preserve">
<value>Album found in AccurateRip database.</value>
</data>
<data name="toolStripProgressBar1.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 20</value>
</data>
@@ -265,7 +277,7 @@
<value>fileSystemTreeView1</value>
</data>
<data name="&gt;&gt;fileSystemTreeView1.Type" xml:space="preserve">
<value>CUEControls.FileSystemTreeView, CUEControls, Version=1.0.3510.22143, Culture=neutral, PublicKeyToken=null</value>
<value>CUEControls.FileSystemTreeView, CUEControls, Version=2.0.5.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;fileSystemTreeView1.Parent" xml:space="preserve">
<value>grpInput</value>
@@ -319,13 +331,13 @@
<value>NoControl</value>
</data>
<data name="checkBoxUseAccurateRip.Location" type="System.Drawing.Point, System.Drawing">
<value>95, 80</value>
<value>95, 84</value>
</data>
<data name="checkBoxUseAccurateRip.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="checkBoxUseAccurateRip.Size" type="System.Drawing.Size, System.Drawing">
<value>49, 30</value>
<value>49, 26</value>
</data>
<data name="checkBoxUseAccurateRip.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@@ -358,13 +370,13 @@
<value>NoControl</value>
</data>
<data name="checkBoxUseFreeDb.Location" type="System.Drawing.Point, System.Drawing">
<value>47, 80</value>
<value>47, 84</value>
</data>
<data name="checkBoxUseFreeDb.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="checkBoxUseFreeDb.Size" type="System.Drawing.Size, System.Drawing">
<value>48, 30</value>
<value>48, 26</value>
</data>
<data name="checkBoxUseFreeDb.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@@ -394,13 +406,13 @@
<value>NoControl</value>
</data>
<data name="rbTracks.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 36</value>
<value>3, 40</value>
</data>
<data name="rbTracks.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 0, 3, 0</value>
</data>
<data name="rbTracks.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 18</value>
<value>138, 20</value>
</data>
<data name="rbTracks.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -439,7 +451,7 @@
<value>3, 0, 3, 0</value>
</data>
<data name="rbEmbedCUE.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 18</value>
<value>138, 20</value>
</data>
<data name="rbEmbedCUE.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -472,13 +484,13 @@
<value>NoControl</value>
</data>
<data name="rbSingleFile.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 18</value>
<value>3, 20</value>
</data>
<data name="rbSingleFile.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 0, 3, 0</value>
</data>
<data name="rbSingleFile.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 18</value>
<value>138, 20</value>
</data>
<data name="rbSingleFile.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -507,14 +519,17 @@
<data name="checkBoxUseMusicBrainz.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="checkBoxUseMusicBrainz.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="checkBoxUseMusicBrainz.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 80</value>
<value>0, 84</value>
</data>
<data name="checkBoxUseMusicBrainz.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="checkBoxUseMusicBrainz.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 30</value>
<value>47, 26</value>
</data>
<data name="checkBoxUseMusicBrainz.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@@ -565,7 +580,7 @@
<value>0</value>
</data>
<data name="tableLayoutPanelCUEStyle.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="checkBoxUseAccurateRip" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="checkBoxUseFreeDb" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="rbTracks" Row="2" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="rbEmbedCUE" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="rbSingleFile" Row="1" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="checkBoxUseMusicBrainz" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,33,33333,Percent,33,33334,Percent,33,33334" /&gt;&lt;Rows Styles="Percent,16,41941,Percent,16,41942,Percent,16,42196,Percent,24,54545,Percent,26,36364" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="checkBoxUseAccurateRip" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="checkBoxUseFreeDb" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="rbTracks" Row="2" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="rbEmbedCUE" Row="0" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="rbSingleFile" Row="1" RowSpan="1" Column="0" ColumnSpan="3" /&gt;&lt;Control Name="checkBoxUseMusicBrainz" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,33,33332,Percent,33,33334,Percent,33,33334" /&gt;&lt;Rows Styles="Percent,18,18229,Percent,18,18229,Percent,18,18229,Percent,22,72658,Percent,22,72658" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<metadata name="toolStripCorrectorFormat.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>3, 17</value>
@@ -645,6 +660,69 @@
<data name="&gt;&gt;toolStripCorrectorFormat.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tableLayoutPanelVerifyMode.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="checkBoxVerifyUseCDRepair.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBoxVerifyUseCDRepair.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="checkBoxVerifyUseCDRepair.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="checkBoxVerifyUseCDRepair.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 29</value>
</data>
<data name="checkBoxVerifyUseCDRepair.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;checkBoxVerifyUseCDRepair.Name" xml:space="preserve">
<value>checkBoxVerifyUseCDRepair</value>
</data>
<data name="&gt;&gt;checkBoxVerifyUseCDRepair.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBoxVerifyUseCDRepair.Parent" xml:space="preserve">
<value>tableLayoutPanelVerifyMode</value>
</data>
<data name="&gt;&gt;checkBoxVerifyUseCDRepair.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanelVerifyMode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanelVerifyMode.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 17</value>
</data>
<data name="tableLayoutPanelVerifyMode.RowCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="tableLayoutPanelVerifyMode.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 110</value>
</data>
<data name="tableLayoutPanelVerifyMode.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="tableLayoutPanelVerifyMode.ToolTip" xml:space="preserve">
<value>Use CUETools database</value>
</data>
<data name="&gt;&gt;tableLayoutPanelVerifyMode.Name" xml:space="preserve">
<value>tableLayoutPanelVerifyMode</value>
</data>
<data name="&gt;&gt;tableLayoutPanelVerifyMode.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanelVerifyMode.Parent" xml:space="preserve">
<value>groupBoxMode</value>
</data>
<data name="&gt;&gt;tableLayoutPanelVerifyMode.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="tableLayoutPanelVerifyMode.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="checkBoxVerifyUseCDRepair" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,36,11111,Percent,63,88889" /&gt;&lt;Rows Styles="Percent,32,72727,Percent,67,27273" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="groupBoxMode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@@ -2729,7 +2807,7 @@
<value>700, 538</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>CUETools 2.0.4a</value>
<value>CUETools 2.0.5</value>
</data>
<data name="&gt;&gt;toolStripStatusLabel1.Name" xml:space="preserve">
<value>toolStripStatusLabel1</value>
@@ -2737,18 +2815,24 @@
<data name="&gt;&gt;toolStripStatusLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelAR.Name" xml:space="preserve">
<value>toolStripStatusLabelAR</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelAR.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelProcessed.Name" xml:space="preserve">
<value>toolStripStatusLabelProcessed</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelProcessed.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelCTDB.Name" xml:space="preserve">
<value>toolStripStatusLabelCTDB</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelCTDB.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelAR.Name" xml:space="preserve">
<value>toolStripStatusLabelAR</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelAR.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripProgressBar1.Name" xml:space="preserve">
<value>toolStripProgressBar1</value>
</data>

View File

@@ -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.checkBoxSeparateDecodingThread = new System.Windows.Forms.CheckBox();
this.checkBoxCheckForUpdates = new System.Windows.Forms.CheckBox();
this.chkAllowMultipleInstances = new System.Windows.Forms.CheckBox();
this.chkReducePriority = new System.Windows.Forms.CheckBox();
@@ -127,6 +128,7 @@ namespace JDP {
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
this.tabPage10 = new System.Windows.Forms.TabPage();
this.groupBoxFlaCudaOptions = new System.Windows.Forms.GroupBox();
this.checkBoxFlaCudaMultithread = new System.Windows.Forms.CheckBox();
this.checkBoxFlaCudaGPUOnly = new System.Windows.Forms.CheckBox();
this.checkBoxFlaCudaVerify = new System.Windows.Forms.CheckBox();
this.groupBoxExternalEncoder = new System.Windows.Forms.GroupBox();
@@ -174,7 +176,7 @@ namespace JDP {
this.labelFormatEncoder = new System.Windows.Forms.Label();
this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.checkBoxFlaCudaMultithread = new System.Windows.Forms.CheckBox();
this.checkBoxUseSystemProxy = new System.Windows.Forms.CheckBox();
btnCancel = new System.Windows.Forms.Button();
this.grpGeneral.SuspendLayout();
this.groupBox1.SuspendLayout();
@@ -227,6 +229,8 @@ namespace JDP {
//
// grpGeneral
//
this.grpGeneral.Controls.Add(this.checkBoxUseSystemProxy);
this.grpGeneral.Controls.Add(this.checkBoxSeparateDecodingThread);
this.grpGeneral.Controls.Add(this.checkBoxCheckForUpdates);
this.grpGeneral.Controls.Add(this.chkAllowMultipleInstances);
this.grpGeneral.Controls.Add(this.chkReducePriority);
@@ -238,6 +242,13 @@ namespace JDP {
this.grpGeneral.Name = "grpGeneral";
this.grpGeneral.TabStop = false;
//
// checkBoxSeparateDecodingThread
//
resources.ApplyResources(this.checkBoxSeparateDecodingThread, "checkBoxSeparateDecodingThread");
this.checkBoxSeparateDecodingThread.Name = "checkBoxSeparateDecodingThread";
this.toolTip1.SetToolTip(this.checkBoxSeparateDecodingThread, resources.GetString("checkBoxSeparateDecodingThread.ToolTip"));
this.checkBoxSeparateDecodingThread.UseVisualStyleBackColor = true;
//
// checkBoxCheckForUpdates
//
resources.ApplyResources(this.checkBoxCheckForUpdates, "checkBoxCheckForUpdates");
@@ -1078,6 +1089,13 @@ namespace JDP {
this.groupBoxFlaCudaOptions.Name = "groupBoxFlaCudaOptions";
this.groupBoxFlaCudaOptions.TabStop = false;
//
// checkBoxFlaCudaMultithread
//
resources.ApplyResources(this.checkBoxFlaCudaMultithread, "checkBoxFlaCudaMultithread");
this.checkBoxFlaCudaMultithread.DataBindings.Add(new System.Windows.Forms.Binding("Checked", this.cUEConfigBindingSource, "FlaCudaThreads", true));
this.checkBoxFlaCudaMultithread.Name = "checkBoxFlaCudaMultithread";
this.checkBoxFlaCudaMultithread.UseVisualStyleBackColor = true;
//
// checkBoxFlaCudaGPUOnly
//
resources.ApplyResources(this.checkBoxFlaCudaGPUOnly, "checkBoxFlaCudaGPUOnly");
@@ -1455,12 +1473,11 @@ namespace JDP {
this.checkBox1.Name = "checkBox1";
this.checkBox1.UseVisualStyleBackColor = true;
//
// checkBoxFlaCudaMultithread
// checkBoxUseSystemProxy
//
resources.ApplyResources(this.checkBoxFlaCudaMultithread, "checkBoxFlaCudaMultithread");
this.checkBoxFlaCudaMultithread.DataBindings.Add(new System.Windows.Forms.Binding("Checked", this.cUEConfigBindingSource, "FlaCudaThreads", true));
this.checkBoxFlaCudaMultithread.Name = "checkBoxFlaCudaMultithread";
this.checkBoxFlaCudaMultithread.UseVisualStyleBackColor = true;
resources.ApplyResources(this.checkBoxUseSystemProxy, "checkBoxUseSystemProxy");
this.checkBoxUseSystemProxy.Name = "checkBoxUseSystemProxy";
this.checkBoxUseSystemProxy.UseVisualStyleBackColor = true;
//
// frmSettings
//
@@ -1695,6 +1712,8 @@ namespace JDP {
private System.Windows.Forms.CheckBox checkBoxFlaCudaVerify;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.CheckBox checkBoxFlaCudaMultithread;
private System.Windows.Forms.CheckBox checkBoxSeparateDecodingThread;
private System.Windows.Forms.CheckBox checkBoxUseSystemProxy;
}
}

View File

@@ -84,6 +84,8 @@ namespace JDP {
checkBoxFixToNearest.Checked = _config.fixOffsetToNearest;
//textBoxARLogExtension.Text = _config.arLogFilenameFormat;
numericUpDownMaxResolution.Value = _config.maxAlbumArtSize;
checkBoxSeparateDecodingThread.Checked = _config.separateDecodingThread;
checkBoxUseSystemProxy.Checked = _config.useSystemProxySettings;
switch (_config.gapsHandling)
{
@@ -246,6 +248,8 @@ namespace JDP {
_config.fixOffsetToNearest = checkBoxFixToNearest.Checked;
//_config.arLogFilenameFormat = textBoxARLogExtension.Text;
_config.maxAlbumArtSize = (int) numericUpDownMaxResolution.Value;
_config.separateDecodingThread = checkBoxSeparateDecodingThread.Checked;
_config.useSystemProxySettings = checkBoxUseSystemProxy.Checked;
_config.language = ((CultureInfo)comboLanguage.SelectedItem).Name;
}

View File

@@ -126,7 +126,7 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>273, 290</value>
<value>268, 320</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 23</value>
@@ -150,6 +150,66 @@
<data name="&gt;&gt;btnCancel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="checkBoxUseSystemProxy.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBoxUseSystemProxy.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 157</value>
</data>
<data name="checkBoxUseSystemProxy.Size" type="System.Drawing.Size, System.Drawing">
<value>153, 17</value>
</data>
<data name="checkBoxUseSystemProxy.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="checkBoxUseSystemProxy.Text" xml:space="preserve">
<value>Use system proxy settings</value>
</data>
<data name="&gt;&gt;checkBoxUseSystemProxy.Name" xml:space="preserve">
<value>checkBoxUseSystemProxy</value>
</data>
<data name="&gt;&gt;checkBoxUseSystemProxy.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBoxUseSystemProxy.Parent" xml:space="preserve">
<value>grpGeneral</value>
</data>
<data name="&gt;&gt;checkBoxUseSystemProxy.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="checkBoxSeparateDecodingThread.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBoxSeparateDecodingThread.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 140</value>
</data>
<data name="checkBoxSeparateDecodingThread.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 17</value>
</data>
<data name="checkBoxSeparateDecodingThread.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="checkBoxSeparateDecodingThread.Text" xml:space="preserve">
<value>Separate thread for decoding</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="checkBoxSeparateDecodingThread.ToolTip" xml:space="preserve">
<value>Improves speed on multicore processors</value>
</data>
<data name="&gt;&gt;checkBoxSeparateDecodingThread.Name" xml:space="preserve">
<value>checkBoxSeparateDecodingThread</value>
</data>
<data name="&gt;&gt;checkBoxSeparateDecodingThread.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBoxSeparateDecodingThread.Parent" xml:space="preserve">
<value>grpGeneral</value>
</data>
<data name="&gt;&gt;checkBoxSeparateDecodingThread.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="checkBoxCheckForUpdates.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@@ -168,9 +228,6 @@
<data name="checkBoxCheckForUpdates.Text" xml:space="preserve">
<value>Check for updates</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="checkBoxCheckForUpdates.ToolTip" xml:space="preserve">
<value>Check for updates</value>
</data>
@@ -184,7 +241,7 @@
<value>grpGeneral</value>
</data>
<data name="&gt;&gt;checkBoxCheckForUpdates.ZOrder" xml:space="preserve">
<value>0</value>
<value>2</value>
</data>
<data name="chkAllowMultipleInstances.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -217,7 +274,7 @@
<value>grpGeneral</value>
</data>
<data name="&gt;&gt;chkAllowMultipleInstances.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="chkReducePriority.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -250,7 +307,7 @@
<value>grpGeneral</value>
</data>
<data name="&gt;&gt;chkReducePriority.ZOrder" xml:space="preserve">
<value>2</value>
<value>4</value>
</data>
<data name="chkTruncateExtra4206Samples.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -283,7 +340,7 @@
<value>grpGeneral</value>
</data>
<data name="&gt;&gt;chkTruncateExtra4206Samples.ZOrder" xml:space="preserve">
<value>3</value>
<value>5</value>
</data>
<data name="chkCreateCUEFileWhenEmbedded.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -316,7 +373,7 @@
<value>grpGeneral</value>
</data>
<data name="&gt;&gt;chkCreateCUEFileWhenEmbedded.ZOrder" xml:space="preserve">
<value>4</value>
<value>6</value>
</data>
<data name="chkCreateM3U.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -349,7 +406,7 @@
<value>grpGeneral</value>
</data>
<data name="&gt;&gt;chkCreateM3U.ZOrder" xml:space="preserve">
<value>5</value>
<value>7</value>
</data>
<data name="chkAutoCorrectFilenames.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -382,13 +439,13 @@
<value>grpGeneral</value>
</data>
<data name="&gt;&gt;chkAutoCorrectFilenames.ZOrder" xml:space="preserve">
<value>6</value>
<value>8</value>
</data>
<data name="grpGeneral.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 6</value>
</data>
<data name="grpGeneral.Size" type="System.Drawing.Size, System.Drawing">
<value>252, 144</value>
<value>252, 182</value>
</data>
<data name="grpGeneral.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -466,7 +523,7 @@
<value>NoControl</value>
</data>
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
<value>194, 290</value>
<value>189, 320</value>
</data>
<data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 23</value>
@@ -1612,10 +1669,10 @@
<value>Top, Left, Right</value>
</data>
<data name="groupBoxGaps.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 156</value>
<value>6, 193</value>
</data>
<data name="groupBoxGaps.Size" type="System.Drawing.Size, System.Drawing">
<value>250, 99</value>
<value>250, 98</value>
</data>
<data name="groupBoxGaps.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
@@ -1642,7 +1699,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
<value>535, 261</value>
<value>535, 291</value>
</data>
<data name="tabPage1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -1891,7 +1948,7 @@
<value>242, 3</value>
</data>
<data name="groupBoxAlbumArt.Size" type="System.Drawing.Size, System.Drawing">
<value>284, 255</value>
<value>284, 275</value>
</data>
<data name="groupBoxAlbumArt.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -2095,7 +2152,7 @@
<value>8, 3</value>
</data>
<data name="groupBoxTagging.Size" type="System.Drawing.Size, System.Drawing">
<value>226, 255</value>
<value>226, 275</value>
</data>
<data name="groupBoxTagging.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -2116,7 +2173,7 @@
<value>4, 22</value>
</data>
<data name="tabPage6.Size" type="System.Drawing.Size, System.Drawing">
<value>535, 261</value>
<value>535, 291</value>
</data>
<data name="tabPage6.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -2506,7 +2563,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
<value>535, 261</value>
<value>535, 291</value>
</data>
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -2854,7 +2911,7 @@
<value>136, 6</value>
</data>
<data name="groupBoxFormat.Size" type="System.Drawing.Size, System.Drawing">
<value>390, 249</value>
<value>390, 269</value>
</data>
<data name="groupBoxFormat.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
@@ -2881,7 +2938,7 @@
<value>6, 6</value>
</data>
<data name="listViewFormats.Size" type="System.Drawing.Size, System.Drawing">
<value>124, 249</value>
<value>124, 269</value>
</data>
<data name="listViewFormats.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -2905,7 +2962,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage3.Size" type="System.Drawing.Size, System.Drawing">
<value>535, 261</value>
<value>535, 291</value>
</data>
<data name="tabPage3.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -3213,7 +3270,7 @@
<value>NoControl</value>
</data>
<data name="buttonEncoderDelete.Location" type="System.Drawing.Point, System.Drawing">
<value>37, 232</value>
<value>37, 262</value>
</data>
<data name="buttonEncoderDelete.Size" type="System.Drawing.Size, System.Drawing">
<value>25, 23</value>
@@ -3251,7 +3308,7 @@
</value>
</data>
<data name="buttonEncoderAdd.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 232</value>
<value>6, 262</value>
</data>
<data name="buttonEncoderAdd.Size" type="System.Drawing.Size, System.Drawing">
<value>25, 23</value>
@@ -3275,7 +3332,7 @@
<value>6, 7</value>
</data>
<data name="listBoxEncoders.Size" type="System.Drawing.Size, System.Drawing">
<value>124, 221</value>
<value>124, 247</value>
</data>
<data name="listBoxEncoders.TabIndex" type="System.Int32, mscorlib">
<value>27</value>
@@ -3554,7 +3611,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage10.Size" type="System.Drawing.Size, System.Drawing">
<value>535, 261</value>
<value>535, 291</value>
</data>
<data name="tabPage10.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@@ -3734,7 +3791,7 @@
<value>3, 6</value>
</data>
<data name="listViewDecoders.Size" type="System.Drawing.Size, System.Drawing">
<value>124, 249</value>
<value>124, 279</value>
</data>
<data name="listViewDecoders.TabIndex" type="System.Int32, mscorlib">
<value>26</value>
@@ -3794,7 +3851,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage11.Size" type="System.Drawing.Size, System.Drawing">
<value>535, 261</value>
<value>535, 291</value>
</data>
<data name="tabPage11.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@@ -3953,7 +4010,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabPage4.Size" type="System.Drawing.Size, System.Drawing">
<value>535, 261</value>
<value>535, 291</value>
</data>
<data name="tabPage4.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@@ -3980,7 +4037,7 @@
<value>144, 110</value>
</data>
<data name="richTextBoxScript.Size" type="System.Drawing.Size, System.Drawing">
<value>382, 145</value>
<value>382, 167</value>
</data>
<data name="richTextBoxScript.TabIndex" type="System.Int32, mscorlib">
<value>28</value>
@@ -4094,7 +4151,7 @@
<value>6, 6</value>
</data>
<data name="listViewScripts.Size" type="System.Drawing.Size, System.Drawing">
<value>124, 249</value>
<value>124, 271</value>
</data>
<data name="listViewScripts.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -4115,7 +4172,7 @@
<value>4, 22</value>
</data>
<data name="tabPage5.Size" type="System.Drawing.Size, System.Drawing">
<value>535, 261</value>
<value>535, 291</value>
</data>
<data name="tabPage5.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@@ -4142,7 +4199,7 @@
<value>0, 0, 0, 0</value>
</data>
<data name="tabControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>543, 287</value>
<value>543, 317</value>
</data>
<data name="tabControl1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -4241,7 +4298,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>542, 325</value>
<value>542, 355</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt</value>