diff --git a/ArCueDotNet/ArCueDotNet.csproj b/ArCueDotNet/ArCueDotNet.csproj
new file mode 100644
index 0000000..ff203bc
--- /dev/null
+++ b/ArCueDotNet/ArCueDotNet.csproj
@@ -0,0 +1,97 @@
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}
+ Exe
+ Properties
+ ArCueDotNet
+ ArCueDotNet
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ true
+ ..\bin\x64\Debug\
+ DEBUG;TRACE
+ full
+ x64
+ C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules
+ true
+ GlobalSuppressions.cs
+ prompt
+
+
+ bin\x64\Release\
+ TRACE
+ true
+ pdbonly
+ x64
+ C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules
+ true
+ GlobalSuppressions.cs
+ prompt
+
+
+ true
+ ..\bin\win32\Debug\
+ DEBUG;TRACE
+ full
+ x86
+ C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules
+ true
+ GlobalSuppressions.cs
+ prompt
+
+
+ ..\bin\win32\Release\
+ TRACE
+ true
+ pdbonly
+ x86
+ C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules
+ true
+ GlobalSuppressions.cs
+ prompt
+
+
+
+
+
+
+
+
+
+
+
+
+ {4911BD82-49EF-4858-8B51-5394F86739A4}
+ CUEToolsLib
+
+
+
+
+
\ No newline at end of file
diff --git a/ArCueDotNet/Program.cs b/ArCueDotNet/Program.cs
new file mode 100644
index 0000000..d0253fc
--- /dev/null
+++ b/ArCueDotNet/Program.cs
@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.IO;
+using CUEToolsLib;
+
+namespace ArCueDotNet
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ if (args.Length != 1)
+ {
+ Console.WriteLine("Usage: ArCueDotNet ");
+ return;
+ }
+ string pathIn = args[0];
+ if (!File.Exists(pathIn))
+ {
+ Console.WriteLine("Input CUE Sheet not found.");
+ return;
+ }
+ CUEConfig config = new CUEConfig();
+ config.writeArLog = false;
+ config.writeArTags = false;
+ config.autoCorrectFilenames = true;
+ StringWriter sw = new StringWriter();
+ try
+ {
+ CUESheet cueSheet = new CUESheet(pathIn, config);
+ cueSheet.GenerateFilenames(OutputAudioFormat.NoAudio, pathIn);
+ cueSheet.AccurateRip = true;
+ cueSheet.WriteAudioFiles(Path.GetDirectoryName(pathIn), CUEStyle.SingleFile, new SetStatus(ArCueSetStatus));
+ cueSheet.GenerateAccurateRipLog(sw);
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Error: " + ex.Message);
+ }
+ sw.Close();
+ Console.Write(sw.ToString());
+ }
+ public static void ArCueSetStatus(string status, uint percentTrack, double percentDisk)
+ {
+ }
+ }
+}
diff --git a/ArCueDotNet/Properties/AssemblyInfo.cs b/ArCueDotNet/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..6cbc360
--- /dev/null
+++ b/ArCueDotNet/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+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("ArCueDotNet")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("ArCueDotNet")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. 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("2da81ac9-8929-42c8-ae27-9431b4f71508")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/CUETools/CUETools.csproj b/CUETools/CUETools.csproj
index df44dc1..7dfb35d 100644
--- a/CUETools/CUETools.csproj
+++ b/CUETools/CUETools.csproj
@@ -75,7 +75,6 @@
-
Form
@@ -100,7 +99,6 @@
frmSettings.cs
-
Form
@@ -149,20 +147,11 @@
Settings.settings
True
-
-
- {9AE965C4-301E-4C01-B90F-297AF341ACC6}
- APEDotNet
-
-
- {E70FA90A-7012-4A52-86B5-362B699D1540}
- FLACDotNet
-
-
- {CC2E74B6-534A-43D8-9F16-AC03FE955000}
- WavPackDotNet
+
+ {4911BD82-49EF-4858-8B51-5394F86739A4}
+ CUEToolsLib
diff --git a/CUETools/CUETools.sln b/CUETools/CUETools.sln
index 21562dd..d1abc87 100644
--- a/CUETools/CUETools.sln
+++ b/CUETools/CUETools.sln
@@ -2,11 +2,6 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools", "CUETools.csproj", "{EF351583-A9CD-4530-92C3-20AC02136BC2}"
- ProjectSection(ProjectDependencies) = postProject
- {CC2E74B6-534A-43D8-9F16-AC03FE955000} = {CC2E74B6-534A-43D8-9F16-AC03FE955000}
- {E70FA90A-7012-4A52-86B5-362B699D1540} = {E70FA90A-7012-4A52-86B5-362B699D1540}
- {9AE965C4-301E-4C01-B90F-297AF341ACC6} = {9AE965C4-301E-4C01-B90F-297AF341ACC6}
- EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FLACDotNet", "..\FLACDotNet\FLACDotNet.vcproj", "{E70FA90A-7012-4A52-86B5-362B699D1540}"
ProjectSection(ProjectDependencies) = postProject
@@ -37,6 +32,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "APETagDotNet", "..\APETagDo
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libwavpack", "..\wavpack-4.5.0\src\libwavpack.vcproj", "{5CCCB9CF-0384-458F-BA08-72B73866840F}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArCueDotNet", "..\ArCueDotNet\ArCueDotNet.csproj", "{A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUEToolsLib", "..\CUEToolsLib\CUEToolsLib.csproj", "{4911BD82-49EF-4858-8B51-5394F86739A4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9AE965C4-301E-4C01-B90F-297AF341ACC6} = {9AE965C4-301E-4C01-B90F-297AF341ACC6}
+ {CC2E74B6-534A-43D8-9F16-AC03FE955000} = {CC2E74B6-534A-43D8-9F16-AC03FE955000}
+ {E70FA90A-7012-4A52-86B5-362B699D1540} = {E70FA90A-7012-4A52-86B5-362B699D1540}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -165,6 +169,38 @@ Global
{5CCCB9CF-0384-458F-BA08-72B73866840F}.Release|x64.Build.0 = Release|x64
{5CCCB9CF-0384-458F-BA08-72B73866840F}.Release|x86.ActiveCfg = Release|Win32
{5CCCB9CF-0384-458F-BA08-72B73866840F}.Release|x86.Build.0 = Release|Win32
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Debug|Win32.ActiveCfg = Debug|x86
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Debug|Win32.Build.0 = Debug|x86
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Debug|x64.ActiveCfg = Debug|x64
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Debug|x64.Build.0 = Debug|x64
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Debug|x86.ActiveCfg = Debug|x86
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Debug|x86.Build.0 = Debug|x86
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Release|Win32.ActiveCfg = Release|x86
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Release|Win32.Build.0 = Release|x86
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Release|x64.ActiveCfg = Release|x64
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Release|x64.Build.0 = Release|x64
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Release|x86.ActiveCfg = Release|x86
+ {A5A8D8FA-9E32-4010-8AAF-AE580C5AF728}.Release|x86.Build.0 = Release|x86
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Debug|Win32.ActiveCfg = Debug|x86
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Debug|Win32.Build.0 = Debug|x86
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Debug|x64.ActiveCfg = Debug|x64
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Debug|x64.Build.0 = Debug|x64
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Debug|x86.ActiveCfg = Debug|x86
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Debug|x86.Build.0 = Debug|x86
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Release|Win32.ActiveCfg = Release|x86
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Release|Win32.Build.0 = Release|x86
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Release|x64.ActiveCfg = Release|x64
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Release|x64.Build.0 = Release|x64
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Release|x86.ActiveCfg = Release|x86
+ {4911BD82-49EF-4858-8B51-5394F86739A4}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/CUETools/frmBatch.cs b/CUETools/frmBatch.cs
index af7154b..1a34355 100644
--- a/CUETools/frmBatch.cs
+++ b/CUETools/frmBatch.cs
@@ -6,6 +6,7 @@ using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
+using CUEToolsLib;
namespace JDP
{
diff --git a/CUETools/frmCUETools.cs b/CUETools/frmCUETools.cs
index 5e36b78..fc2b5cc 100644
--- a/CUETools/frmCUETools.cs
+++ b/CUETools/frmCUETools.cs
@@ -32,6 +32,7 @@ using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
+using CUEToolsLib;
namespace JDP {
public partial class frmCUETools : Form {
diff --git a/CUETools/frmFilenameCorrector.cs b/CUETools/frmFilenameCorrector.cs
index 2804188..9ef3320 100644
--- a/CUETools/frmFilenameCorrector.cs
+++ b/CUETools/frmFilenameCorrector.cs
@@ -6,6 +6,7 @@ using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
+using CUEToolsLib;
namespace JDP {
public partial class frmFilenameCorrector : Form {
diff --git a/CUETools/frmSettings.cs b/CUETools/frmSettings.cs
index 2bb47be..267c2a5 100644
--- a/CUETools/frmSettings.cs
+++ b/CUETools/frmSettings.cs
@@ -4,6 +4,7 @@ using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
+using CUEToolsLib;
namespace JDP {
public partial class frmSettings : Form {
diff --git a/CUETools/AudioReadWrite.cs b/CUEToolsLib/AudioReadWrite.cs
similarity index 95%
rename from CUETools/AudioReadWrite.cs
rename to CUEToolsLib/AudioReadWrite.cs
index 69aadc2..d4de66a 100644
--- a/CUETools/AudioReadWrite.cs
+++ b/CUEToolsLib/AudioReadWrite.cs
@@ -6,7 +6,7 @@ using APEDotNet;
using System.Collections.Generic;
using System.Collections.Specialized;
-namespace JDP {
+namespace CUEToolsLib {
public interface IAudioSource {
uint Read(byte[] buff, uint sampleCount);
ulong Length { get; }
diff --git a/CUEToolsLib/CUEToolsLib.csproj b/CUEToolsLib/CUEToolsLib.csproj
new file mode 100644
index 0000000..09af809
--- /dev/null
+++ b/CUEToolsLib/CUEToolsLib.csproj
@@ -0,0 +1,113 @@
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {4911BD82-49EF-4858-8B51-5394F86739A4}
+ Library
+ Properties
+ CUEToolsLib
+ CUEToolsLib
+
+
+ true
+ full
+ false
+ ..\bin\win32\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ true
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+ true
+
+
+ true
+ ..\bin\win32\Debug\
+ DEBUG;TRACE
+ full
+ x86
+ C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules
+ true
+ GlobalSuppressions.cs
+ prompt
+ true
+
+
+ ..\bin\win32\Release\
+ TRACE
+ true
+ true
+ pdbonly
+ x86
+ C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules
+ true
+ GlobalSuppressions.cs
+ prompt
+
+
+ true
+ ..\bin\x64\Debug\
+ DEBUG;TRACE
+ full
+ x64
+ C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules
+ true
+ GlobalSuppressions.cs
+ prompt
+ true
+
+
+ bin\x64\Release\
+ TRACE
+ true
+ true
+ pdbonly
+ x64
+ C:\Program Files (x86)\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules
+ true
+ GlobalSuppressions.cs
+ prompt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {9AE965C4-301E-4C01-B90F-297AF341ACC6}
+ APEDotNet
+
+
+ {E70FA90A-7012-4A52-86B5-362B699D1540}
+ FLACDotNet
+
+
+ {CC2E74B6-534A-43D8-9F16-AC03FE955000}
+ WavPackDotNet
+
+
+
+
+
\ No newline at end of file
diff --git a/CUETools/Main.cs b/CUEToolsLib/Main.cs
similarity index 96%
rename from CUETools/Main.cs
rename to CUEToolsLib/Main.cs
index 96defe4..a0be8a5 100644
--- a/CUETools/Main.cs
+++ b/CUEToolsLib/Main.cs
@@ -27,7 +27,8 @@ using System.Globalization;
using System.IO;
using System.Net;
-namespace JDP {
+namespace CUEToolsLib
+{
public enum OutputAudioFormat
{
@@ -38,7 +39,7 @@ namespace JDP {
NoAudio
}
- static class General {
+ public static class General {
public static string FormatExtension(OutputAudioFormat value)
{
switch (value)
@@ -184,9 +185,9 @@ namespace JDP {
}
}
- delegate void SetStatus(string status, uint percentTrack, double percentDisk);
+ public delegate void SetStatus(string status, uint percentTrack, double percentDisk);
- enum CUEStyle {
+ public enum CUEStyle {
SingleFileWithCUE,
SingleFile,
GapsPrepended,
@@ -383,7 +384,7 @@ namespace JDP {
}
}
- class CUESheet {
+ public class CUESheet {
private bool _stop;
private List _attributes;
private List _tracks;
@@ -2124,7 +2125,7 @@ namespace JDP {
}
}
- class CUELine {
+ public class CUELine {
private List _params;
private List _quoted;
@@ -2199,7 +2200,7 @@ namespace JDP {
}
}
- class TrackInfo {
+ public class TrackInfo {
private List _indexLengths;
private List _attributes;
public uint[] OffsetedCRC;
@@ -2307,7 +2308,7 @@ namespace JDP {
}
- class StopException : Exception {
+ public class StopException : Exception {
public StopException() : base() {
}
}
diff --git a/CUEToolsLib/Properties/AssemblyInfo.cs b/CUEToolsLib/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..0bfe4fa
--- /dev/null
+++ b/CUEToolsLib/Properties/AssemblyInfo.cs
@@ -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("CUEToolsLib")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CUEToolsLib")]
+[assembly: AssemblyCopyright("Copyright © 2006-2008 Moitah, Gregory S. Chudov")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. 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("d3afb938-f35e-4e5a-b650-7d7a4e885aff")]
+
+// 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")]
diff --git a/CUETools/Settings.cs b/CUEToolsLib/Settings.cs
similarity index 95%
rename from CUETools/Settings.cs
rename to CUEToolsLib/Settings.cs
index b32c3dc..43d2250 100644
--- a/CUETools/Settings.cs
+++ b/CUEToolsLib/Settings.cs
@@ -24,7 +24,8 @@ using System.Collections.Generic;
using System.IO;
using System.Text;
-namespace JDP {
+namespace CUEToolsLib
+{
static class SettingsShared {
public static string GetMyAppDataDir(string appName) {
string appDataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
diff --git a/MAC_SDK/Source/MACLib/Assembly/Assembly.obj b/MAC_SDK/Source/MACLib/Assembly/Assembly.obj
index e025056..5347993 100644
Binary files a/MAC_SDK/Source/MACLib/Assembly/Assembly.obj and b/MAC_SDK/Source/MACLib/Assembly/Assembly.obj differ