ArCueDotNet.exe: CTDB support

This commit is contained in:
Grigory Chudov
2013-03-25 18:56:29 -04:00
parent f268ac8a62
commit d080406f82
3 changed files with 41 additions and 7 deletions

View File

@@ -61,6 +61,10 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<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>

View File

@@ -1,30 +1,55 @@
using System;
using System.IO;
using CUETools.CTDB;
using CUETools.Processor;
namespace ArCueDotNet
{
class Program
{
static void Main(string[] args)
static int Main(string[] args)
{
if (args.Length != 1)
bool ok = true;
bool verbose = false;
string pathIn = null;
for (int arg = 0; arg < args.Length; arg++)
{
if (args[arg].Length == 0)
ok = false;
else if ((args[arg] == "-v" || args[arg] == "--verbose"))
verbose = true;
else if (args[arg][0] != '-' && pathIn == null)
pathIn = args[arg];
else
ok = false;
if (!ok)
break;
}
if (!ok || pathIn == null)
{
Console.WriteLine("Usage: ArCueDotNet <filename>");
return;
Console.SetOut(Console.Error);
Console.WriteLine("Usage: ArCueDotNet [options] <filename>");
Console.WriteLine();
Console.WriteLine("Options:");
Console.WriteLine();
Console.WriteLine(" -v --verbose Verbose mode");
return 1;
}
string pathIn = args[0];
if (!File.Exists(pathIn))
{
Console.SetOut(Console.Error);
Console.WriteLine("Input CUE Sheet not found.");
return;
return 2;
}
CUEConfig config = new CUEConfig();
config.writeArLogOnVerify = false;
config.writeArTagsOnVerify = false;
config.autoCorrectFilenames = true;
config.extractAlbumArt = false;
config.embedAlbumArt = false;
config.advanced.DetailedCTDBLog = verbose;
string accurateRipLog;
try
@@ -34,6 +59,7 @@ namespace ArCueDotNet
//cueSheet.OutputStyle = CUEStyle.SingleFile;
cueSheet.Open(pathIn);
cueSheet.UseAccurateRip();
cueSheet.UseCUEToolsDB("ARCUE " + CUESheet.CUEToolsVersion, null, true, CTDBMetadataSearch.None);
cueSheet.GenerateFilenames(AudioEncoderType.NoAudio, "dummy", pathIn);
cueSheet.Go();
@@ -42,10 +68,11 @@ namespace ArCueDotNet
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
return;
return 3;
}
Console.Write(accurateRipLog);
return 0;
}
}
}

View File

@@ -64,6 +64,9 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libwavpack", "..\wavpack-4.5.0\src\libwavpack.vcxproj", "{5CCCB9CF-0384-458F-BA08-72B73866840F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.ARCUE", "..\CUETools.ARCUE\CUETools.ARCUE.csproj", "{A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}"
ProjectSection(ProjectDependencies) = postProject
{AA2A9A7E-45FB-4632-AD85-85B0E556F818} = {AA2A9A7E-45FB-4632-AD85-85B0E556F818}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.Processor", "..\CUETools.Processor\CUETools.Processor.csproj", "{4911BD82-49EF-4858-8B51-5394F86739A4}"
EndProject