diff --git a/CUETools.ARCUE/CUETools.ARCUE.csproj b/CUETools.ARCUE/CUETools.ARCUE.csproj
index 5eaf0cd..1a5bb9e 100644
--- a/CUETools.ARCUE/CUETools.ARCUE.csproj
+++ b/CUETools.ARCUE/CUETools.ARCUE.csproj
@@ -61,6 +61,10 @@
+
+ {AA2A9A7E-45FB-4632-AD85-85B0E556F818}
+ CUETools.CTDB
+
{4911BD82-49EF-4858-8B51-5394F86739A4}
CUETools.Processor
diff --git a/CUETools.ARCUE/Program.cs b/CUETools.ARCUE/Program.cs
index 463c1d2..994f5bc 100644
--- a/CUETools.ARCUE/Program.cs
+++ b/CUETools.ARCUE/Program.cs
@@ -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 ");
- return;
+ Console.SetOut(Console.Error);
+ Console.WriteLine("Usage: ArCueDotNet [options] ");
+ 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;
}
}
}
diff --git a/CUETools/CUETools.sln b/CUETools/CUETools.sln
index f095b4e..4fe2960 100644
--- a/CUETools/CUETools.sln
+++ b/CUETools/CUETools.sln
@@ -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