mirror of
https://github.com/claunia/cuetools.net.git
synced 2025-12-16 18:14:25 +00:00
smart combobox control
some localization for cueripper version bump
This commit is contained in:
@@ -145,6 +145,11 @@
|
|||||||
<Install>true</Install>
|
<Install>true</Install>
|
||||||
</BootstrapperPackage>
|
</BootstrapperPackage>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="Messages.resx">
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Messages.ru-RU.resx" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- 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.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
|||||||
@@ -109,7 +109,6 @@ namespace Bwg.Scsi
|
|||||||
private byte m_scsi_status;
|
private byte m_scsi_status;
|
||||||
private Logger m_logger;
|
private Logger m_logger;
|
||||||
private int m_MaximumTransferLength;
|
private int m_MaximumTransferLength;
|
||||||
static private IDictionary<ushort, string> m_asc_map;
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region private static data structures
|
#region private static data structures
|
||||||
@@ -699,11 +698,11 @@ namespace Bwg.Scsi
|
|||||||
/// <returns>a string representing the error codes given by ASC and ASCQ</returns>
|
/// <returns>a string representing the error codes given by ASC and ASCQ</returns>
|
||||||
public static string LookupSenseError(byte asc, byte ascq)
|
public static string LookupSenseError(byte asc, byte ascq)
|
||||||
{
|
{
|
||||||
ushort data = Mix(asc, ascq) ;
|
string res = messages.GetString(string.Format("SCSIErrorMessage_{0:X2}{1:X2}", asc, ascq));
|
||||||
if (m_asc_map.ContainsKey(data))
|
if (res != null)
|
||||||
return m_asc_map[data];
|
return res;
|
||||||
|
string msg = messages.GetString("UnknownSCSIError") ?? "Unknown SCSI Error";
|
||||||
return "NO SENSE STRING FOR ASC=" + asc.ToString("X") + ", ASCQ=" + ascq.ToString("X");
|
return msg + " ASC=" + asc.ToString("X2") + ", ASCQ=" + ascq.ToString("X2");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -769,176 +768,6 @@ namespace Bwg.Scsi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ushort Mix(byte asc, byte ascq)
|
|
||||||
{
|
|
||||||
return (ushort)((asc << 8) | ascq);
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Initialize ASC/ASCQ Error table
|
|
||||||
private static void InitAscTable()
|
|
||||||
{
|
|
||||||
m_asc_map = new Dictionary<ushort, string>();
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x00, 0x00)] = "NO ADDITIONAL SENSE INFORMATION";
|
|
||||||
m_asc_map[Mix(0x00, 0x06)] = "I/O PROCESS TERMINATED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x01, 0x00)] = "NO INDEX/SECTOR SIGNAL";
|
|
||||||
m_asc_map[Mix(0x01, 0x02)] = "NO SEEK COMPLETE";
|
|
||||||
m_asc_map[Mix(0x01, 0x03)] = "PERIPHERAL DEVICE WRITE FAULT";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x04, 0x00)] = "LOGICAL UNIT NOT READY, CAUSE NOT REPORTABLE";
|
|
||||||
m_asc_map[Mix(0x04, 0x01)] = "LOGICAL UNIT IS IN PROCESS OF BECOMING READY";
|
|
||||||
m_asc_map[Mix(0x04, 0x02)] = "LOGICAL UNIT NOT READY, INITIALIZING COMMAND REQUIRED";
|
|
||||||
m_asc_map[Mix(0x04, 0x03)] = "LOGICAL UNIT NOT READY, MANUAL INTERVENTION REQUIRED";
|
|
||||||
m_asc_map[Mix(0x04, 0x04)] = "LOGICAL UNIT NOT READY, FORMAT IN PROGRESS";
|
|
||||||
m_asc_map[Mix(0x04, 0x07)] = "LOGICAL UNIT NOT READY, OPERATION IN PROGRESS";
|
|
||||||
m_asc_map[Mix(0x04, 0x08)] = "LOGICAL UNIT NOT READY, LONG WRITE IN PROGRESS";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x05, 0x00)] = "LOGICAL UNIT DOES NOT RESPOND TO SELECTION";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x08, 0x00)] = "LOGICAL UNIT COMMUNICATION FAILURE";
|
|
||||||
m_asc_map[Mix(0x08, 0x01)] = "LOGICAL UNIT COMMUNICATION TIME-OUT";
|
|
||||||
m_asc_map[Mix(0x08, 0x02)] = "LOGICAL UNIT COMMUNICATION PARITY ERROR";
|
|
||||||
m_asc_map[Mix(0x08, 0x03)] = "LOGICAL UNIT COMMUNICATION CRC ERROR (ULTRA-DMA/32)";
|
|
||||||
m_asc_map[Mix(0x08, 0x04)] = "UNREACHABLE COPY TARGET";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x0c, 0x00)] = "WRITE ERROR";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x10, 0x00)] = "ID CRC OR ECC ERROR";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x11, 0x00)] = "UNRECOVERED READ ERROR";
|
|
||||||
m_asc_map[Mix(0x11, 0x01)] = "READ RETRIES EXHAUSTED";
|
|
||||||
m_asc_map[Mix(0x11, 0x02)] = "ERROR TOO LONG TO CORRECT";
|
|
||||||
m_asc_map[Mix(0x11, 0x05)] = "L-EC UNCORRECTABLE ERROR";
|
|
||||||
m_asc_map[Mix(0x11, 0x06)] = "CIRC UNRECOVERED ERROR";
|
|
||||||
m_asc_map[Mix(0x11, 0x0F)] = "ERROR READING UPC/EAN NUMBER";
|
|
||||||
m_asc_map[Mix(0x11, 0x10)] = "ERROR READING ISRC NUMBER";
|
|
||||||
m_asc_map[Mix(0x11, 0x11)] = "READ ERROR <20> LOSS OF STREAMING";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x20, 0x00)] = "INVALID COMMAND OPERATION CODE";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x21, 0x00)] = "LOGICAL BLOCK ADDRESS OUT OF RANGE";
|
|
||||||
m_asc_map[Mix(0x21, 0x01)] = "INVALID ELEMENT ADDRESS";
|
|
||||||
m_asc_map[Mix(0x21, 0x02)] = "INVALID ADDRESS FOR WRITE";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x24, 0x00)] = "INVALID FIELD IN CDB";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x26, 0x00)] = "INVALID FIELD IN PARAMETER LIST";
|
|
||||||
m_asc_map[Mix(0x26, 0x01)] = "PARAMETER NOT SUPPORTED";
|
|
||||||
m_asc_map[Mix(0x26, 0x02)] = "PARAMETER VALUE INVALID";
|
|
||||||
m_asc_map[Mix(0x26, 0x03)] = "THRESHOLD PARAMETERS NOT SUPPORTED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x27, 0x00)] = "WRITE PROTECTED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x28, 0x00)] = "NOT READY TO READY CHANGE, MEDIUM MAY HAVE CHANGED";
|
|
||||||
m_asc_map[Mix(0x28, 0x01)] = "IMPORT OR EXPORT ELEMENT ACCESSED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x29, 0x00)] = "POWER ON, RESET, OR BUS DEVICE RESET OCCURRED";
|
|
||||||
m_asc_map[Mix(0x29, 0x01)] = "POWER ON OCCURRED";
|
|
||||||
m_asc_map[Mix(0x29, 0x02)] = "BUS RESET OCCURRED";
|
|
||||||
m_asc_map[Mix(0x29, 0x03)] = "BUS DEVICE RESET FUNCTION OCCURRED";
|
|
||||||
m_asc_map[Mix(0x29, 0x04)] = "DEVICE INTERNAL RESET";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x2A, 0x00)] = "PARAMETERS CHANGED";
|
|
||||||
m_asc_map[Mix(0x2A, 0x01)] = "MODE PARAMETERS CHANGED";
|
|
||||||
m_asc_map[Mix(0x2A, 0x02)] = "LOG PARAMETERS CHANGED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x2C, 0x00)] = "COMMMAND SEQUENCE ERROR";
|
|
||||||
m_asc_map[Mix(0x2C, 0x03)] = "CURRENT PROGRAM AREA IS NOT EMPTY";
|
|
||||||
m_asc_map[Mix(0x2C, 0x04)] = "CURRENT PROGRAM AREA IS EMPTY";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x2E, 0x00)] = "INSUFFICIENT TIME FOR OPERATION";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x30, 0x00)] = "INCOMPATIBLE MEDIUM INSTALLED";
|
|
||||||
m_asc_map[Mix(0x30, 0x01)] = "CANNOT READ MEDIUM - UNKNOWN FORMAT";
|
|
||||||
m_asc_map[Mix(0x30, 0x02)] = "CANNOT READ MEDIUM - INCOMPATIBLE FORMAT";
|
|
||||||
m_asc_map[Mix(0x30, 0x03)] = "CLEANING CARTRIDGE INSTALLED";
|
|
||||||
m_asc_map[Mix(0x30, 0x04)] = "CANNOT WRITE MEDIUM - UNKONWN FORMAT";
|
|
||||||
m_asc_map[Mix(0x30, 0x05)] = "CANNOT WRITE MEDIUM - INCOMPATIBLE FORMAT";
|
|
||||||
m_asc_map[Mix(0x30, 0x06)] = "CANNOT FORMAT MEDIUM - INCOMPATIBLE FORMAT";
|
|
||||||
m_asc_map[Mix(0x30, 0x07)] = "CLEANING FAILURE";
|
|
||||||
m_asc_map[Mix(0x30, 0x08)] = "CANNOT WRITE - APPLICATION CODE MISMATCH";
|
|
||||||
m_asc_map[Mix(0x30, 0x09)] = "CURRENT SESSION NOT FIXATED FOR APPEND";
|
|
||||||
m_asc_map[Mix(0x30, 0x10)] = "MEDIUM NOT FORMATTED";
|
|
||||||
m_asc_map[Mix(0x30, 0x11)] = "CANNOT WRITE MEDIUM - UNSUPPORTED MEDIUM VERSION";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x3A, 0x00)] = "MEDIUM NOT PRESENT";
|
|
||||||
m_asc_map[Mix(0x3A, 0x01)] = "MEDIUM NOT PRESENT - TRAY CLOSED";
|
|
||||||
m_asc_map[Mix(0x3A, 0x02)] = "MEDIUM NOT PRESENT - TRAY OPEN";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x3B, 0x0D)] = "MEDIUM DESTINATION ELEMENT FULL";
|
|
||||||
m_asc_map[Mix(0x3B, 0x0E)] = "MEDIUM SOURCE ELEMENT EMPTY";
|
|
||||||
m_asc_map[Mix(0x3B, 0x0F)] = "END OF MEDIUM REACHED";
|
|
||||||
m_asc_map[Mix(0x3B, 0x11)] = "MEDIUM MAGAZINE NOT ACCESSIBLE";
|
|
||||||
m_asc_map[Mix(0x3B, 0x12)] = "MEDIUM MAGAZINE REMOVED";
|
|
||||||
m_asc_map[Mix(0x3B, 0x13)] = "MEDIUM MAGAZINE INSERTED";
|
|
||||||
m_asc_map[Mix(0x3B, 0x14)] = "MEDIUM MAGAZINE LOCKED";
|
|
||||||
m_asc_map[Mix(0x3B, 0x15)] = "MEDIUM MAGAZINE UNLOCKED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x3E, 0x00)] = "LOGICAL UNIT HAS NOT SELF-CONFIGURED YET";
|
|
||||||
m_asc_map[Mix(0x3E, 0x01)] = "LOGICAL UNIT FAILURE";
|
|
||||||
m_asc_map[Mix(0x3E, 0x02)] = "TIMEOUT ON LOGICAL UNIT";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x3F, 0x00)] = "TARGET OPERATING CONDITIONS HAVE CHANGED";
|
|
||||||
m_asc_map[Mix(0x3F, 0x01)] = "MICROCODE HAS BEEN CHANGED";
|
|
||||||
m_asc_map[Mix(0x3F, 0x02)] = "CHANGED OPERATING DEFINITION";
|
|
||||||
m_asc_map[Mix(0x3F, 0x03)] = "INQUIRY DATA HAS CHANGED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x53, 0x00)] = "MEDIA LOAD OR EJECT FAILED";
|
|
||||||
m_asc_map[Mix(0x53, 0x02)] = "MEDIUM REMOVAL PREVENTED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x57, 0x00)] = "UNABLE TO RECOVER TABLE OF CONTENTS";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x5A, 0x00)] = "OPERATOR REQUEST OR STATE CHANGE INPUT";
|
|
||||||
m_asc_map[Mix(0x5A, 0x01)] = "OPERATOR MEDIUM REMOVAL REQUEST";
|
|
||||||
m_asc_map[Mix(0x5A, 0x02)] = "OPERATOR SELECTED WRITE PROTECT";
|
|
||||||
m_asc_map[Mix(0x5A, 0x03)] = "OPERATOR SELECTED WRITE PERMIT";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x5B, 0x00)] = "LOG EXCEPTION";
|
|
||||||
m_asc_map[Mix(0x5B, 0x01)] = "THRESHOLD CONDITION MET";
|
|
||||||
m_asc_map[Mix(0x5B, 0x02)] = "LOG COUNTER AT MAXIMUM";
|
|
||||||
m_asc_map[Mix(0x5B, 0x03)] = "LOG LIST CODES EXHAUSTED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x5E, 0x00)] = "LOW POWER CONDITION ON";
|
|
||||||
m_asc_map[Mix(0x5E, 0x01)] = "IDLE CONDITION ACTIVATED BY TIMER";
|
|
||||||
m_asc_map[Mix(0x5E, 0x02)] = "STANDBY CONDITION ACTIVATED BY TIMER";
|
|
||||||
m_asc_map[Mix(0x5E, 0x03)] = "IDLE CONDITION ACTIVATED BY COMMAND";
|
|
||||||
m_asc_map[Mix(0x5E, 0x04)] = "STANDBY CONDITION ACTIVATED BY COMMAND";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x63, 0x00)] = "END OF USER AREA ENCOUNTERED ON THIS TRACK";
|
|
||||||
m_asc_map[Mix(0x63, 0x01)] = "PACKET DOES NOT FIT IN AVAILABLE SPACE";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x64, 0x00)] = "ILLEGAL MODE FOR THIS TRACK";
|
|
||||||
m_asc_map[Mix(0x64, 0x01)] = "INVALID PACKET SIZE";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x65, 0x00)] = "VOLTAGE FAULT";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x6F, 0x00)] = "COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE";
|
|
||||||
m_asc_map[Mix(0x6F, 0x01)] = "COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT PRESENT";
|
|
||||||
m_asc_map[Mix(0x6F, 0x02)] = "COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT ESTABLISHED";
|
|
||||||
m_asc_map[Mix(0x6F, 0x03)] = "READ OF SCRAMBLED SECTOR WITHOUT AUTHENTICATION";
|
|
||||||
m_asc_map[Mix(0x6F, 0x04)] = "MEDIA REGION CODE IS MISMATCHED TO LOGICAL UNIT REGION";
|
|
||||||
m_asc_map[Mix(0x6F, 0x05)] = "LOGICAL UNIT REGION MUST BE PERMANENT/REGION RESET COUNT ERROR";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x72, 0x00)] = "SESSION FIXATION ERROR";
|
|
||||||
m_asc_map[Mix(0x72, 0x01)] = "SESSION FIXATION ERROR WRITING LEAD-IN";
|
|
||||||
m_asc_map[Mix(0x72, 0x02)] = "SESSION FIXATION ERROR WRITING LEAD-OUT";
|
|
||||||
m_asc_map[Mix(0x72, 0x03)] = "SESSION FIXATION ERROR - INCOMPLETE TRACK IN SESSION";
|
|
||||||
m_asc_map[Mix(0x72, 0x04)] = "EMPTY OR PARTIALLY WRITTEN RESERVED TRACK";
|
|
||||||
m_asc_map[Mix(0x72, 0x05)] = "NO MORE TRACK RESERVATIONS ALLOWED";
|
|
||||||
m_asc_map[Mix(0x72, 0x06)] = "RMZ EXTENSION IS NOT ALLOWED";
|
|
||||||
m_asc_map[Mix(0x72, 0x07)] = "NO MORE TEST ZONE EXTENSIONS ARE ALLOWED";
|
|
||||||
|
|
||||||
m_asc_map[Mix(0x73, 0x00)] = "CD CONTROL ERROR";
|
|
||||||
m_asc_map[Mix(0x73, 0x01)] = "POWER CALIBRATION AREA ALMOST";
|
|
||||||
m_asc_map[Mix(0x73, 0x02)] = "POWER CALIBRATION AREA IS FULL";
|
|
||||||
m_asc_map[Mix(0x73, 0x03)] = "POWER CALIBRATION AREA ERROR";
|
|
||||||
m_asc_map[Mix(0x73, 0x04)] = "PROGRAM MEMORY AREA UPDATE FAILURE";
|
|
||||||
m_asc_map[Mix(0x73, 0x05)] = "PROGRAM MEMORY AREA IS FULL";
|
|
||||||
m_asc_map[Mix(0x73, 0x06)] = "RMA/PMA IS ALMOST FULL";
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private CommandStatus SendCommand(Command cmd)
|
private CommandStatus SendCommand(Command cmd)
|
||||||
{
|
{
|
||||||
return (m_ossize == 32) ? SendCommand32(cmd) : SendCommand64(cmd);
|
return (m_ossize == 32) ? SendCommand32(cmd) : SendCommand64(cmd);
|
||||||
@@ -1077,6 +906,8 @@ namespace Bwg.Scsi
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
static global::System.Resources.ResourceManager messages;
|
||||||
|
|
||||||
#region constructor
|
#region constructor
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
@@ -1085,7 +916,6 @@ namespace Bwg.Scsi
|
|||||||
{
|
{
|
||||||
m_logger = l;
|
m_logger = l;
|
||||||
LogSenseState = true;
|
LogSenseState = true;
|
||||||
InitAscTable();
|
|
||||||
|
|
||||||
IntPtr p = new IntPtr();
|
IntPtr p = new IntPtr();
|
||||||
if (Marshal.SizeOf(p) == 4)
|
if (Marshal.SizeOf(p) == 4)
|
||||||
@@ -1098,7 +928,7 @@ namespace Bwg.Scsi
|
|||||||
|
|
||||||
static Device()
|
static Device()
|
||||||
{
|
{
|
||||||
InitAscTable();
|
messages = new global::System.Resources.ResourceManager("Bwg.Scsi.Messages", typeof(Device).Assembly);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
495
Bwg.Scsi/Messages.resx
Normal file
495
Bwg.Scsi/Messages.resx
Normal file
@@ -0,0 +1,495 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="SCSIErrorMessage_0000" xml:space="preserve">
|
||||||
|
<value>NO ADDITIONAL SENSE INFORMATION</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0006" xml:space="preserve">
|
||||||
|
<value>I/O PROCESS TERMINATED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0100" xml:space="preserve">
|
||||||
|
<value>NO INDEX/SECTOR SIGNAL</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0102" xml:space="preserve">
|
||||||
|
<value>NO SEEK COMPLETE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0103" xml:space="preserve">
|
||||||
|
<value>PERIPHERAL DEVICE WRITE FAULT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0400" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT NOT READY, CAUSE NOT REPORTABLE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0401" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT IS IN PROCESS OF BECOMING READY</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0402" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT NOT READY, INITIALIZING COMMAND REQUIRED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0403" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT NOT READY, MANUAL INTERVENTION REQUIRED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0404" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT NOT READY, FORMAT IN PROGRESS</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0407" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT NOT READY, OPERATION IN PROGRESS</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0408" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT NOT READY, LONG WRITE IN PROGRESS</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0500" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT DOES NOT RESPOND TO SELECTION</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0800" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT COMMUNICATION FAILURE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0801" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT COMMUNICATION TIME-OUT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0802" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT COMMUNICATION PARITY ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0803" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT COMMUNICATION CRC ERROR (ULTRA-DMA/32)</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0804" xml:space="preserve">
|
||||||
|
<value>UNREACHABLE COPY TARGET</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_0c00" xml:space="preserve">
|
||||||
|
<value>WRITE ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_1000" xml:space="preserve">
|
||||||
|
<value>ID CRC OR ECC ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_1100" xml:space="preserve">
|
||||||
|
<value>UNRECOVERED READ ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_1101" xml:space="preserve">
|
||||||
|
<value>READ RETRIES EXHAUSTED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_1102" xml:space="preserve">
|
||||||
|
<value>ERROR TOO LONG TO CORRECT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_1105" xml:space="preserve">
|
||||||
|
<value>L-EC UNCORRECTABLE ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_1106" xml:space="preserve">
|
||||||
|
<value>CIRC UNRECOVERED ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_110F" xml:space="preserve">
|
||||||
|
<value>ERROR READING UPC/EAN NUMBER</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_1110" xml:space="preserve">
|
||||||
|
<value>ERROR READING ISRC NUMBER</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_1111" xml:space="preserve">
|
||||||
|
<value>READ ERROR – LOSS OF STREAMING</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2000" xml:space="preserve">
|
||||||
|
<value>INVALID COMMAND OPERATION CODE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2100" xml:space="preserve">
|
||||||
|
<value>LOGICAL BLOCK ADDRESS OUT OF RANGE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2101" xml:space="preserve">
|
||||||
|
<value>INVALID ELEMENT ADDRESS</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2102" xml:space="preserve">
|
||||||
|
<value>INVALID ADDRESS FOR WRITE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2400" xml:space="preserve">
|
||||||
|
<value>INVALID FIELD IN CDB</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2600" xml:space="preserve">
|
||||||
|
<value>INVALID FIELD IN PARAMETER LIST</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2601" xml:space="preserve">
|
||||||
|
<value>PARAMETER NOT SUPPORTED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2602" xml:space="preserve">
|
||||||
|
<value>PARAMETER VALUE INVALID</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2603" xml:space="preserve">
|
||||||
|
<value>THRESHOLD PARAMETERS NOT SUPPORTED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2700" xml:space="preserve">
|
||||||
|
<value>WRITE PROTECTED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2800" xml:space="preserve">
|
||||||
|
<value>NOT READY TO READY CHANGE, MEDIUM MAY HAVE CHANGED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2801" xml:space="preserve">
|
||||||
|
<value>IMPORT OR EXPORT ELEMENT ACCESSED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2900" xml:space="preserve">
|
||||||
|
<value>POWER ON, RESET, OR BUS DEVICE RESET OCCURRED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2901" xml:space="preserve">
|
||||||
|
<value>POWER ON OCCURRED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2902" xml:space="preserve">
|
||||||
|
<value>BUS RESET OCCURRED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2903" xml:space="preserve">
|
||||||
|
<value>BUS DEVICE RESET FUNCTION OCCURRED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2904" xml:space="preserve">
|
||||||
|
<value>DEVICE INTERNAL RESET</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2A00" xml:space="preserve">
|
||||||
|
<value>PARAMETERS CHANGED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2A01" xml:space="preserve">
|
||||||
|
<value>MODE PARAMETERS CHANGED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2A02" xml:space="preserve">
|
||||||
|
<value>LOG PARAMETERS CHANGED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2C00" xml:space="preserve">
|
||||||
|
<value>COMMMAND SEQUENCE ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2C03" xml:space="preserve">
|
||||||
|
<value>CURRENT PROGRAM AREA IS NOT EMPTY</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2C04" xml:space="preserve">
|
||||||
|
<value>CURRENT PROGRAM AREA IS EMPTY</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_2E00" xml:space="preserve">
|
||||||
|
<value>INSUFFICIENT TIME FOR OPERATION</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3000" xml:space="preserve">
|
||||||
|
<value>INCOMPATIBLE MEDIUM INSTALLED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3001" xml:space="preserve">
|
||||||
|
<value>CANNOT READ MEDIUM - UNKNOWN FORMAT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3002" xml:space="preserve">
|
||||||
|
<value>CANNOT READ MEDIUM - INCOMPATIBLE FORMAT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3003" xml:space="preserve">
|
||||||
|
<value>CLEANING CARTRIDGE INSTALLED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3004" xml:space="preserve">
|
||||||
|
<value>CANNOT WRITE MEDIUM - UNKONWN FORMAT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3005" xml:space="preserve">
|
||||||
|
<value>CANNOT WRITE MEDIUM - INCOMPATIBLE FORMAT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3006" xml:space="preserve">
|
||||||
|
<value>CANNOT FORMAT MEDIUM - INCOMPATIBLE FORMAT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3007" xml:space="preserve">
|
||||||
|
<value>CLEANING FAILURE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3008" xml:space="preserve">
|
||||||
|
<value>CANNOT WRITE - APPLICATION CODE MISMATCH</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3009" xml:space="preserve">
|
||||||
|
<value>CURRENT SESSION NOT FIXATED FOR APPEND</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3010" xml:space="preserve">
|
||||||
|
<value>MEDIUM NOT FORMATTED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3011" xml:space="preserve">
|
||||||
|
<value>CANNOT WRITE MEDIUM - UNSUPPORTED MEDIUM VERSION</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3A00" xml:space="preserve">
|
||||||
|
<value>MEDIUM NOT PRESENT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3A01" xml:space="preserve">
|
||||||
|
<value>MEDIUM NOT PRESENT - TRAY CLOSED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3A02" xml:space="preserve">
|
||||||
|
<value>MEDIUM NOT PRESENT - TRAY OPEN</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3B0D" xml:space="preserve">
|
||||||
|
<value>MEDIUM DESTINATION ELEMENT FULL</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3B0E" xml:space="preserve">
|
||||||
|
<value>MEDIUM SOURCE ELEMENT EMPTY</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3B0F" xml:space="preserve">
|
||||||
|
<value>END OF MEDIUM REACHED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3B11" xml:space="preserve">
|
||||||
|
<value>MEDIUM MAGAZINE NOT ACCESSIBLE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3B12" xml:space="preserve">
|
||||||
|
<value>MEDIUM MAGAZINE REMOVED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3B13" xml:space="preserve">
|
||||||
|
<value>MEDIUM MAGAZINE INSERTED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3B14" xml:space="preserve">
|
||||||
|
<value>MEDIUM MAGAZINE LOCKED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3B15" xml:space="preserve">
|
||||||
|
<value>MEDIUM MAGAZINE UNLOCKED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3E00" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT HAS NOT SELF-CONFIGURED YET</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3E01" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT FAILURE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3E02" xml:space="preserve">
|
||||||
|
<value>TIMEOUT ON LOGICAL UNIT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3F00" xml:space="preserve">
|
||||||
|
<value>TARGET OPERATING CONDITIONS HAVE CHANGED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3F01" xml:space="preserve">
|
||||||
|
<value>MICROCODE HAS BEEN CHANGED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3F02" xml:space="preserve">
|
||||||
|
<value>CHANGED OPERATING DEFINITION</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3F03" xml:space="preserve">
|
||||||
|
<value>INQUIRY DATA HAS CHANGED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5300" xml:space="preserve">
|
||||||
|
<value>MEDIA LOAD OR EJECT FAILED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5302" xml:space="preserve">
|
||||||
|
<value>MEDIUM REMOVAL PREVENTED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5700" xml:space="preserve">
|
||||||
|
<value>UNABLE TO RECOVER TABLE OF CONTENTS</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5A00" xml:space="preserve">
|
||||||
|
<value>OPERATOR REQUEST OR STATE CHANGE INPUT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5A01" xml:space="preserve">
|
||||||
|
<value>OPERATOR MEDIUM REMOVAL REQUEST</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5A02" xml:space="preserve">
|
||||||
|
<value>OPERATOR SELECTED WRITE PROTECT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5A03" xml:space="preserve">
|
||||||
|
<value>OPERATOR SELECTED WRITE PERMIT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5B00" xml:space="preserve">
|
||||||
|
<value>LOG EXCEPTION</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5B01" xml:space="preserve">
|
||||||
|
<value>THRESHOLD CONDITION MET</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5B02" xml:space="preserve">
|
||||||
|
<value>LOG COUNTER AT MAXIMUM</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5B03" xml:space="preserve">
|
||||||
|
<value>LOG LIST CODES EXHAUSTED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5E00" xml:space="preserve">
|
||||||
|
<value>LOW POWER CONDITION ON</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5E01" xml:space="preserve">
|
||||||
|
<value>IDLE CONDITION ACTIVATED BY TIMER</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5E02" xml:space="preserve">
|
||||||
|
<value>STANDBY CONDITION ACTIVATED BY TIMER</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5E03" xml:space="preserve">
|
||||||
|
<value>IDLE CONDITION ACTIVATED BY COMMAND</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_5E04" xml:space="preserve">
|
||||||
|
<value>STANDBY CONDITION ACTIVATED BY COMMAND</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6300" xml:space="preserve">
|
||||||
|
<value>END OF USER AREA ENCOUNTERED ON THIS TRACK</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6301" xml:space="preserve">
|
||||||
|
<value>PACKET DOES NOT FIT IN AVAILABLE SPACE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6400" xml:space="preserve">
|
||||||
|
<value>ILLEGAL MODE FOR THIS TRACK</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6401" xml:space="preserve">
|
||||||
|
<value>INVALID PACKET SIZE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6500" xml:space="preserve">
|
||||||
|
<value>VOLTAGE FAULT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6F00" xml:space="preserve">
|
||||||
|
<value>COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6F01" xml:space="preserve">
|
||||||
|
<value>COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT PRESENT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6F02" xml:space="preserve">
|
||||||
|
<value>COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT ESTABLISHED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6F03" xml:space="preserve">
|
||||||
|
<value>READ OF SCRAMBLED SECTOR WITHOUT AUTHENTICATION</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6F04" xml:space="preserve">
|
||||||
|
<value>MEDIA REGION CODE IS MISMATCHED TO LOGICAL UNIT REGION</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_6F05" xml:space="preserve">
|
||||||
|
<value>LOGICAL UNIT REGION MUST BE PERMANENT/REGION RESET COUNT ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7200" xml:space="preserve">
|
||||||
|
<value>SESSION FIXATION ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7201" xml:space="preserve">
|
||||||
|
<value>SESSION FIXATION ERROR WRITING LEAD-IN</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7202" xml:space="preserve">
|
||||||
|
<value>SESSION FIXATION ERROR WRITING LEAD-OUT</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7203" xml:space="preserve">
|
||||||
|
<value>SESSION FIXATION ERROR - INCOMPLETE TRACK IN SESSION</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7204" xml:space="preserve">
|
||||||
|
<value>EMPTY OR PARTIALLY WRITTEN RESERVED TRACK</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7205" xml:space="preserve">
|
||||||
|
<value>NO MORE TRACK RESERVATIONS ALLOWED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7206" xml:space="preserve">
|
||||||
|
<value>RMZ EXTENSION IS NOT ALLOWED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7207" xml:space="preserve">
|
||||||
|
<value>NO MORE TEST ZONE EXTENSIONS ARE ALLOWED</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7300" xml:space="preserve">
|
||||||
|
<value>CD CONTROL ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7301" xml:space="preserve">
|
||||||
|
<value>POWER CALIBRATION AREA ALMOST</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7302" xml:space="preserve">
|
||||||
|
<value>POWER CALIBRATION AREA IS FULL</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7303" xml:space="preserve">
|
||||||
|
<value>POWER CALIBRATION AREA ERROR</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7304" xml:space="preserve">
|
||||||
|
<value>PROGRAM MEMORY AREA UPDATE FAILURE</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7305" xml:space="preserve">
|
||||||
|
<value>PROGRAM MEMORY AREA IS FULL</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_7306" xml:space="preserve">
|
||||||
|
<value>RMA/PMA IS ALMOST FULL</value>
|
||||||
|
</data>
|
||||||
|
<data name="UnknownSCSIError" xml:space="preserve">
|
||||||
|
<value>NO SENSE STRING FOR</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
129
Bwg.Scsi/Messages.ru-RU.resx
Normal file
129
Bwg.Scsi/Messages.ru-RU.resx
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="SCSIErrorMessage_3A00" xml:space="preserve">
|
||||||
|
<value>отсутствует носитель</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3A01" xml:space="preserve">
|
||||||
|
<value>отсутствует носитель - лоток открыт</value>
|
||||||
|
</data>
|
||||||
|
<data name="SCSIErrorMessage_3A02" xml:space="preserve">
|
||||||
|
<value>отсутствует носитель - лоток закрыт</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@@ -15,10 +15,6 @@ namespace BBBNOVA
|
|||||||
private bool resize = false;
|
private bool resize = false;
|
||||||
|
|
||||||
private Color _backColor = Color.White;
|
private Color _backColor = Color.White;
|
||||||
private Color _color1 = Color.White;
|
|
||||||
private Color _color2 = Color.Gainsboro;
|
|
||||||
private Color _color3 = Color.White;
|
|
||||||
private Color _color4 = Color.PaleGoldenrod;
|
|
||||||
private BNRadius _radius = new BNRadius();
|
private BNRadius _radius = new BNRadius();
|
||||||
|
|
||||||
private int _dropDownHeight = 200;
|
private int _dropDownHeight = 200;
|
||||||
@@ -67,30 +63,6 @@ namespace BBBNOVA
|
|||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
|
|
||||||
public Color Color1
|
|
||||||
{
|
|
||||||
get { return _color1; }
|
|
||||||
set { _color1 = value; Invalidate(true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public Color Color2
|
|
||||||
{
|
|
||||||
get { return _color2; }
|
|
||||||
set { _color2 = value; Invalidate(true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public Color Color3
|
|
||||||
{
|
|
||||||
get { return _color3; }
|
|
||||||
set { _color3 = value; Invalidate(true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public Color Color4
|
|
||||||
{
|
|
||||||
get { return _color4; }
|
|
||||||
set { _color4 = value; Invalidate(true); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public int DropDownHeight
|
public int DropDownHeight
|
||||||
{
|
{
|
||||||
get { return _dropDownHeight; }
|
get { return _dropDownHeight; }
|
||||||
@@ -155,15 +127,7 @@ namespace BBBNOVA
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
_dropDownStyle = value;
|
_dropDownStyle = value;
|
||||||
|
_textBox.Visible = ComboBoxStyle.DropDownList != value;
|
||||||
if (_dropDownStyle == ComboBoxStyle.DropDownList)
|
|
||||||
{
|
|
||||||
_textBox.Visible = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_textBox.Visible = true;
|
|
||||||
}
|
|
||||||
Invalidate(true);
|
Invalidate(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -179,35 +143,36 @@ namespace BBBNOVA
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsDroppedDown
|
public bool IsDroppedDown
|
||||||
{
|
{
|
||||||
get { return _isDroppedDown; }
|
get { return _isDroppedDown; }
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (_isDroppedDown == true && value == false )
|
if (_isDroppedDown == value)
|
||||||
{
|
return;
|
||||||
if (_popupControl.IsDropDown)
|
|
||||||
{
|
|
||||||
_popupControl.Close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_isDroppedDown = value;
|
_isDroppedDown = value;
|
||||||
|
|
||||||
if (_isDroppedDown)
|
if (!_isDroppedDown && _popupControl.IsDropDown)
|
||||||
{
|
{
|
||||||
|
_popupControl.Close();
|
||||||
|
hovered = this.RectangleToScreen(this.ClientRectangle).Contains(MousePosition);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_isDroppedDown)
|
||||||
|
{
|
||||||
_listBox.Width = _dropDownWidth;
|
_listBox.Width = _dropDownWidth;
|
||||||
_listBox.Height = CalculateListHeight();
|
_listBox.Height = CalculateListHeight();
|
||||||
_popupControl.Show(this, CalculateDropPosition(), ToolStripDropDownDirection.BelowRight);
|
_popupControl.Show(this, CalculateDropPosition(), ToolStripDropDownDirection.BelowRight);
|
||||||
Capture = false;
|
Capture = false;
|
||||||
_listBox.Capture = true;
|
_listBox.Capture = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Invalidate();
|
Invalidate();
|
||||||
if (_isDroppedDown)
|
|
||||||
OnDroppedDown(this, EventArgs.Empty);
|
OnDroppedDown(this, EventArgs.Empty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Category("Appearance"), Description("Selects the radius of combobox edges.")]
|
[Category("Appearance"), Description("Selects the radius of combobox edges.")]
|
||||||
public BNRadius Radius
|
public BNRadius Radius
|
||||||
@@ -336,7 +301,7 @@ namespace BBBNOVA
|
|||||||
_popupControl.Padding = new Padding(0);
|
_popupControl.Padding = new Padding(0);
|
||||||
_popupControl.Margin = new Padding(0);
|
_popupControl.Margin = new Padding(0);
|
||||||
_popupControl.AutoSize = true;
|
_popupControl.AutoSize = true;
|
||||||
_popupControl.AutoClose = false;
|
_popupControl.AutoClose = true;
|
||||||
_popupControl.DropShadowEnabled = true;
|
_popupControl.DropShadowEnabled = true;
|
||||||
_popupControl.Items.Add(_controlHost);
|
_popupControl.Items.Add(_controlHost);
|
||||||
|
|
||||||
@@ -347,11 +312,12 @@ namespace BBBNOVA
|
|||||||
_listBox.MeasureItem += new MeasureItemEventHandler(_listBox_MeasureItem);
|
_listBox.MeasureItem += new MeasureItemEventHandler(_listBox_MeasureItem);
|
||||||
_listBox.DrawItem += new DrawItemEventHandler(_listBox_DrawItem);
|
_listBox.DrawItem += new DrawItemEventHandler(_listBox_DrawItem);
|
||||||
_listBox.MouseClick += new MouseEventHandler(_listBox_MouseClick);
|
_listBox.MouseClick += new MouseEventHandler(_listBox_MouseClick);
|
||||||
_listBox.MouseUp += new MouseEventHandler(_listBox_MouseUp);
|
//_listBox.MouseUp += new MouseEventHandler(_listBox_MouseUp);
|
||||||
_listBox.MouseDown += new MouseEventHandler(_listBox_MouseDown);
|
_listBox.MouseDown += new MouseEventHandler(_listBox_MouseDown);
|
||||||
_listBox.MouseMove += new MouseEventHandler(_listBox_MouseMove);
|
_listBox.MouseMove += new MouseEventHandler(_listBox_MouseMove);
|
||||||
//(_listBox.DataManager as CurrencyManager).ListChanged += new ListChangedEventHandler(BNComboBox_ListChanged);
|
//(_listBox.DataManager as CurrencyManager).ListChanged += new ListChangedEventHandler(BNComboBox_ListChanged);
|
||||||
|
|
||||||
|
_popupControl.Closing += new ToolStripDropDownClosingEventHandler(_popupControl_Closing);
|
||||||
_popupControl.Closed += new ToolStripDropDownClosedEventHandler(_popupControl_Closed);
|
_popupControl.Closed += new ToolStripDropDownClosedEventHandler(_popupControl_Closed);
|
||||||
|
|
||||||
_textBox.Resize += new EventHandler(_textBox_Resize);
|
_textBox.Resize += new EventHandler(_textBox_Resize);
|
||||||
@@ -456,8 +422,9 @@ namespace BBBNOVA
|
|||||||
hovered = false;
|
hovered = false;
|
||||||
Invalidate(true);
|
Invalidate(true);
|
||||||
}
|
}
|
||||||
|
if (!this.RectangleToScreen(this.ClientRectangle).Contains(MousePosition) &&
|
||||||
base.OnMouseLeave(e);
|
(!IsDroppedDown || !_popupControl.RectangleToScreen(_popupControl.ClientRectangle).Contains(MousePosition)))
|
||||||
|
base.OnMouseLeave(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnMouseDown(MouseEventArgs e)
|
protected override void OnMouseDown(MouseEventArgs e)
|
||||||
@@ -465,7 +432,7 @@ namespace BBBNOVA
|
|||||||
//System.Diagnostics.Trace.WriteLine(string.Format("OnMouseDown({0})", SelectedIndex));
|
//System.Diagnostics.Trace.WriteLine(string.Format("OnMouseDown({0})", SelectedIndex));
|
||||||
_textBox.Focus();
|
_textBox.Focus();
|
||||||
if (e.Button == MouseButtons.Left)
|
if (e.Button == MouseButtons.Left)
|
||||||
if ((this.RectangleToScreen(rectBtn).Contains(MousePosition) || (DropDownStyle == ComboBoxStyle.DropDownList)))
|
if (rectBtn.Contains(e.Location) || DropDownStyle == ComboBoxStyle.DropDownList || this.IsDroppedDown)
|
||||||
{
|
{
|
||||||
this.IsDroppedDown = !this.IsDroppedDown;
|
this.IsDroppedDown = !this.IsDroppedDown;
|
||||||
}
|
}
|
||||||
@@ -488,6 +455,18 @@ namespace BBBNOVA
|
|||||||
base.OnMouseWheel(e);
|
base.OnMouseWheel(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool Focused
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (base.ContainsFocus) return true;
|
||||||
|
if (this.IsDroppedDown && _popupControl.ContainsFocus) return true;
|
||||||
|
//if (this.IsDroppedDown && _listBox.ContainsFocus) return true;
|
||||||
|
if (this._dropDownStyle != ComboBoxStyle.DropDownList && _textBox.ContainsFocus) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected override void OnGotFocus(EventArgs e)
|
protected override void OnGotFocus(EventArgs e)
|
||||||
{
|
{
|
||||||
Invalidate(true);
|
Invalidate(true);
|
||||||
@@ -496,9 +475,9 @@ namespace BBBNOVA
|
|||||||
|
|
||||||
protected override void OnLostFocus(EventArgs e)
|
protected override void OnLostFocus(EventArgs e)
|
||||||
{
|
{
|
||||||
if (this.IsDroppedDown && !_popupControl.ContainsFocus && !this.ContainsFocus)
|
if (this.IsDroppedDown && !this.Focused)
|
||||||
this.IsDroppedDown = false;
|
this.IsDroppedDown = false;
|
||||||
|
Invalidate();
|
||||||
base.OnLostFocus(e);
|
base.OnLostFocus(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -510,11 +489,16 @@ namespace BBBNOVA
|
|||||||
|
|
||||||
//this.SelectedIndex = _listBox.SelectedIndex;
|
//this.SelectedIndex = _listBox.SelectedIndex;
|
||||||
//this.Invalidate(true);
|
//this.Invalidate(true);
|
||||||
Text = _listBox.SelectedValue != null ?
|
if (Enabled || _listBox.SelectedItem != null)
|
||||||
_listBox.GetItemText(_listBox.SelectedValue) :
|
{
|
||||||
"";
|
Text = _listBox.SelectedItem != null ?
|
||||||
|
_listBox.GetItemText(_listBox.SelectedItem) :
|
||||||
|
"";
|
||||||
|
}
|
||||||
|
// SelectedValue
|
||||||
|
|
||||||
OnSelectedIndexChanged(e);
|
if (_listBox.SelectedIndex >= 0)
|
||||||
|
OnSelectedIndexChanged(e);
|
||||||
|
|
||||||
base.OnSelectedValueChanged(e);
|
base.OnSelectedValueChanged(e);
|
||||||
}
|
}
|
||||||
@@ -610,34 +594,25 @@ namespace BBBNOVA
|
|||||||
Radius.BottomLeft);
|
Radius.BottomLeft);
|
||||||
|
|
||||||
//brushes and pens
|
//brushes and pens
|
||||||
Brush brInnerBrush = new LinearGradientBrush(
|
Color foreColor = Color.FromArgb(IsDroppedDown ? 100 : 50, ForeColor);
|
||||||
new Rectangle(rectInner.X,rectInner.Y,rectInner.Width,rectInner.Height+1),
|
Brush brInnerBrush = new LinearGradientBrush(
|
||||||
(hovered || IsDroppedDown || ContainsFocus)?Color4:Color2, Color.Transparent,
|
new Rectangle(rectInner.X, rectInner.Y, rectInner.Width, rectInner.Height + 1),
|
||||||
LinearGradientMode.Vertical);
|
Color.FromArgb((hovered || IsDroppedDown || Focused) ? 200 : 100, ForeColor), Color.Transparent,
|
||||||
|
LinearGradientMode.Vertical);
|
||||||
Brush brBackground;
|
Brush brBackground;
|
||||||
if (this.DropDownStyle == ComboBoxStyle.DropDownList)
|
if (this.DropDownStyle == ComboBoxStyle.DropDownList)
|
||||||
{
|
brBackground = new LinearGradientBrush(pathInnerBorder.GetBounds(), BackColor, foreColor, LinearGradientMode.Vertical);
|
||||||
brBackground = new LinearGradientBrush(pathInnerBorder.GetBounds(),
|
else
|
||||||
Color.FromArgb(IsDroppedDown ? 100 : 255, Color.White),
|
brBackground = new SolidBrush(BackColor);
|
||||||
Color.FromArgb(IsDroppedDown?255:100, BackColor),
|
Pen penOuterBorder = new Pen(BackColor, 0);
|
||||||
LinearGradientMode.Vertical);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
brBackground = new SolidBrush(BackColor);
|
|
||||||
}
|
|
||||||
Pen penOuterBorder = new Pen(Color1, 0);
|
|
||||||
Pen penInnerBorder = new Pen(brInnerBrush, 0);
|
Pen penInnerBorder = new Pen(brInnerBrush, 0);
|
||||||
LinearGradientBrush brButtonLeft = new LinearGradientBrush(rectBtn, Color1, Color2, LinearGradientMode.Vertical);
|
LinearGradientBrush brButtonLeft = new LinearGradientBrush(rectBtn, BackColor, ForeColor, LinearGradientMode.Vertical);
|
||||||
ColorBlend blend = new ColorBlend();
|
ColorBlend blend = new ColorBlend();
|
||||||
blend.Colors = new Color[] { Color.Transparent, Color2, Color.Transparent };
|
blend.Colors = new Color[] { Color.Transparent, foreColor, Color.Transparent };
|
||||||
blend.Positions = new float[] { 0.0f, 0.5f, 1.0f};
|
blend.Positions = new float[] { 0.0f, 0.5f, 1.0f};
|
||||||
brButtonLeft.InterpolationColors = blend;
|
brButtonLeft.InterpolationColors = blend;
|
||||||
Pen penLeftButton = new Pen(brButtonLeft, 0);
|
Pen penLeftButton = new Pen(brButtonLeft, 0);
|
||||||
Brush brButton = new LinearGradientBrush(pathBtnBorder.GetBounds(),
|
Brush brButton = new LinearGradientBrush(pathBtnBorder.GetBounds(), BackColor, foreColor, LinearGradientMode.Vertical);
|
||||||
Color.FromArgb(100, IsDroppedDown? Color2:Color.White),
|
|
||||||
Color.FromArgb(100, IsDroppedDown ? Color.White : Color2),
|
|
||||||
LinearGradientMode.Vertical);
|
|
||||||
|
|
||||||
//draw
|
//draw
|
||||||
e.Graphics.FillPath(brBackground, pathContentBorder);
|
e.Graphics.FillPath(brBackground, pathContentBorder);
|
||||||
@@ -691,11 +666,11 @@ namespace BBBNOVA
|
|||||||
SolidBrush foreBrush = new SolidBrush(ForeColor);
|
SolidBrush foreBrush = new SolidBrush(ForeColor);
|
||||||
if (Enabled)
|
if (Enabled)
|
||||||
{
|
{
|
||||||
e.Graphics.DrawString(_textBox.Text, this.Font, foreBrush, rectText.Location);
|
e.Graphics.DrawString(_textBox.Text, this.Font, foreBrush, rectText);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ControlPaint.DrawStringDisabled(e.Graphics, _textBox.Text, Font, Color1, rectText, sf);
|
ControlPaint.DrawStringDisabled(e.Graphics, _textBox.Text, Font, BackColor, rectText, sf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@@ -823,8 +798,9 @@ namespace BBBNOVA
|
|||||||
int i = _listBox.IndexFromPoint(e.Location);
|
int i = _listBox.IndexFromPoint(e.Location);
|
||||||
if (_hoverItem != i)
|
if (_hoverItem != i)
|
||||||
{
|
{
|
||||||
|
if (_hoverItem != -1) _listBox.Invalidate(_listBox.GetItemRectangle(_hoverItem));
|
||||||
_hoverItem = i;
|
_hoverItem = i;
|
||||||
_listBox.Invalidate();
|
if (_hoverItem != -1) _listBox.Invalidate(_listBox.GetItemRectangle(_hoverItem));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -837,16 +813,16 @@ namespace BBBNOVA
|
|||||||
IsDroppedDown = false;
|
IsDroppedDown = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _listBox_MouseUp(object sender, MouseEventArgs e)
|
//void _listBox_MouseUp(object sender, MouseEventArgs e)
|
||||||
{
|
//{
|
||||||
int i = _listBox.IndexFromPoint(e.Location);
|
// int i = _listBox.IndexFromPoint(e.Location);
|
||||||
//System.Diagnostics.Trace.WriteLine(string.Format("_listBox_MouseUp({0})", i));
|
// //System.Diagnostics.Trace.WriteLine(string.Format("_listBox_MouseUp({0})", i));
|
||||||
if (i >= 0)
|
// if (i >= 0)
|
||||||
{
|
// {
|
||||||
_listBox.SelectedIndex = i;
|
// _listBox.SelectedIndex = i;
|
||||||
IsDroppedDown = false;
|
// IsDroppedDown = false;
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
void _listBox_MouseClick(object sender, MouseEventArgs e)
|
void _listBox_MouseClick(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
@@ -881,8 +857,8 @@ namespace BBBNOVA
|
|||||||
{
|
{
|
||||||
if (DrawMode == DrawMode.Normal)
|
if (DrawMode == DrawMode.Normal)
|
||||||
{
|
{
|
||||||
Color fg = _hoverItem != -1 && _hoverItem == e.Index ? Color1 : Color4;
|
Color fg = _hoverItem != -1 && _hoverItem == e.Index ? BackColor : ForeColor;
|
||||||
Color bg = _hoverItem != -1 && _hoverItem == e.Index ? Color4 : Color1;
|
Color bg = _hoverItem != -1 && _hoverItem == e.Index ? ForeColor : BackColor;
|
||||||
e.Graphics.FillRectangle(new SolidBrush(bg), e.Bounds);
|
e.Graphics.FillRectangle(new SolidBrush(bg), e.Bounds);
|
||||||
|
|
||||||
if (e.Index >= 0)
|
if (e.Index >= 0)
|
||||||
@@ -906,7 +882,8 @@ namespace BBBNOVA
|
|||||||
StringFormat sf = new StringFormat(StringFormatFlags.NoWrap);
|
StringFormat sf = new StringFormat(StringFormatFlags.NoWrap);
|
||||||
sf.Alignment = StringAlignment.Near;
|
sf.Alignment = StringAlignment.Near;
|
||||||
textBounds.Offset(-3, 0);
|
textBounds.Offset(-3, 0);
|
||||||
e.Graphics.DrawString(_listBox.GetItemText(Items[e.Index]), e.Font, new SolidBrush(fg), textBounds);
|
textBounds.Height = _textBox.Height;
|
||||||
|
e.Graphics.DrawString(_listBox.GetItemText(Items[e.Index]), this.Font, new SolidBrush(fg), textBounds);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -938,19 +915,20 @@ namespace BBBNOVA
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void _popupControl_Closed(object sender, ToolStripDropDownClosedEventArgs e)
|
void _popupControl_Closing(object sender, ToolStripDropDownClosingEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.CloseReason == ToolStripDropDownCloseReason.AppClicked)
|
||||||
|
{
|
||||||
|
if (this.RectangleToScreen(this.ClientRectangle).Contains(MousePosition))
|
||||||
|
e.Cancel = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void _popupControl_Closed(object sender, ToolStripDropDownClosedEventArgs e)
|
||||||
{
|
{
|
||||||
_isDroppedDown = false;
|
IsDroppedDown = false;
|
||||||
if (!this.RectangleToScreen(this.ClientRectangle).Contains(MousePosition))
|
|
||||||
{
|
|
||||||
hovered = false;
|
|
||||||
}
|
|
||||||
_hoverItem = -1;
|
|
||||||
Invalidate(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void _textBox_Resize(object sender, EventArgs e)
|
void _textBox_Resize(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.AdjustControls();
|
this.AdjustControls();
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
63
CUERipper/frmCUERipper.Designer.cs
generated
63
CUERipper/frmCUERipper.Designer.cs
generated
@@ -82,6 +82,7 @@ namespace CUERipper
|
|||||||
this.imageListMetadataSource = new System.Windows.Forms.ImageList(this.components);
|
this.imageListMetadataSource = new System.Windows.Forms.ImageList(this.components);
|
||||||
this.bnComboBoxDrives = new BBBNOVA.BNComboBox();
|
this.bnComboBoxDrives = new BBBNOVA.BNComboBox();
|
||||||
this.drivesBindingSource = new System.Windows.Forms.BindingSource(this.components);
|
this.drivesBindingSource = new System.Windows.Forms.BindingSource(this.components);
|
||||||
|
this.bnComboBoxOutputFormat = new BBBNOVA.BNComboBox();
|
||||||
this.statusStrip1.SuspendLayout();
|
this.statusStrip1.SuspendLayout();
|
||||||
this.contextMenuStripRelease.SuspendLayout();
|
this.contextMenuStripRelease.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit();
|
||||||
@@ -280,12 +281,8 @@ namespace CUERipper
|
|||||||
//
|
//
|
||||||
// bnComboBoxLosslessOrNot
|
// bnComboBoxLosslessOrNot
|
||||||
//
|
//
|
||||||
this.bnComboBoxLosslessOrNot.BackColor = System.Drawing.SystemColors.ControlDark;
|
this.bnComboBoxLosslessOrNot.BackColor = System.Drawing.Color.White;
|
||||||
this.bnComboBoxLosslessOrNot.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.bnComboBoxLosslessOrNot.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
this.bnComboBoxLosslessOrNot.Color1 = System.Drawing.SystemColors.Control;
|
|
||||||
this.bnComboBoxLosslessOrNot.Color2 = System.Drawing.SystemColors.ControlDark;
|
|
||||||
this.bnComboBoxLosslessOrNot.Color3 = System.Drawing.Color.Maroon;
|
|
||||||
this.bnComboBoxLosslessOrNot.Color4 = System.Drawing.SystemColors.ControlDarkDark;
|
|
||||||
this.bnComboBoxLosslessOrNot.DataSource = this.losslessOrNotBindingSource;
|
this.bnComboBoxLosslessOrNot.DataSource = this.losslessOrNotBindingSource;
|
||||||
this.bnComboBoxLosslessOrNot.DropDownHeight = 200;
|
this.bnComboBoxLosslessOrNot.DropDownHeight = 200;
|
||||||
this.bnComboBoxLosslessOrNot.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.bnComboBoxLosslessOrNot.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
@@ -314,12 +311,8 @@ namespace CUERipper
|
|||||||
//
|
//
|
||||||
// bnComboBoxEncoder
|
// bnComboBoxEncoder
|
||||||
//
|
//
|
||||||
this.bnComboBoxEncoder.BackColor = System.Drawing.SystemColors.ControlDark;
|
this.bnComboBoxEncoder.BackColor = System.Drawing.Color.White;
|
||||||
this.bnComboBoxEncoder.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.bnComboBoxEncoder.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
this.bnComboBoxEncoder.Color1 = System.Drawing.SystemColors.Control;
|
|
||||||
this.bnComboBoxEncoder.Color2 = System.Drawing.SystemColors.ControlDark;
|
|
||||||
this.bnComboBoxEncoder.Color3 = System.Drawing.Color.Maroon;
|
|
||||||
this.bnComboBoxEncoder.Color4 = System.Drawing.SystemColors.ControlDarkDark;
|
|
||||||
this.bnComboBoxEncoder.DataSource = this.encodersBindingSource;
|
this.bnComboBoxEncoder.DataSource = this.encodersBindingSource;
|
||||||
this.bnComboBoxEncoder.DropDownHeight = 200;
|
this.bnComboBoxEncoder.DropDownHeight = 200;
|
||||||
this.bnComboBoxEncoder.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.bnComboBoxEncoder.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
@@ -349,12 +342,8 @@ namespace CUERipper
|
|||||||
//
|
//
|
||||||
// bnComboBoxFormat
|
// bnComboBoxFormat
|
||||||
//
|
//
|
||||||
this.bnComboBoxFormat.BackColor = System.Drawing.SystemColors.ControlDark;
|
this.bnComboBoxFormat.BackColor = System.Drawing.Color.White;
|
||||||
this.bnComboBoxFormat.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.bnComboBoxFormat.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
this.bnComboBoxFormat.Color1 = System.Drawing.SystemColors.Control;
|
|
||||||
this.bnComboBoxFormat.Color2 = System.Drawing.SystemColors.ControlDark;
|
|
||||||
this.bnComboBoxFormat.Color3 = System.Drawing.Color.Maroon;
|
|
||||||
this.bnComboBoxFormat.Color4 = System.Drawing.SystemColors.ControlDarkDark;
|
|
||||||
this.bnComboBoxFormat.DataSource = this.formatsBindingSource;
|
this.bnComboBoxFormat.DataSource = this.formatsBindingSource;
|
||||||
this.bnComboBoxFormat.DropDownHeight = 200;
|
this.bnComboBoxFormat.DropDownHeight = 200;
|
||||||
this.bnComboBoxFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.bnComboBoxFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
@@ -385,12 +374,8 @@ namespace CUERipper
|
|||||||
//
|
//
|
||||||
// bnComboBoxImage
|
// bnComboBoxImage
|
||||||
//
|
//
|
||||||
this.bnComboBoxImage.BackColor = System.Drawing.SystemColors.ControlDark;
|
this.bnComboBoxImage.BackColor = System.Drawing.Color.White;
|
||||||
this.bnComboBoxImage.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.bnComboBoxImage.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
this.bnComboBoxImage.Color1 = System.Drawing.SystemColors.Control;
|
|
||||||
this.bnComboBoxImage.Color2 = System.Drawing.SystemColors.ControlDark;
|
|
||||||
this.bnComboBoxImage.Color3 = System.Drawing.Color.Maroon;
|
|
||||||
this.bnComboBoxImage.Color4 = System.Drawing.SystemColors.ControlDarkDark;
|
|
||||||
this.bnComboBoxImage.DataSource = this.cUEStylesBindingSource;
|
this.bnComboBoxImage.DataSource = this.cUEStylesBindingSource;
|
||||||
this.bnComboBoxImage.DropDownHeight = 200;
|
this.bnComboBoxImage.DropDownHeight = 200;
|
||||||
this.bnComboBoxImage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.bnComboBoxImage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
@@ -534,12 +519,8 @@ namespace CUERipper
|
|||||||
//
|
//
|
||||||
// bnComboBoxRelease
|
// bnComboBoxRelease
|
||||||
//
|
//
|
||||||
this.bnComboBoxRelease.BackColor = System.Drawing.SystemColors.ControlDarkDark;
|
this.bnComboBoxRelease.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||||
this.bnComboBoxRelease.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.bnComboBoxRelease.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
this.bnComboBoxRelease.Color1 = System.Drawing.SystemColors.Control;
|
|
||||||
this.bnComboBoxRelease.Color2 = System.Drawing.SystemColors.ControlDark;
|
|
||||||
this.bnComboBoxRelease.Color3 = System.Drawing.Color.Maroon;
|
|
||||||
this.bnComboBoxRelease.Color4 = System.Drawing.SystemColors.ControlDarkDark;
|
|
||||||
this.bnComboBoxRelease.ContextMenuStrip = this.contextMenuStripRelease;
|
this.bnComboBoxRelease.ContextMenuStrip = this.contextMenuStripRelease;
|
||||||
this.bnComboBoxRelease.DataSource = this.releasesBindingSource;
|
this.bnComboBoxRelease.DataSource = this.releasesBindingSource;
|
||||||
this.bnComboBoxRelease.DropDownHeight = 200;
|
this.bnComboBoxRelease.DropDownHeight = 200;
|
||||||
@@ -574,12 +555,8 @@ namespace CUERipper
|
|||||||
//
|
//
|
||||||
// bnComboBoxDrives
|
// bnComboBoxDrives
|
||||||
//
|
//
|
||||||
this.bnComboBoxDrives.BackColor = System.Drawing.SystemColors.ControlDarkDark;
|
this.bnComboBoxDrives.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||||
this.bnComboBoxDrives.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.bnComboBoxDrives.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
this.bnComboBoxDrives.Color1 = System.Drawing.SystemColors.Control;
|
|
||||||
this.bnComboBoxDrives.Color2 = System.Drawing.SystemColors.ControlDark;
|
|
||||||
this.bnComboBoxDrives.Color3 = System.Drawing.Color.Maroon;
|
|
||||||
this.bnComboBoxDrives.Color4 = System.Drawing.SystemColors.ControlDarkDark;
|
|
||||||
this.bnComboBoxDrives.DataSource = this.drivesBindingSource;
|
this.bnComboBoxDrives.DataSource = this.drivesBindingSource;
|
||||||
this.bnComboBoxDrives.DropDownHeight = 200;
|
this.bnComboBoxDrives.DropDownHeight = 200;
|
||||||
this.bnComboBoxDrives.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.bnComboBoxDrives.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
@@ -603,13 +580,36 @@ namespace CUERipper
|
|||||||
this.drivesBindingSource.DataMember = "Drives";
|
this.drivesBindingSource.DataMember = "Drives";
|
||||||
this.drivesBindingSource.DataSource = this.bindingSourceCR;
|
this.drivesBindingSource.DataSource = this.bindingSourceCR;
|
||||||
//
|
//
|
||||||
|
// bnComboBoxOutputFormat
|
||||||
|
//
|
||||||
|
this.bnComboBoxOutputFormat.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||||
|
this.bnComboBoxOutputFormat.Border = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.bnComboBoxOutputFormat.DropDownHeight = 200;
|
||||||
|
this.bnComboBoxOutputFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown;
|
||||||
|
this.bnComboBoxOutputFormat.DropDownWidth = 552;
|
||||||
|
this.bnComboBoxOutputFormat.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||||
|
this.bnComboBoxOutputFormat.ImageList = null;
|
||||||
|
this.bnComboBoxOutputFormat.IsDroppedDown = false;
|
||||||
|
resources.ApplyResources(this.bnComboBoxOutputFormat, "bnComboBoxOutputFormat");
|
||||||
|
this.bnComboBoxOutputFormat.MaxDropDownItems = 8;
|
||||||
|
this.bnComboBoxOutputFormat.MinimumSize = new System.Drawing.Size(40, 21);
|
||||||
|
this.bnComboBoxOutputFormat.Name = "bnComboBoxOutputFormat";
|
||||||
|
this.bnComboBoxOutputFormat.Radius = ((BBBNOVA.BNRadius)(resources.GetObject("bnComboBoxOutputFormat.Radius")));
|
||||||
|
this.bnComboBoxOutputFormat.SelectedIndex = -1;
|
||||||
|
this.bnComboBoxOutputFormat.SelectedItem = null;
|
||||||
|
this.bnComboBoxOutputFormat.Sorted = false;
|
||||||
|
this.bnComboBoxOutputFormat.DroppedDown += new System.EventHandler(this.bnComboBoxOutputFormat_DroppedDown);
|
||||||
|
this.bnComboBoxOutputFormat.MouseLeave += new System.EventHandler(this.bnComboBoxOutputFormat_MouseLeave);
|
||||||
|
this.bnComboBoxOutputFormat.TextChanged += new System.EventHandler(this.bnComboBoxOutputFormat_TextChanged);
|
||||||
|
//
|
||||||
// frmCUERipper
|
// frmCUERipper
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.txtOutputPath);
|
||||||
this.Controls.Add(this.bnComboBoxRelease);
|
this.Controls.Add(this.bnComboBoxRelease);
|
||||||
this.Controls.Add(this.bnComboBoxDrives);
|
this.Controls.Add(this.bnComboBoxDrives);
|
||||||
this.Controls.Add(this.txtOutputPath);
|
this.Controls.Add(this.bnComboBoxOutputFormat);
|
||||||
this.Controls.Add(this.comboBoxOutputFormat);
|
this.Controls.Add(this.comboBoxOutputFormat);
|
||||||
this.Controls.Add(this.progressBarErrors);
|
this.Controls.Add(this.progressBarErrors);
|
||||||
this.Controls.Add(this.progressBarCD);
|
this.Controls.Add(this.progressBarCD);
|
||||||
@@ -701,6 +701,7 @@ namespace CUERipper
|
|||||||
private System.Windows.Forms.BindingSource encodersBindingSource;
|
private System.Windows.Forms.BindingSource encodersBindingSource;
|
||||||
private BBBNOVA.BNComboBox bnComboBoxLosslessOrNot;
|
private BBBNOVA.BNComboBox bnComboBoxLosslessOrNot;
|
||||||
private System.Windows.Forms.BindingSource losslessOrNotBindingSource;
|
private System.Windows.Forms.BindingSource losslessOrNotBindingSource;
|
||||||
|
private BBBNOVA.BNComboBox bnComboBoxOutputFormat;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,13 +24,11 @@ namespace CUERipper
|
|||||||
public partial class frmCUERipper : Form
|
public partial class frmCUERipper : Form
|
||||||
{
|
{
|
||||||
private Thread _workThread = null;
|
private Thread _workThread = null;
|
||||||
private ICDRipper _reader = null;
|
|
||||||
private StartStop _startStop;
|
private StartStop _startStop;
|
||||||
private CUEConfig _config;
|
private CUEConfig _config;
|
||||||
private string _format;
|
|
||||||
private CUESheet cueSheet;
|
private CUESheet cueSheet;
|
||||||
private ReleaseInfo selectedRelease;
|
private ReleaseInfo selectedRelease;
|
||||||
private DriveInfo selectedDrive;
|
private DriveInfo selectedDriveInfo;
|
||||||
private string _pathOut;
|
private string _pathOut;
|
||||||
string _defaultLosslessFormat, _defaultLossyFormat, _defaultHybridFormat;
|
string _defaultLosslessFormat, _defaultLossyFormat, _defaultHybridFormat;
|
||||||
private CUEControls.ShellIconMgr m_icon_mgr;
|
private CUEControls.ShellIconMgr m_icon_mgr;
|
||||||
@@ -51,11 +49,6 @@ namespace CUERipper
|
|||||||
m_icon_mgr.SetExtensionIcon(".ogg", Properties.Resources.ogg);
|
m_icon_mgr.SetExtensionIcon(".ogg", Properties.Resources.ogg);
|
||||||
}
|
}
|
||||||
|
|
||||||
//private byte toBCD(int val)
|
|
||||||
//{
|
|
||||||
// return (byte)(((val / 10) << 4) + (val % 10));
|
|
||||||
//}
|
|
||||||
|
|
||||||
string[] OutputPathUseTemplates = {
|
string[] OutputPathUseTemplates = {
|
||||||
"%music%\\%artist%\\[%year% - ]%album%\\%artist% - %album%.cue",
|
"%music%\\%artist%\\[%year% - ]%album%\\%artist% - %album%.cue",
|
||||||
"%music%\\%artist%\\[%year% - ]%album%[ - %edition%]$ifgreater($max(%discnumber%,%totaldiscs%),1, - cd %discnumber%,)[' ('%unique%')']\\%artist% - %album%[ - %edition%].cue"
|
"%music%\\%artist%\\[%year% - ]%album%[ - %edition%]$ifgreater($max(%discnumber%,%totaldiscs%),1, - cd %discnumber%,)[' ('%unique%')']\\%artist% - %album%[ - %edition%].cue"
|
||||||
@@ -118,32 +111,6 @@ namespace CUERipper
|
|||||||
|
|
||||||
private void frmCUERipper_Load(object sender, EventArgs e)
|
private void frmCUERipper_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
bindingSourceCR.DataSource = this;
|
|
||||||
bnComboBoxDrives.ImageList = m_icon_mgr.ImageList;
|
|
||||||
bnComboBoxFormat.ImageList = m_icon_mgr.ImageList;
|
|
||||||
//releaseBindingSource.DataSource = new string[] { "a", "b", "ccc" };
|
|
||||||
//byte[] _subchannelBuffer0 = { 0x01, 0x01, 0x01, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x02, 0x0A, 0x4C, 0x43 };
|
|
||||||
//byte[] _subchannelBuffer1 = { 0x21, 0x01, 0x01, 0x00, 0x00, 0x11, 0x00, 0x00, 0x02, 0x11, 0xCF, 0x3E };
|
|
||||||
//byte[] _subchannelBuffer2 = { 0x21, 0x01, 0x01, 0x00, 0x00, 0x12, 0x00, 0x00, 0x02, 0x12, 0x11, 0x8F };
|
|
||||||
|
|
||||||
//_subchannelBuffer0[3] = toBCD(_subchannelBuffer0[3]);
|
|
||||||
//_subchannelBuffer0[4] = toBCD(_subchannelBuffer0[4]);
|
|
||||||
//_subchannelBuffer0[5] = toBCD(_subchannelBuffer0[5]);
|
|
||||||
//_subchannelBuffer0[7] = toBCD(_subchannelBuffer0[7]);
|
|
||||||
//_subchannelBuffer0[8] = toBCD(_subchannelBuffer0[8]);
|
|
||||||
//_subchannelBuffer0[9] = toBCD(_subchannelBuffer0[9]);
|
|
||||||
|
|
||||||
//Crc16Ccitt _crc = new Crc16Ccitt(InitialCrcValue.Zeros);
|
|
||||||
//ushort crc0a = (ushort)(_crc.ComputeChecksum(_subchannelBuffer0, 0, 10) ^ 0xffff);
|
|
||||||
//ushort crc0b = (ushort)(_subchannelBuffer0[11] + (_subchannelBuffer0[10] << 8));
|
|
||||||
//ushort crc1a = (ushort)(_crc.ComputeChecksum(_subchannelBuffer1, 0, 10) ^ 0xffff);
|
|
||||||
//ushort crc1b = (ushort)(_subchannelBuffer1[11] + (_subchannelBuffer1[10] << 8));
|
|
||||||
//ushort crc2a = (ushort)(_crc.ComputeChecksum(_subchannelBuffer2, 0, 10) ^ 0xffff);
|
|
||||||
//ushort crc2b = (ushort)(_subchannelBuffer2[11] + (_subchannelBuffer2[10] << 8));
|
|
||||||
//if (crc0a != crc0b) // || crc1a != crc1b || crc2a != crc2b)
|
|
||||||
//{
|
|
||||||
//}
|
|
||||||
SetupControls();
|
|
||||||
SettingsReader sr = new SettingsReader("CUERipper", "settings.txt", Application.ExecutablePath);
|
SettingsReader sr = new SettingsReader("CUERipper", "settings.txt", Application.ExecutablePath);
|
||||||
_config.Load(sr);
|
_config.Load(sr);
|
||||||
_defaultLosslessFormat = sr.Load("DefaultLosslessFormat") ?? "flac";
|
_defaultLosslessFormat = sr.Load("DefaultLosslessFormat") ?? "flac";
|
||||||
@@ -153,16 +120,25 @@ namespace CUERipper
|
|||||||
//_config.preserveHTOA = sr.LoadBoolean("PreserveHTOA") ?? false;
|
//_config.preserveHTOA = sr.LoadBoolean("PreserveHTOA") ?? false;
|
||||||
//_config.createM3U = sr.LoadBoolean("CreateM3U") ?? true;
|
//_config.createM3U = sr.LoadBoolean("CreateM3U") ?? true;
|
||||||
|
|
||||||
|
bindingSourceCR.DataSource = this;
|
||||||
|
bnComboBoxDrives.ImageList = m_icon_mgr.ImageList;
|
||||||
|
bnComboBoxFormat.ImageList = m_icon_mgr.ImageList;
|
||||||
|
SetupControls();
|
||||||
|
|
||||||
int iFormat, nFormats = sr.LoadInt32("OutputPathUseTemplates", 0, 10) ?? 0;
|
int iFormat, nFormats = sr.LoadInt32("OutputPathUseTemplates", 0, 10) ?? 0;
|
||||||
for (iFormat = 0; iFormat < OutputPathUseTemplates.Length; iFormat++)
|
for (iFormat = 0; iFormat < OutputPathUseTemplates.Length; iFormat++)
|
||||||
comboBoxOutputFormat.Items.Add(OutputPathUseTemplates[iFormat]);
|
comboBoxOutputFormat.Items.Add(OutputPathUseTemplates[iFormat]);
|
||||||
for (iFormat = nFormats - 1; iFormat >= 0; iFormat--)
|
for (iFormat = nFormats - 1; iFormat >= 0; iFormat--)
|
||||||
comboBoxOutputFormat.Items.Add(sr.Load(string.Format("OutputPathUseTemplate{0}", iFormat)) ?? "");
|
comboBoxOutputFormat.Items.Add(sr.Load(string.Format("OutputPathUseTemplate{0}", iFormat)) ?? "");
|
||||||
|
for (iFormat = 0; iFormat < OutputPathUseTemplates.Length; iFormat++)
|
||||||
|
bnComboBoxOutputFormat.Items.Add(OutputPathUseTemplates[iFormat]);
|
||||||
|
for (iFormat = nFormats - 1; iFormat >= 0; iFormat--)
|
||||||
|
bnComboBoxOutputFormat.Items.Add(sr.Load(string.Format("OutputPathUseTemplate{0}", iFormat)) ?? "");
|
||||||
|
|
||||||
comboBoxOutputFormat.Text = sr.Load("PathFormat") ?? "%music%\\%artist%\\[%year% - ]%album%\\%artist% - %album%.cue";
|
comboBoxOutputFormat.Text = sr.Load("PathFormat") ?? "%music%\\%artist%\\[%year% - ]%album%\\%artist% - %album%.cue";
|
||||||
|
bnComboBoxOutputFormat.Text = sr.Load("PathFormat") ?? "%music%\\%artist%\\[%year% - ]%album%\\%artist% - %album%.cue";
|
||||||
checkBoxEACMode.Checked = _config.createEACLOG;
|
checkBoxEACMode.Checked = _config.createEACLOG;
|
||||||
SelectedOutputAudioType = (AudioEncoderType?)sr.LoadInt32("OutputAudioType", null, null) ?? AudioEncoderType.Lossless;
|
SelectedOutputAudioType = (AudioEncoderType?)sr.LoadInt32("OutputAudioType", null, null) ?? AudioEncoderType.Lossless;
|
||||||
bnComboBoxFormat.SelectedIndex = sr.LoadInt32("ComboCodec", 0, bnComboBoxFormat.Items.Count - 1) ?? 0;
|
|
||||||
bnComboBoxImage.SelectedIndex = sr.LoadInt32("ComboImage", 0, bnComboBoxImage.Items.Count - 1) ?? 0;
|
bnComboBoxImage.SelectedIndex = sr.LoadInt32("ComboImage", 0, bnComboBoxImage.Items.Count - 1) ?? 0;
|
||||||
trackBarSecureMode.Value = sr.LoadInt32("SecureMode", 0, trackBarSecureMode.Maximum - 1) ?? 1;
|
trackBarSecureMode.Value = sr.LoadInt32("SecureMode", 0, trackBarSecureMode.Maximum - 1) ?? 1;
|
||||||
trackBarSecureMode_Scroll(this, new EventArgs());
|
trackBarSecureMode_Scroll(this, new EventArgs());
|
||||||
@@ -211,7 +187,7 @@ namespace CUERipper
|
|||||||
listTracks.Items.Clear();
|
listTracks.Items.Clear();
|
||||||
releases.Clear();
|
releases.Clear();
|
||||||
selectedRelease = null;
|
selectedRelease = null;
|
||||||
selectedDrive = null;
|
selectedDriveInfo = null;
|
||||||
bnComboBoxRelease.Text = "";
|
bnComboBoxRelease.Text = "";
|
||||||
foreach (char drive in CDDrivesList.DrivesAvailable())
|
foreach (char drive in CDDrivesList.DrivesAvailable())
|
||||||
{
|
{
|
||||||
@@ -232,14 +208,14 @@ namespace CUERipper
|
|||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
drives.Add(new DriveInfo(drive + ": " + ex.Message));
|
drives.Add(new DriveInfo(m_icon_mgr, drive + ":\\", ex.Message));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!AccurateRipVerify.FindDriveReadOffset(arName, out driveOffset))
|
if (!AccurateRipVerify.FindDriveReadOffset(arName, out driveOffset))
|
||||||
; //throw new Exception("Failed to find drive read offset for drive" + _ripper.ARName);
|
; //throw new Exception("Failed to find drive read offset for drive" + _ripper.ARName);
|
||||||
reader.DriveOffset = driveOffset;
|
reader.DriveOffset = driveOffset;
|
||||||
drives.Add(new DriveInfo(reader, drive + ":\\", m_icon_mgr));
|
drives.Add(new DriveInfo(m_icon_mgr, drive + ":\\", reader));
|
||||||
}
|
}
|
||||||
if (drives.Count == 0)
|
if (drives.Count == 0)
|
||||||
{
|
{
|
||||||
@@ -256,13 +232,14 @@ namespace CUERipper
|
|||||||
{
|
{
|
||||||
bool running = _workThread != null;
|
bool running = _workThread != null;
|
||||||
|
|
||||||
comboBoxOutputFormat.Visible = outputFormatVisible;
|
bnComboBoxOutputFormat.Visible = comboBoxOutputFormat.Visible = outputFormatVisible;
|
||||||
txtOutputPath.Visible = !outputFormatVisible;
|
txtOutputPath.Visible = !outputFormatVisible;
|
||||||
txtOutputPath.Enabled = !running && !outputFormatVisible;
|
txtOutputPath.Enabled = !running && !outputFormatVisible;
|
||||||
|
bnComboBoxRelease.Enabled = !running && releases.Count > 0;
|
||||||
|
bnComboBoxOutputFormat.Enabled =
|
||||||
comboBoxOutputFormat.Enabled =
|
comboBoxOutputFormat.Enabled =
|
||||||
listTracks.Enabled =
|
listTracks.Enabled =
|
||||||
bnComboBoxDrives.Enabled =
|
bnComboBoxDrives.Enabled =
|
||||||
bnComboBoxRelease.Enabled =
|
|
||||||
groupBoxSettings.Enabled = !running;
|
groupBoxSettings.Enabled = !running;
|
||||||
buttonPause.Visible = buttonPause.Enabled = buttonAbort.Visible = buttonAbort.Enabled = running;
|
buttonPause.Visible = buttonPause.Enabled = buttonAbort.Visible = buttonAbort.Enabled = running;
|
||||||
buttonGo.Visible = buttonGo.Enabled = !running;
|
buttonGo.Visible = buttonGo.Enabled = !running;
|
||||||
@@ -348,7 +325,7 @@ namespace CUERipper
|
|||||||
submit &= audioSource.CorrectionQuality > 0;
|
submit &= audioSource.CorrectionQuality > 0;
|
||||||
|
|
||||||
foreach (DBEntry entry in cueSheet.CTDB.Entries)
|
foreach (DBEntry entry in cueSheet.CTDB.Entries)
|
||||||
if (entry.toc.TrackOffsets == _reader.TOC.TrackOffsets && !entry.hasErrors)
|
if (entry.toc.TrackOffsets == selectedDriveInfo.drive.TOC.TrackOffsets && !entry.hasErrors)
|
||||||
confirm = entry;
|
confirm = entry;
|
||||||
|
|
||||||
for (int iSector = 0; iSector < (int)cueSheet.TOC.AudioLength; iSector++)
|
for (int iSector = 0; iSector < (int)cueSheet.TOC.AudioLength; iSector++)
|
||||||
@@ -397,7 +374,7 @@ namespace CUERipper
|
|||||||
|
|
||||||
private void buttonGo_Click(object sender, EventArgs e)
|
private void buttonGo_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (_reader == null)
|
if (selectedDriveInfo == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!comboBoxOutputFormat.Items.Contains(comboBoxOutputFormat.Text) && comboBoxOutputFormat.Text.Contains("%"))
|
if (!comboBoxOutputFormat.Items.Contains(comboBoxOutputFormat.Text) && comboBoxOutputFormat.Text.Contains("%"))
|
||||||
@@ -407,26 +384,32 @@ namespace CUERipper
|
|||||||
comboBoxOutputFormat.Items.RemoveAt(OutputPathUseTemplates.Length + 10);
|
comboBoxOutputFormat.Items.RemoveAt(OutputPathUseTemplates.Length + 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!bnComboBoxOutputFormat.Items.Contains(bnComboBoxOutputFormat.Text) && bnComboBoxOutputFormat.Text.Contains("%"))
|
||||||
|
{
|
||||||
|
bnComboBoxOutputFormat.Items.Insert(OutputPathUseTemplates.Length, bnComboBoxOutputFormat.Text);
|
||||||
|
if (bnComboBoxOutputFormat.Items.Count > OutputPathUseTemplates.Length + 10)
|
||||||
|
bnComboBoxOutputFormat.Items.RemoveAt(OutputPathUseTemplates.Length + 10);
|
||||||
|
}
|
||||||
|
|
||||||
cueSheet.CopyMetadata(selectedRelease.metadata);
|
cueSheet.CopyMetadata(selectedRelease.metadata);
|
||||||
_format = bnComboBoxFormat.SelectedItem.ToString();
|
|
||||||
cueSheet.OutputStyle = bnComboBoxImage.SelectedIndex == 0 ? CUEStyle.SingleFileWithCUE :
|
cueSheet.OutputStyle = bnComboBoxImage.SelectedIndex == 0 ? CUEStyle.SingleFileWithCUE :
|
||||||
CUEStyle.GapsAppended;
|
CUEStyle.GapsAppended;
|
||||||
_pathOut = cueSheet.GenerateUniqueOutputPath(comboBoxOutputFormat.Text,
|
_pathOut = cueSheet.GenerateUniqueOutputPath(bnComboBoxOutputFormat.Text,
|
||||||
cueSheet.OutputStyle == CUEStyle.SingleFileWithCUE ? "." + _format : ".cue",
|
cueSheet.OutputStyle == CUEStyle.SingleFileWithCUE ? "." + selectedFormat.ToString() : ".cue",
|
||||||
CUEAction.Encode, null);
|
CUEAction.Encode, null);
|
||||||
if (_pathOut == "")
|
if (_pathOut == "")
|
||||||
{
|
{
|
||||||
MessageBox.Show(this, "Output path generation failed", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(this, "Output path generation failed", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
cueSheet.GenerateFilenames(SelectedOutputAudioType, _format, _pathOut);
|
cueSheet.GenerateFilenames(SelectedOutputAudioType, selectedFormat.ToString(), _pathOut);
|
||||||
_reader.CorrectionQuality = trackBarSecureMode.Value;
|
selectedDriveInfo.drive.CorrectionQuality = trackBarSecureMode.Value;
|
||||||
|
|
||||||
_workThread = new Thread(Rip);
|
_workThread = new Thread(Rip);
|
||||||
_workThread.Priority = ThreadPriority.BelowNormal;
|
_workThread.Priority = ThreadPriority.BelowNormal;
|
||||||
_workThread.IsBackground = true;
|
_workThread.IsBackground = true;
|
||||||
SetupControls();
|
SetupControls();
|
||||||
_workThread.Start(_reader);
|
_workThread.Start(selectedDriveInfo.drive);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void buttonAbort_Click(object sender, EventArgs e)
|
private void buttonAbort_Click(object sender, EventArgs e)
|
||||||
@@ -439,14 +422,6 @@ namespace CUERipper
|
|||||||
_startStop.Pause();
|
_startStop.Pause();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void comboRelease_Format(object sender, ListControlConvertEventArgs e)
|
|
||||||
{
|
|
||||||
if (e.ListItem is string)
|
|
||||||
return;
|
|
||||||
ReleaseInfo r = (ReleaseInfo)(e.ListItem);
|
|
||||||
e.Value = string.Format("{0}{1} - {2}", r.metadata.Year != "" ? r.metadata.Year + ": " : "", r.metadata.Artist, r.metadata.Title);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UpdateRelease()
|
private void UpdateRelease()
|
||||||
{
|
{
|
||||||
listTracks.Items.Clear();
|
listTracks.Items.Clear();
|
||||||
@@ -455,13 +430,13 @@ namespace CUERipper
|
|||||||
if (selectedRelease == null)
|
if (selectedRelease == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (int i = 1; i <= _reader.TOC.TrackCount; i++)
|
for (int i = 1; i <= selectedDriveInfo.drive.TOC.TrackCount; i++)
|
||||||
{
|
{
|
||||||
listTracks.Items.Add(new ListViewItem(new string[] {
|
listTracks.Items.Add(new ListViewItem(new string[] {
|
||||||
_reader.TOC[i].IsAudio ? selectedRelease.metadata.Tracks[i - _reader.TOC.FirstAudio].Title : "Data track",
|
selectedDriveInfo.drive.TOC[i].IsAudio ? selectedRelease.metadata.Tracks[i - selectedDriveInfo.drive.TOC.FirstAudio].Title : "Data track",
|
||||||
_reader.TOC[i].Number.ToString(),
|
selectedDriveInfo.drive.TOC[i].Number.ToString(),
|
||||||
_reader.TOC[i].StartMSF,
|
selectedDriveInfo.drive.TOC[i].StartMSF,
|
||||||
_reader.TOC[i].LengthMSF }));
|
selectedDriveInfo.drive.TOC[i].LengthMSF }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -534,7 +509,7 @@ namespace CUERipper
|
|||||||
cueSheet.Action = CUEAction.Encode;
|
cueSheet.Action = CUEAction.Encode;
|
||||||
|
|
||||||
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = "Contacting CTDB database..."; });
|
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = "Contacting CTDB database..."; });
|
||||||
cueSheet.UseCUEToolsDB(true, "CUERipper 2.0.6: " + _reader.ARName);
|
cueSheet.UseCUEToolsDB(true, "CUERipper 2.0.7: " + selectedDriveInfo.drive.ARName);
|
||||||
cueSheet.CTDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
|
cueSheet.CTDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
|
||||||
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = "Contacting AccurateRip database..."; });
|
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = "Contacting AccurateRip database..."; });
|
||||||
cueSheet.UseAccurateRip();
|
cueSheet.UseAccurateRip();
|
||||||
@@ -639,8 +614,8 @@ namespace CUERipper
|
|||||||
|
|
||||||
private void UpdateDrive()
|
private void UpdateDrive()
|
||||||
{
|
{
|
||||||
selectedDrive = bnComboBoxDrives.SelectedItem as DriveInfo;
|
selectedDriveInfo = bnComboBoxDrives.SelectedItem as DriveInfo;
|
||||||
if (selectedDrive == null)
|
if (selectedDriveInfo == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
toolStripStatusAr.Visible = false;
|
toolStripStatusAr.Visible = false;
|
||||||
@@ -650,10 +625,11 @@ namespace CUERipper
|
|||||||
listTracks.Items.Clear();
|
listTracks.Items.Clear();
|
||||||
releases.Clear();
|
releases.Clear();
|
||||||
selectedRelease = null;
|
selectedRelease = null;
|
||||||
|
bnComboBoxRelease.Enabled = false;
|
||||||
bnComboBoxRelease.Text = "";
|
bnComboBoxRelease.Text = "";
|
||||||
if (selectedDrive == null || selectedDrive.drive == null)
|
if (selectedDriveInfo == null || selectedDriveInfo.drive == null)
|
||||||
{
|
{
|
||||||
_reader = null;
|
selectedDriveInfo = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (cueSheet != null)
|
if (cueSheet != null)
|
||||||
@@ -661,21 +637,20 @@ namespace CUERipper
|
|||||||
cueSheet.Close();
|
cueSheet.Close();
|
||||||
cueSheet = null;
|
cueSheet = null;
|
||||||
}
|
}
|
||||||
_reader = selectedDrive.drive;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_reader.Close();
|
selectedDriveInfo.drive.Close();
|
||||||
_reader.Open(_reader.Path[0]);
|
selectedDriveInfo.drive.Open(selectedDriveInfo.drive.Path[0]);
|
||||||
numericWriteOffset.Value = _reader.DriveOffset;
|
numericWriteOffset.Value = selectedDriveInfo.drive.DriveOffset;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
numericWriteOffset.Value = _reader.DriveOffset;
|
numericWriteOffset.Value = selectedDriveInfo.drive.DriveOffset;
|
||||||
//_reader.Close();
|
//selectedDriveInfo.drive.Close();
|
||||||
bnComboBoxRelease.Text = ex.Message;
|
bnComboBoxRelease.Text = ex.Message;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (_reader.TOC.AudioTracks == 0)
|
if (selectedDriveInfo.drive.TOC.AudioTracks == 0)
|
||||||
{
|
{
|
||||||
bnComboBoxRelease.Text = "No audio tracks";
|
bnComboBoxRelease.Text = "No audio tracks";
|
||||||
return;
|
return;
|
||||||
@@ -685,7 +660,7 @@ namespace CUERipper
|
|||||||
_workThread.Priority = ThreadPriority.BelowNormal;
|
_workThread.Priority = ThreadPriority.BelowNormal;
|
||||||
_workThread.IsBackground = true;
|
_workThread.IsBackground = true;
|
||||||
SetupControls();
|
SetupControls();
|
||||||
_workThread.Start(_reader);
|
_workThread.Start(selectedDriveInfo.drive);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void listTracks_DoubleClick(object sender, EventArgs e)
|
private void listTracks_DoubleClick(object sender, EventArgs e)
|
||||||
@@ -718,7 +693,7 @@ namespace CUERipper
|
|||||||
private void listTracks_AfterLabelEdit(object sender, LabelEditEventArgs e)
|
private void listTracks_AfterLabelEdit(object sender, LabelEditEventArgs e)
|
||||||
{
|
{
|
||||||
if (selectedRelease == null) return;
|
if (selectedRelease == null) return;
|
||||||
if (e.Label != null && _reader.TOC[e.Item + 1].IsAudio)
|
if (e.Label != null && selectedDriveInfo.drive.TOC[e.Item + 1].IsAudio)
|
||||||
selectedRelease.metadata.Tracks[e.Item].Title = e.Label;
|
selectedRelease.metadata.Tracks[e.Item].Title = e.Label;
|
||||||
else
|
else
|
||||||
e.CancelEdit = true;
|
e.CancelEdit = true;
|
||||||
@@ -745,7 +720,6 @@ namespace CUERipper
|
|||||||
//sw.Save("PreserveHTOA", _config.preserveHTOA);
|
//sw.Save("PreserveHTOA", _config.preserveHTOA);
|
||||||
//sw.Save("CreateM3U", _config.createM3U);
|
//sw.Save("CreateM3U", _config.createM3U);
|
||||||
sw.Save("OutputAudioType", (int)SelectedOutputAudioType);
|
sw.Save("OutputAudioType", (int)SelectedOutputAudioType);
|
||||||
sw.Save("ComboCodec", bnComboBoxFormat.SelectedIndex);
|
|
||||||
sw.Save("ComboImage", bnComboBoxImage.SelectedIndex);
|
sw.Save("ComboImage", bnComboBoxImage.SelectedIndex);
|
||||||
sw.Save("PathFormat", comboBoxOutputFormat.Text);
|
sw.Save("PathFormat", comboBoxOutputFormat.Text);
|
||||||
sw.Save("SecureMode", trackBarSecureMode.Value);
|
sw.Save("SecureMode", trackBarSecureMode.Value);
|
||||||
@@ -758,7 +732,7 @@ namespace CUERipper
|
|||||||
|
|
||||||
private void listTracks_BeforeLabelEdit(object sender, LabelEditEventArgs e)
|
private void listTracks_BeforeLabelEdit(object sender, LabelEditEventArgs e)
|
||||||
{
|
{
|
||||||
if (!_reader.TOC[e.Item + 1].IsAudio)
|
if (!selectedDriveInfo.drive.TOC[e.Item + 1].IsAudio)
|
||||||
e.CancelEdit = true;
|
e.CancelEdit = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -868,9 +842,9 @@ namespace CUERipper
|
|||||||
|
|
||||||
private void toolStripStatusLabelMusicBrainz_Click(object sender, EventArgs e)
|
private void toolStripStatusLabelMusicBrainz_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (_reader == null)
|
if (selectedDriveInfo == null)
|
||||||
return;
|
return;
|
||||||
System.Diagnostics.Process.Start("http://musicbrainz.org/bare/cdlookup.html?toc=" + _reader.TOC.MusicBrainzTOC);
|
System.Diagnostics.Process.Start("http://musicbrainz.org/bare/cdlookup.html?toc=" + selectedDriveInfo.drive.TOC.MusicBrainzTOC);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void frmCUERipper_KeyDown(object sender, KeyEventArgs e)
|
private void frmCUERipper_KeyDown(object sender, KeyEventArgs e)
|
||||||
@@ -888,7 +862,7 @@ namespace CUERipper
|
|||||||
{
|
{
|
||||||
if (selectedFormat == null) return;
|
if (selectedFormat == null) return;
|
||||||
CUEStyle style = bnComboBoxImage.SelectedIndex == 0 ? CUEStyle.SingleFileWithCUE : CUEStyle.GapsAppended;
|
CUEStyle style = bnComboBoxImage.SelectedIndex == 0 ? CUEStyle.SingleFileWithCUE : CUEStyle.GapsAppended;
|
||||||
txtOutputPath.Text = selectedRelease == null ? "" : selectedRelease.metadata.GenerateUniqueOutputPath(comboBoxOutputFormat.Text,
|
txtOutputPath.Text = selectedRelease == null ? "" : selectedRelease.metadata.GenerateUniqueOutputPath(bnComboBoxOutputFormat.Text,
|
||||||
style == CUEStyle.SingleFileWithCUE ? "." + selectedFormat.ToString() : ".cue", CUEAction.Encode, null);
|
style == CUEStyle.SingleFileWithCUE ? "." + selectedFormat.ToString() : ".cue", CUEAction.Encode, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -897,7 +871,7 @@ namespace CUERipper
|
|||||||
if (!outputFormatVisible)
|
if (!outputFormatVisible)
|
||||||
return;
|
return;
|
||||||
outputFormatVisible = false;
|
outputFormatVisible = false;
|
||||||
comboBoxOutputFormat.Visible = false;
|
bnComboBoxOutputFormat.Visible = false;
|
||||||
txtOutputPath.Enabled = true;
|
txtOutputPath.Enabled = true;
|
||||||
txtOutputPath.Visible = true;
|
txtOutputPath.Visible = true;
|
||||||
}
|
}
|
||||||
@@ -907,9 +881,10 @@ namespace CUERipper
|
|||||||
if (outputFormatVisible)
|
if (outputFormatVisible)
|
||||||
return;
|
return;
|
||||||
outputFormatVisible = true;
|
outputFormatVisible = true;
|
||||||
comboBoxOutputFormat.Visible = true;
|
//comboBoxOutputFormat.Visible = true;
|
||||||
comboBoxOutputFormat.Focus();
|
bnComboBoxOutputFormat.Visible = true;
|
||||||
comboBoxOutputFormat.Select(0, 0);
|
bnComboBoxOutputFormat.Focus();
|
||||||
|
//bnComboBoxOutputFormat.Select();
|
||||||
txtOutputPath.Enabled = false;
|
txtOutputPath.Enabled = false;
|
||||||
txtOutputPath.Visible = false;
|
txtOutputPath.Visible = false;
|
||||||
}
|
}
|
||||||
@@ -953,11 +928,9 @@ namespace CUERipper
|
|||||||
foreach (CUEToolsUDC encoder in _config.encoders)
|
foreach (CUEToolsUDC encoder in _config.encoders)
|
||||||
if (encoder.extension == SelectedOutputAudioFmt.extension)
|
if (encoder.extension == SelectedOutputAudioFmt.extension)
|
||||||
{
|
{
|
||||||
if (SelectedOutputAudioFormat.StartsWith("lossy.") && !encoder.lossless)
|
if (SelectedOutputAudioType == AudioEncoderType.Lossless && !encoder.lossless)
|
||||||
continue;
|
continue;
|
||||||
else if (SelectedOutputAudioType == AudioEncoderType.Lossless && !encoder.lossless)
|
if (SelectedOutputAudioType == AudioEncoderType.Lossy && (encoder.lossless && !selectedFormat.lossyWAV))
|
||||||
continue;
|
|
||||||
else if (SelectedOutputAudioType == AudioEncoderType.Lossy && encoder.lossless)
|
|
||||||
continue;
|
continue;
|
||||||
encoders.Add(encoder);
|
encoders.Add(encoder);
|
||||||
}
|
}
|
||||||
@@ -1014,6 +987,31 @@ namespace CUERipper
|
|||||||
formats.ResetBindings();
|
formats.ResetBindings();
|
||||||
SelectedOutputAudioFormat = select;
|
SelectedOutputAudioFormat = select;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void bnComboBoxOutputFormat_TextChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
comboBoxOutputFormat_TextUpdate(sender, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void bnComboBoxOutputFormat_MouseLeave(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!outputFormatVisible)
|
||||||
|
return;
|
||||||
|
outputFormatVisible = false;
|
||||||
|
bnComboBoxOutputFormat.Visible = false;
|
||||||
|
txtOutputPath.Enabled = true;
|
||||||
|
txtOutputPath.Visible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void bnComboBoxOutputFormat_DroppedDown(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!outputFormatVisible || bnComboBoxOutputFormat.IsDroppedDown)
|
||||||
|
return;
|
||||||
|
outputFormatVisible = false;
|
||||||
|
bnComboBoxOutputFormat.Visible = false;
|
||||||
|
txtOutputPath.Enabled = true;
|
||||||
|
txtOutputPath.Visible = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class StartStop
|
public class StartStop
|
||||||
@@ -1123,21 +1121,23 @@ namespace CUERipper
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public DriveInfo(ICDRipper drive, string path, CUEControls.IIconManager iconMgr)
|
public DriveInfo(CUEControls.IIconManager iconMgr, string path, ICDRipper drive)
|
||||||
{
|
{
|
||||||
this.drive = drive;
|
|
||||||
this.iconMgr = iconMgr;
|
this.iconMgr = iconMgr;
|
||||||
this.di = new DirectoryInfo(path);
|
this.di = new DirectoryInfo(path);
|
||||||
|
this.drive = drive;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DriveInfo(string error)
|
public DriveInfo(CUEControls.IIconManager iconMgr, string path, string error)
|
||||||
{
|
{
|
||||||
|
this.iconMgr = iconMgr;
|
||||||
|
this.di = new DirectoryInfo(path);
|
||||||
this.error = error;
|
this.error = error;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return drive != null ? drive.Path : error;
|
return drive != null ? drive.Path : this.di.FullName + ": " + error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -197,7 +197,7 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>statusStrip1.ZOrder" xml:space="preserve">
|
<data name=">>statusStrip1.ZOrder" xml:space="preserve">
|
||||||
<value>10</value>
|
<value>11</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="listTracks.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="listTracks.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
@@ -258,7 +258,7 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>listTracks.ZOrder" xml:space="preserve">
|
<data name=">>listTracks.ZOrder" xml:space="preserve">
|
||||||
<value>8</value>
|
<value>9</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="buttonGo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="buttonGo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Left, Right</value>
|
<value>Top, Left, Right</value>
|
||||||
@@ -288,7 +288,7 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>buttonGo.ZOrder" xml:space="preserve">
|
<data name=">>buttonGo.ZOrder" xml:space="preserve">
|
||||||
<value>9</value>
|
<value>10</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="buttonAbort.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="buttonAbort.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Left, Right</value>
|
<value>Top, Left, Right</value>
|
||||||
@@ -321,7 +321,7 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>buttonAbort.ZOrder" xml:space="preserve">
|
<data name=">>buttonAbort.ZOrder" xml:space="preserve">
|
||||||
<value>11</value>
|
<value>12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="buttonPause.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
<data name="buttonPause.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||||
<value>Top, Left, Right</value>
|
<value>Top, Left, Right</value>
|
||||||
@@ -354,7 +354,7 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>buttonPause.ZOrder" xml:space="preserve">
|
<data name=">>buttonPause.ZOrder" xml:space="preserve">
|
||||||
<value>12</value>
|
<value>13</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="contextMenuStripRelease.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="contextMenuStripRelease.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
@@ -485,7 +485,7 @@
|
|||||||
<value>bnComboBoxLosslessOrNot</value>
|
<value>bnComboBoxLosslessOrNot</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxLosslessOrNot.Type" xml:space="preserve">
|
<data name=">>bnComboBoxLosslessOrNot.Type" xml:space="preserve">
|
||||||
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.6.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.7.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxLosslessOrNot.Parent" xml:space="preserve">
|
<data name=">>bnComboBoxLosslessOrNot.Parent" xml:space="preserve">
|
||||||
<value>groupBoxSettings</value>
|
<value>groupBoxSettings</value>
|
||||||
@@ -517,7 +517,7 @@
|
|||||||
<value>bnComboBoxEncoder</value>
|
<value>bnComboBoxEncoder</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxEncoder.Type" xml:space="preserve">
|
<data name=">>bnComboBoxEncoder.Type" xml:space="preserve">
|
||||||
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.6.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.7.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxEncoder.Parent" xml:space="preserve">
|
<data name=">>bnComboBoxEncoder.Parent" xml:space="preserve">
|
||||||
<value>groupBoxSettings</value>
|
<value>groupBoxSettings</value>
|
||||||
@@ -576,7 +576,7 @@
|
|||||||
<value>bnComboBoxFormat</value>
|
<value>bnComboBoxFormat</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxFormat.Type" xml:space="preserve">
|
<data name=">>bnComboBoxFormat.Type" xml:space="preserve">
|
||||||
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.6.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.7.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxFormat.Parent" xml:space="preserve">
|
<data name=">>bnComboBoxFormat.Parent" xml:space="preserve">
|
||||||
<value>groupBoxSettings</value>
|
<value>groupBoxSettings</value>
|
||||||
@@ -647,7 +647,7 @@
|
|||||||
<value>bnComboBoxImage</value>
|
<value>bnComboBoxImage</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxImage.Type" xml:space="preserve">
|
<data name=">>bnComboBoxImage.Type" xml:space="preserve">
|
||||||
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.6.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.7.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxImage.Parent" xml:space="preserve">
|
<data name=">>bnComboBoxImage.Parent" xml:space="preserve">
|
||||||
<value>groupBoxSettings</value>
|
<value>groupBoxSettings</value>
|
||||||
@@ -800,7 +800,7 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>groupBoxSettings.ZOrder" xml:space="preserve">
|
<data name=">>groupBoxSettings.ZOrder" xml:space="preserve">
|
||||||
<value>7</value>
|
<value>8</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>181, 22</value>
|
<value>181, 22</value>
|
||||||
@@ -839,7 +839,7 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>progressBarErrors.ZOrder" xml:space="preserve">
|
<data name=">>progressBarErrors.ZOrder" xml:space="preserve">
|
||||||
<value>5</value>
|
<value>6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="progressBarCD.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="progressBarCD.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>382, 392</value>
|
<value>382, 392</value>
|
||||||
@@ -866,10 +866,10 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>progressBarCD.ZOrder" xml:space="preserve">
|
<data name=">>progressBarCD.ZOrder" xml:space="preserve">
|
||||||
<value>6</value>
|
<value>7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="comboBoxOutputFormat.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="comboBoxOutputFormat.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>6, 60</value>
|
<value>6, 170</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="comboBoxOutputFormat.MaxDropDownItems" type="System.Int32, mscorlib">
|
<data name="comboBoxOutputFormat.MaxDropDownItems" type="System.Int32, mscorlib">
|
||||||
<value>10</value>
|
<value>10</value>
|
||||||
@@ -893,10 +893,10 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>comboBoxOutputFormat.ZOrder" xml:space="preserve">
|
<data name=">>comboBoxOutputFormat.ZOrder" xml:space="preserve">
|
||||||
<value>4</value>
|
<value>5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtOutputPath.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="txtOutputPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>6, 61</value>
|
<value>7, 61</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtOutputPath.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="txtOutputPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>552, 20</value>
|
<value>552, 20</value>
|
||||||
@@ -917,7 +917,7 @@
|
|||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>txtOutputPath.ZOrder" xml:space="preserve">
|
<data name=">>txtOutputPath.ZOrder" xml:space="preserve">
|
||||||
<value>3</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="releasesBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="releasesBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>824, 56</value>
|
<value>824, 56</value>
|
||||||
@@ -995,13 +995,13 @@
|
|||||||
<value>bnComboBoxRelease</value>
|
<value>bnComboBoxRelease</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxRelease.Type" xml:space="preserve">
|
<data name=">>bnComboBoxRelease.Type" xml:space="preserve">
|
||||||
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.6.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.7.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxRelease.Parent" xml:space="preserve">
|
<data name=">>bnComboBoxRelease.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxRelease.ZOrder" xml:space="preserve">
|
<data name=">>bnComboBoxRelease.ZOrder" xml:space="preserve">
|
||||||
<value>1</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="drivesBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="drivesBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>116, 456</value>
|
<value>116, 456</value>
|
||||||
@@ -1027,13 +1027,42 @@
|
|||||||
<value>bnComboBoxDrives</value>
|
<value>bnComboBoxDrives</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxDrives.Type" xml:space="preserve">
|
<data name=">>bnComboBoxDrives.Type" xml:space="preserve">
|
||||||
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.6.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.7.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxDrives.Parent" xml:space="preserve">
|
<data name=">>bnComboBoxDrives.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>bnComboBoxDrives.ZOrder" xml:space="preserve">
|
<data name=">>bnComboBoxDrives.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="bnComboBoxOutputFormat.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>6, 60</value>
|
||||||
|
</data>
|
||||||
|
<data name="bnComboBoxOutputFormat.Radius" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>
|
||||||
|
AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuNi4wLCBDdWx0dXJl
|
||||||
|
PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABBCQkJOT1ZBLkJOUmFkaXVzBAAAAAhfdG9w
|
||||||
|
TGVmdAlfdG9wUmlnaHQLX2JvdHRvbUxlZnQMX2JvdHRvbVJpZ2h0AAAAAAgICAgCAAAAAgAAAAYAAAAC
|
||||||
|
AAAAAgAAAAs=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="bnComboBoxOutputFormat.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>552, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="bnComboBoxOutputFormat.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>37</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>bnComboBoxOutputFormat.Name" xml:space="preserve">
|
||||||
|
<value>bnComboBoxOutputFormat</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>bnComboBoxOutputFormat.Type" xml:space="preserve">
|
||||||
|
<value>BBBNOVA.BNComboBox, CUEControls, Version=2.0.7.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>bnComboBoxOutputFormat.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>bnComboBoxOutputFormat.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -1448,7 +1477,7 @@
|
|||||||
<value>CenterScreen</value>
|
<value>CenterScreen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value>CUERipper 2.0.6</value>
|
<value>CUERipper 2.0.7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>toolStripStatusLabel1.Name" xml:space="preserve">
|
<data name=">>toolStripStatusLabel1.Name" xml:space="preserve">
|
||||||
<value>toolStripStatusLabel1</value>
|
<value>toolStripStatusLabel1</value>
|
||||||
|
|||||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -1788,7 +1788,7 @@ string status = processor.Go();
|
|||||||
m_freedb.UserName = "gchudov";
|
m_freedb.UserName = "gchudov";
|
||||||
m_freedb.Hostname = "gmail.com";
|
m_freedb.Hostname = "gmail.com";
|
||||||
m_freedb.ClientName = "CUETools";
|
m_freedb.ClientName = "CUETools";
|
||||||
m_freedb.Version = "2.0.6";
|
m_freedb.Version = "2.0.7";
|
||||||
m_freedb.SetDefaultSiteAddress("freedb.org");
|
m_freedb.SetDefaultSiteAddress("freedb.org");
|
||||||
|
|
||||||
QueryResult queryResult;
|
QueryResult queryResult;
|
||||||
@@ -5327,7 +5327,7 @@ string status = processor.Go();
|
|||||||
}
|
}
|
||||||
case "repair":
|
case "repair":
|
||||||
{
|
{
|
||||||
UseCUEToolsDB(false, "CUETools 2.0.6");
|
UseCUEToolsDB(false, "CUETools 2.0.7");
|
||||||
Action = CUEAction.Verify;
|
Action = CUEAction.Verify;
|
||||||
if (CTDB.DBStatus != null)
|
if (CTDB.DBStatus != null)
|
||||||
return CTDB.DBStatus;
|
return CTDB.DBStatus;
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ namespace CUETools.ConsoleRipper
|
|||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
Console.SetOut(Console.Error);
|
Console.SetOut(Console.Error);
|
||||||
Console.WriteLine("CUERipper v2.0.6 Copyright (C) 2008-10 Gregory S. Chudov");
|
Console.WriteLine("CUERipper v2.0.7 Copyright (C) 2008-10 Gregory S. Chudov");
|
||||||
Console.WriteLine("This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to");
|
Console.WriteLine("This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to");
|
||||||
Console.WriteLine("the extent permitted by law. <http://www.gnu.org/licenses/> for details.");
|
Console.WriteLine("the extent permitted by law. <http://www.gnu.org/licenses/> for details.");
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,11 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="Resource1.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<DependentUpon>Resource1.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="SCSIDrive.cs" />
|
<Compile Include="SCSIDrive.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -68,6 +73,13 @@
|
|||||||
<Private>False</Private>
|
<Private>False</Private>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="Resource1.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resource1.Designer.cs</LastGenOutput>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Resource1.ru-RU.resx" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- 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.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
126
CUETools.Ripper.SCSI/Resource1.Designer.cs
generated
Normal file
126
CUETools.Ripper.SCSI/Resource1.Designer.cs
generated
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:2.0.50727.4200
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace CUETools.Ripper.SCSI {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
|
/// </summary>
|
||||||
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
|
// class via a tool like ResGen or Visual Studio.
|
||||||
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
|
// with the /str option, or rebuild your VS project.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
internal class Resource1 {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resource1() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the cached ResourceManager instance used by this class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CUETools.Ripper.SCSI.Resource1", typeof(Resource1).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||||
|
/// resource lookups using this strongly typed resource class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to failed to autodetect read command.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AutodetectReadCommandFailed {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AutodetectReadCommandFailed", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Error querying drive.
|
||||||
|
/// </summary>
|
||||||
|
internal static string DeviceInquiryError {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("DeviceInquiryError", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to not an MMC device.
|
||||||
|
/// </summary>
|
||||||
|
internal static string DeviceNotMMC {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("DeviceNotMMC", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Open failed.
|
||||||
|
/// </summary>
|
||||||
|
internal static string DeviceOpenError {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("DeviceOpenError", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to no audio.
|
||||||
|
/// </summary>
|
||||||
|
internal static string NoAudio {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("NoAudio", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Error reading CD.
|
||||||
|
/// </summary>
|
||||||
|
internal static string ReadCDError {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ReadCDError", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Cannot open CD.
|
||||||
|
/// </summary>
|
||||||
|
internal static string ReadTOCError {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ReadTOCError", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
141
CUETools.Ripper.SCSI/Resource1.resx
Normal file
141
CUETools.Ripper.SCSI/Resource1.resx
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="AutodetectReadCommandFailed" xml:space="preserve">
|
||||||
|
<value>failed to autodetect read command</value>
|
||||||
|
</data>
|
||||||
|
<data name="DeviceInquiryError" xml:space="preserve">
|
||||||
|
<value>Error querying drive</value>
|
||||||
|
</data>
|
||||||
|
<data name="DeviceNotMMC" xml:space="preserve">
|
||||||
|
<value>not an MMC device</value>
|
||||||
|
</data>
|
||||||
|
<data name="DeviceOpenError" xml:space="preserve">
|
||||||
|
<value>Open failed</value>
|
||||||
|
</data>
|
||||||
|
<data name="NoAudio" xml:space="preserve">
|
||||||
|
<value>no audio</value>
|
||||||
|
</data>
|
||||||
|
<data name="ReadCDError" xml:space="preserve">
|
||||||
|
<value>Error reading CD</value>
|
||||||
|
</data>
|
||||||
|
<data name="ReadTOCError" xml:space="preserve">
|
||||||
|
<value>Cannot open CD</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
141
CUETools.Ripper.SCSI/Resource1.ru-RU.resx
Normal file
141
CUETools.Ripper.SCSI/Resource1.ru-RU.resx
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="AutodetectReadCommandFailed" xml:space="preserve">
|
||||||
|
<value>не удалось определить команду чтения</value>
|
||||||
|
</data>
|
||||||
|
<data name="DeviceInquiryError" xml:space="preserve">
|
||||||
|
<value>Ошибка при опросе устройства</value>
|
||||||
|
</data>
|
||||||
|
<data name="DeviceNotMMC" xml:space="preserve">
|
||||||
|
<value>устройство не поддерживает стандарт MMC</value>
|
||||||
|
</data>
|
||||||
|
<data name="DeviceOpenError" xml:space="preserve">
|
||||||
|
<value>Ошибка при открытии устройства</value>
|
||||||
|
</data>
|
||||||
|
<data name="NoAudio" xml:space="preserve">
|
||||||
|
<value>отсутствует аудио</value>
|
||||||
|
</data>
|
||||||
|
<data name="ReadCDError" xml:space="preserve">
|
||||||
|
<value>Ошибка при чтении диска</value>
|
||||||
|
</data>
|
||||||
|
<data name="ReadTOCError" xml:space="preserve">
|
||||||
|
<value>Ошибка при обращении к диску</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@@ -49,7 +49,6 @@ namespace CUETools.Ripper.SCSI
|
|||||||
const int NSECTORS = 16;
|
const int NSECTORS = 16;
|
||||||
//const int MSECTORS = 5*1024*1024 / (4 * 588);
|
//const int MSECTORS = 5*1024*1024 / (4 * 588);
|
||||||
const int MSECTORS = 2400;
|
const int MSECTORS = 2400;
|
||||||
int _currentTrack = -1, _currentIndex = -1, _currentTrackActualStart = -1;
|
|
||||||
Logger m_logger;
|
Logger m_logger;
|
||||||
CDImageLayout _toc;
|
CDImageLayout _toc;
|
||||||
CDImageLayout _toc2;
|
CDImageLayout _toc2;
|
||||||
@@ -201,14 +200,14 @@ namespace CUETools.Ripper.SCSI
|
|||||||
|
|
||||||
m_device = new Device(m_logger);
|
m_device = new Device(m_logger);
|
||||||
if (!m_device.Open(m_device_letter))
|
if (!m_device.Open(m_device_letter))
|
||||||
throw new Exception("Open failed: " + WinDev.Win32ErrorToString(m_device.LastError));
|
throw new Exception(Resource1.DeviceOpenError + ": " + WinDev.Win32ErrorToString(m_device.LastError));
|
||||||
|
|
||||||
// Get device info
|
// Get device info
|
||||||
st = m_device.Inquiry(out m_inqury_result);
|
st = m_device.Inquiry(out m_inqury_result);
|
||||||
if (st != Device.CommandStatus.Success || !m_inqury_result.Valid)
|
if (st != Device.CommandStatus.Success || !m_inqury_result.Valid)
|
||||||
throw new SCSIException("Inquiry", m_device, st);
|
throw new SCSIException(Resource1.DeviceInquiryError, m_device, st);
|
||||||
if (m_inqury_result.PeripheralQualifier != 0 || m_inqury_result.PeripheralDeviceType != Device.MMCDeviceType)
|
if (m_inqury_result.PeripheralQualifier != 0 || m_inqury_result.PeripheralDeviceType != Device.MMCDeviceType)
|
||||||
throw new Exception(Path + " is not an MMC device");
|
throw new Exception(Path + ": " + Resource1.DeviceNotMMC);
|
||||||
|
|
||||||
m_max_sectors = Math.Min(NSECTORS, m_device.MaximumTransferLength / CB_AUDIO - 1);
|
m_max_sectors = Math.Min(NSECTORS, m_device.MaximumTransferLength / CB_AUDIO - 1);
|
||||||
//// Open/Initialize the driver
|
//// Open/Initialize the driver
|
||||||
@@ -252,7 +251,7 @@ namespace CUETools.Ripper.SCSI
|
|||||||
IList<TocEntry> toc;
|
IList<TocEntry> toc;
|
||||||
st = m_device.ReadToc((byte)0, false, out toc);
|
st = m_device.ReadToc((byte)0, false, out toc);
|
||||||
if (st != Device.CommandStatus.Success)
|
if (st != Device.CommandStatus.Success)
|
||||||
throw new SCSIException("ReadTOC", m_device, st);
|
throw new SCSIException(Resource1.ReadTOCError, m_device, st);
|
||||||
//throw new Exception("ReadTOC: " + (st == Device.CommandStatus.DeviceFailed ? Device.LookupSenseError(m_device.GetSenseAsc(), m_device.GetSenseAscq()) : st.ToString()));
|
//throw new Exception("ReadTOC: " + (st == Device.CommandStatus.DeviceFailed ? Device.LookupSenseError(m_device.GetSenseAsc(), m_device.GetSenseAscq()) : st.ToString()));
|
||||||
|
|
||||||
//byte[] qdata = null;
|
//byte[] qdata = null;
|
||||||
@@ -566,7 +565,7 @@ namespace CUETools.Ripper.SCSI
|
|||||||
public unsafe bool DetectGaps()
|
public unsafe bool DetectGaps()
|
||||||
{
|
{
|
||||||
if (!TestReadCommand())
|
if (!TestReadCommand())
|
||||||
throw new Exception("failed to autodetect read command:\n" + _autodetectResult);
|
throw new Exception(Resource1.AutodetectReadCommandFailed+ ":\n" + _autodetectResult);
|
||||||
|
|
||||||
if (_gapDetection == GapDetectionMethod.None)
|
if (_gapDetection == GapDetectionMethod.None)
|
||||||
{
|
{
|
||||||
@@ -715,8 +714,6 @@ namespace CUETools.Ripper.SCSI
|
|||||||
bool found = false;
|
bool found = false;
|
||||||
_autodetectResult = "";
|
_autodetectResult = "";
|
||||||
_currentStart = 0;
|
_currentStart = 0;
|
||||||
_currentTrack = -1;
|
|
||||||
_currentIndex = -1;
|
|
||||||
m_max_sectors = Math.Min(NSECTORS, m_device.MaximumTransferLength / CB_AUDIO - 1);
|
m_max_sectors = Math.Min(NSECTORS, m_device.MaximumTransferLength / CB_AUDIO - 1);
|
||||||
int sector = 3;
|
int sector = 3;
|
||||||
int pass = 0;
|
int pass = 0;
|
||||||
@@ -810,16 +807,22 @@ namespace CUETools.Ripper.SCSI
|
|||||||
int offs = 0;
|
int offs = 0;
|
||||||
if (c2Size == 296)
|
if (c2Size == 296)
|
||||||
{
|
{
|
||||||
// TODO: sometimes sector C2 byte is placed after C2 info, not before!!
|
// TODO: sometimes (e.g on PIONEER 215D) sector C2 byte is placed after C2 info,
|
||||||
|
// not before, like it says in mmc6r02g.pdf !!
|
||||||
int c2 = 0;
|
int c2 = 0;
|
||||||
for (int pos = 2; pos < 294; pos++)
|
for (int pos = 2; pos < 294; pos++)
|
||||||
c2 |= sectorPtr[4 * 588 + pos];
|
c2 |= sectorPtr[4 * 588 + pos];
|
||||||
if (sectorPtr[4 * 588 + 294] == (c2 | sectorPtr[4 * 588 + 0] | sectorPtr[4 * 588 + 1]))
|
if (sectorPtr[4 * 588 + 294] == (c2 | sectorPtr[4 * 588 + 0] | sectorPtr[4 * 588 + 1]))
|
||||||
offs = 0;
|
offs = 0;
|
||||||
else if (sectorPtr[4 * 588] == (c2 | sectorPtr[4 * 588 + 294] | sectorPtr[4 * 588 + 295]))
|
|
||||||
offs = 2;
|
|
||||||
else
|
else
|
||||||
throw new Exception("invalid C2 pointers");
|
offs = 2;
|
||||||
|
// TSSTcorp CDDVDW SH-S203B SB03
|
||||||
|
// TSSTcorpCD/DVDW SH-W162C TS12
|
||||||
|
// Both produced Exception("invalid C2 pointers");
|
||||||
|
//else if (sectorPtr[4 * 588] == (c2 | sectorPtr[4 * 588 + 294] | sectorPtr[4 * 588 + 295]))
|
||||||
|
// offs = 2;
|
||||||
|
//else
|
||||||
|
// throw new Exception("invalid C2 pointers");
|
||||||
}
|
}
|
||||||
for (int pos = 0; pos < 294; pos++)
|
for (int pos = 0; pos < 294; pos++)
|
||||||
{
|
{
|
||||||
@@ -881,7 +884,7 @@ namespace CUETools.Ripper.SCSI
|
|||||||
|
|
||||||
if (!abort)
|
if (!abort)
|
||||||
return st;
|
return st;
|
||||||
SCSIException ex = new SCSIException("ReadCD", m_device, st);
|
SCSIException ex = new SCSIException(Resource1.ReadCDError, m_device, st);
|
||||||
if (sector != 0 && Sectors2Read > 1 && st == Device.CommandStatus.DeviceFailed && m_device.GetSenseAsc() == 0x64 && m_device.GetSenseAscq() == 0x00)
|
if (sector != 0 && Sectors2Read > 1 && st == Device.CommandStatus.DeviceFailed && m_device.GetSenseAsc() == 0x64 && m_device.GetSenseAscq() == 0x00)
|
||||||
{
|
{
|
||||||
if (_debugMessages)
|
if (_debugMessages)
|
||||||
@@ -1139,7 +1142,7 @@ namespace CUETools.Ripper.SCSI
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (!TestReadCommand())
|
if (!TestReadCommand())
|
||||||
throw new Exception("failed to autodetect read command:\n" + _autodetectResult);
|
throw new Exception(Resource1.AutodetectReadCommandFailed + "\n" + _autodetectResult);
|
||||||
|
|
||||||
_currentStart = iSector;
|
_currentStart = iSector;
|
||||||
_currentEnd = _currentStart + MSECTORS;
|
_currentEnd = _currentStart + MSECTORS;
|
||||||
@@ -1312,9 +1315,7 @@ namespace CUETools.Ripper.SCSI
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (_toc.AudioLength <= 0)
|
if (_toc.AudioLength <= 0)
|
||||||
throw new Exception("no audio");
|
throw new Exception(Resource1.NoAudio);
|
||||||
_currentTrack = -1;
|
|
||||||
_currentIndex = -1;
|
|
||||||
_crcErrorsCount = 0;
|
_crcErrorsCount = 0;
|
||||||
_errorsCount = 0;
|
_errorsCount = 0;
|
||||||
_currentStart = -1;
|
_currentStart = -1;
|
||||||
@@ -1363,7 +1364,7 @@ namespace CUETools.Ripper.SCSI
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return "CUERipper v2.0.6 Copyright (C) 2008-10 Gregory S. Chudov";
|
return "CUERipper v2.0.7 Copyright (C) 2008-10 Gregory S. Chudov";
|
||||||
// ripper.GetName().Name + " " + ripper.GetName().Version;
|
// ripper.GetName().Name + " " + ripper.GetName().Version;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
[assembly: AssemblyVersion("2.0.6.0")]
|
[assembly: AssemblyVersion("2.0.7.0")]
|
||||||
[assembly: AssemblyFileVersion("2.0.6.0")]
|
[assembly: AssemblyFileVersion("2.0.7.0")]
|
||||||
|
|||||||
@@ -741,7 +741,7 @@ namespace JDP {
|
|||||||
if (useAR || useCUEToolsDB)
|
if (useAR || useCUEToolsDB)
|
||||||
cueSheet.DataTrackLengthMSF = txtDataTrackLength.Text;
|
cueSheet.DataTrackLengthMSF = txtDataTrackLength.Text;
|
||||||
if (useCUEToolsDB)
|
if (useCUEToolsDB)
|
||||||
cueSheet.UseCUEToolsDB(false, "CUETools 2.0.6");
|
cueSheet.UseCUEToolsDB(false, "CUETools 2.0.7");
|
||||||
if (useAR)
|
if (useAR)
|
||||||
cueSheet.UseAccurateRip();
|
cueSheet.UseAccurateRip();
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user