diff --git a/DiscImageChef.Core/DiscImageChef.Core.csproj b/DiscImageChef.Core/DiscImageChef.Core.csproj
index 5f5f9deb..ce9b4a07 100644
--- a/DiscImageChef.Core/DiscImageChef.Core.csproj
+++ b/DiscImageChef.Core/DiscImageChef.Core.csproj
@@ -53,7 +53,6 @@
-
@@ -80,6 +79,9 @@
+
+
+
@@ -143,6 +145,7 @@
+
@@ -156,7 +159,7 @@
-
+
diff --git a/DiscImageChef.Core/Sidecar/Events.cs b/DiscImageChef.Core/Sidecar/Events.cs
new file mode 100644
index 00000000..55e4cec8
--- /dev/null
+++ b/DiscImageChef.Core/Sidecar/Events.cs
@@ -0,0 +1,93 @@
+// /***************************************************************************
+// The Disc Image Chef
+// ----------------------------------------------------------------------------
+//
+// Filename : Events.cs
+// Version : 1.0
+// Author(s) : Natalia Portillo
+//
+// Component : Component
+//
+// Revision : $Revision$
+// Last change by : $Author$
+// Date : $Date$
+//
+// --[ Description ] ----------------------------------------------------------
+//
+// Description
+//
+// --[ License ] --------------------------------------------------------------
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// ----------------------------------------------------------------------------
+// Copyright (C) 2011-2015 Claunia.com
+// ****************************************************************************/
+// //$Id$
+using System;
+namespace DiscImageChef.Core
+{
+ public static partial class Sidecar
+ {
+ public static event InitProgressHandler InitProgressEvent;
+ public static event UpdateProgressHandler UpdateProgressEvent;
+ public static event EndProgressHandler EndProgressEvent;
+ public static event InitProgressHandler2 InitProgressEvent2;
+ public static event UpdateProgressHandler2 UpdateProgressEvent2;
+ public static event EndProgressHandler2 EndProgressEvent2;
+ public static event UpdateStatusHandler UpdateStatusEvent;
+
+ public static void InitProgress()
+ {
+ if(InitProgressEvent != null)
+ InitProgressEvent();
+ }
+
+ public static void UpdateProgress(string text, long current, long maximum)
+ {
+ if(UpdateProgressEvent != null)
+ UpdateProgressEvent(string.Format(text, current, maximum), current, maximum);
+ }
+
+ public static void EndProgress()
+ {
+ if(EndProgressEvent != null)
+ EndProgressEvent();
+ }
+
+ public static void InitProgress2()
+ {
+ if(InitProgressEvent2 != null)
+ InitProgressEvent2();
+ }
+
+ public static void UpdateProgress2(string text, long current, long maximum)
+ {
+ if(UpdateProgressEvent2 != null)
+ UpdateProgressEvent2(string.Format(text, current, maximum), current, maximum);
+ }
+
+ public static void EndProgress2()
+ {
+ if(EndProgressEvent2 != null)
+ EndProgressEvent2();
+ }
+
+ public static void UpdateStatus(string text, params object[] args)
+ {
+ if(UpdateStatusEvent != null)
+ UpdateStatusEvent(string.Format(text, args));
+ }
+ }
+}
diff --git a/DiscImageChef.Core/Sidecar/Helpers.cs b/DiscImageChef.Core/Sidecar/Helpers.cs
new file mode 100644
index 00000000..77957773
--- /dev/null
+++ b/DiscImageChef.Core/Sidecar/Helpers.cs
@@ -0,0 +1,93 @@
+// /***************************************************************************
+// The Disc Image Chef
+// ----------------------------------------------------------------------------
+//
+// Filename : Helpers.cs
+// Version : 1.0
+// Author(s) : Natalia Portillo
+//
+// Component : Component
+//
+// Revision : $Revision$
+// Last change by : $Author$
+// Date : $Date$
+//
+// --[ Description ] ----------------------------------------------------------
+//
+// Description
+//
+// --[ License ] --------------------------------------------------------------
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// ----------------------------------------------------------------------------
+// Copyright (C) 2011-2015 Claunia.com
+// ****************************************************************************/
+// //$Id$
+using System;
+namespace DiscImageChef.Core
+{
+ public static partial class Sidecar
+ {
+ static string LbaToMsf(long lba)
+ {
+ long m, s, f;
+ if(lba >= -150)
+ {
+ m = (lba + 150) / (75 * 60);
+ lba -= m * (75 * 60);
+ s = (lba + 150) / 75;
+ lba -= s * 75;
+ f = lba + 150;
+ }
+ else
+ {
+ m = (lba + 450150) / (75 * 60);
+ lba -= m * (75 * 60);
+ s = (lba + 450150) / 75;
+ lba -= s * 75;
+ f = lba + 450150;
+ }
+
+ return string.Format("{0}:{1:D2}:{2:D2}", m, s, f);
+ }
+
+ static string DdcdLbaToMsf(long lba)
+ {
+ long h, m, s, f;
+ if(lba >= -150)
+ {
+ h = (lba + 150) / (75 * 60 * 60);
+ lba -= h * (75 * 60 * 60);
+ m = (lba + 150) / (75 * 60);
+ lba -= m * (75 * 60);
+ s = (lba + 150) / 75;
+ lba -= s * 75;
+ f = lba + 150;
+ }
+ else
+ {
+ h = (lba + 450150 * 2) / (75 * 60 * 60);
+ lba -= h * (75 * 60 * 60);
+ m = (lba + 450150 * 2) / (75 * 60);
+ lba -= m * (75 * 60);
+ s = (lba + 450150 * 2) / 75;
+ lba -= s * 75;
+ f = lba + 450150 * 2;
+ }
+
+ return string.Format("{3}:{0:D2}:{1:D2}:{2:D2}", m, s, f, h);
+ }
+ }
+}
diff --git a/DiscImageChef.Core/Sidecar.cs b/DiscImageChef.Core/Sidecar/Sidecar.cs
similarity index 94%
rename from DiscImageChef.Core/Sidecar.cs
rename to DiscImageChef.Core/Sidecar/Sidecar.cs
index 9c7440e1..87db2f31 100644
--- a/DiscImageChef.Core/Sidecar.cs
+++ b/DiscImageChef.Core/Sidecar/Sidecar.cs
@@ -41,63 +41,12 @@ using DiscImageChef.CommonTypes;
using DiscImageChef.Decoders.PCMCIA;
using DiscImageChef.Filesystems;
using DiscImageChef.ImagePlugins;
-using DiscImageChef.PartPlugins;
using Schemas;
namespace DiscImageChef.Core
{
- public static class Sidecar
+ public static partial class Sidecar
{
- public static event InitProgressHandler InitProgressEvent;
- public static event UpdateProgressHandler UpdateProgressEvent;
- public static event EndProgressHandler EndProgressEvent;
- public static event InitProgressHandler2 InitProgressEvent2;
- public static event UpdateProgressHandler2 UpdateProgressEvent2;
- public static event EndProgressHandler2 EndProgressEvent2;
- public static event UpdateStatusHandler UpdateStatusEvent;
-
- public static void InitProgress()
- {
- if(InitProgressEvent != null)
- InitProgressEvent();
- }
-
- public static void UpdateProgress(string text, long current, long maximum)
- {
- if(UpdateProgressEvent != null)
- UpdateProgressEvent(string.Format(text, current, maximum), current, maximum);
- }
-
- public static void EndProgress()
- {
- if(EndProgressEvent != null)
- EndProgressEvent();
- }
-
- public static void InitProgress2()
- {
- if(InitProgressEvent2 != null)
- InitProgressEvent2();
- }
-
- public static void UpdateProgress2(string text, long current, long maximum)
- {
- if(UpdateProgressEvent2 != null)
- UpdateProgressEvent2(string.Format(text, current, maximum), current, maximum);
- }
-
- public static void EndProgress2()
- {
- if(EndProgressEvent2 != null)
- EndProgressEvent2();
- }
-
- public static void UpdateStatus(string text, params object[] args)
- {
- if(UpdateStatusEvent != null)
- UpdateStatusEvent(string.Format(text, args));
- }
-
public static CICMMetadataType Create(ImagePlugin image, string imagePath, System.Guid filterId)
{
CICMMetadataType sidecar = new CICMMetadataType();
@@ -975,55 +924,5 @@ namespace DiscImageChef.Core
return sidecar;
}
-
- static string LbaToMsf(long lba)
- {
- long m, s, f;
- if(lba >= -150)
- {
- m = (lba + 150) / (75 * 60);
- lba -= m * (75 * 60);
- s = (lba + 150) / 75;
- lba -= s * 75;
- f = lba + 150;
- }
- else
- {
- m = (lba + 450150) / (75 * 60);
- lba -= m * (75 * 60);
- s = (lba + 450150) / 75;
- lba -= s * 75;
- f = lba + 450150;
- }
-
- return string.Format("{0}:{1:D2}:{2:D2}", m, s, f);
- }
-
- static string DdcdLbaToMsf(long lba)
- {
- long h, m, s, f;
- if(lba >= -150)
- {
- h = (lba + 150) / (75 * 60 * 60);
- lba -= h * (75 * 60 * 60);
- m = (lba + 150) / (75 * 60);
- lba -= m * (75 * 60);
- s = (lba + 150) / 75;
- lba -= s * 75;
- f = lba + 150;
- }
- else
- {
- h = (lba + 450150 * 2) / (75 * 60 * 60);
- lba -= h * (75 * 60 * 60);
- m = (lba + 450150 * 2) / (75 * 60);
- lba -= m * (75 * 60);
- s = (lba + 450150 * 2) / 75;
- lba -= s * 75;
- f = lba + 450150 * 2;
- }
-
- return string.Format("{3}:{0:D2}:{1:D2}:{2:D2}", m, s, f, h);
- }
}
}