Move comments to XML documentation.

This commit is contained in:
2015-12-06 07:37:20 +00:00
parent 14da0c7c6e
commit 01c0b9de9a
4 changed files with 148 additions and 139 deletions

View File

@@ -54,195 +54,197 @@ namespace DiscImageChef.ImagePlugins
struct CDRWinTrackFile
{
/// <summary>Track #</summary>
public UInt32 sequence;
// Track #
/// <summary>Path of file containing track</summary>
public string datafile;
// Path of file containing track
/// <summary>Offset of track start in file</summary>
public UInt64 offset;
// Offset of track start in file
/// <summary>Type of file</summary>
public string filetype;
// Type of file
}
struct CDRWinTrack
{
/// <summary>Track #</summary>
public UInt32 sequence;
// Track #
/// <summary>Track title (from CD-Text)</summary>
public string title;
// Track title (from CD-Text)
/// <summary>Track genre (from CD-Text)</summary>
public string genre;
// Track genre (from CD-Text)
/// <summary>Track arranger (from CD-Text)</summary>
public string arranger;
// Track arranger (from CD-Text)
/// <summary>Track composer (from CD-Text)</summary>
public string composer;
// Track composer (from CD-Text)
/// <summary>Track performer (from CD-Text)</summary>
public string performer;
// Track performer (from CD-Text)
/// <summary>Track song writer (from CD-Text)</summary>
public string songwriter;
// Track song writer (from CD-Text)
/// <summary>Track ISRC</summary>
public string isrc;
// Track ISRC
/// <summary>File struct for this track</summary>
public CDRWinTrackFile trackfile;
// File struct for this track
/// <summary>Indexes on this track</summary>
public Dictionary<int, UInt64> indexes;
// Indexes on this track
/// <summary>Track pre-gap in sectors</summary>
public UInt64 pregap;
// Track pre-gap in sectors
/// <summary>Track post-gap in sectors</summary>
public UInt64 postgap;
// Track post-gap in sectors
/// <summary>Digical Copy Permitted</summary>
public bool flag_dcp;
// Digical Copy Permitted
/// <summary>Track is quadraphonic</summary>
public bool flag_4ch;
// Track is quadraphonic
/// <summary>Track has preemphasis</summary>
public bool flag_pre;
// Track has preemphasis
/// <summary>Track has SCMS</summary>
public bool flag_scms;
// Track has SCMS
/// <summary>Bytes per sector</summary>
public UInt16 bps;
// Bytes per sector
/// <summary>Sectors in track</summary>
public UInt64 sectors;
// Sectors in track
/// <summary>Track type</summary>
public string tracktype;
// Track type
/// <summary>Track session</summary>
public UInt16 session;
// Track session
}
#endregion
struct CDRWinDisc
{
/// <summary>Disk title (from CD-Text)</summary>
public string title;
// Disk title (from CD-Text)
/// <summary>Disk genre (from CD-Text)</summary>
public string genre;
// Disk genre (from CD-Text)
/// <summary>Disk arranger (from CD-Text)</summary>
public string arranger;
// Disk arranger (from CD-Text)
/// <summary>Disk composer (from CD-Text)</summary>
public string composer;
// Disk composer (from CD-Text)
/// <summary>Disk performer (from CD-Text)</summary>
public string performer;
// Disk performer (from CD-Text)
/// <summary>Disk song writer (from CD-Text)</summary>
public string songwriter;
// Disk song writer (from CD-Text)
/// <summary>Media catalog number</summary>
public string mcn;
// Media catalog number
/// <summary>Disk type</summary>
public DiskType disktype;
// Disk type
/// <summary>Disk type string</summary>
public string disktypestr;
// Disk type string
/// <summary>Disk CDDB ID</summary>
public string disk_id;
// Disk CDDB ID
/// <summary>Disk UPC/EAN</summary>
public string barcode;
// Disk UPC/EAN
/// <summary>Sessions</summary>
public List<Session> sessions;
// Sessions
/// <summary>Tracks</summary>
public List<CDRWinTrack> tracks;
// Tracks
/// <summary>Disk comment</summary>
public string comment;
// Disk comment
/// <summary>File containing CD-Text</summary>
public string cdtextfile;
// File containing CD-Text
}
#region Internal consts
// Type for FILE entity
/// <summary>Data as-is in little-endian</summary>
const string CDRWinDiskTypeLittleEndian = "BINARY";
// Data as-is in little-endian
/// <summary>Data as-is in big-endian</summary>
const string CDRWinDiskTypeBigEndian = "MOTOROLA";
// Data as-is in big-endian
/// <summary>Audio in Apple AIF file</summary>
const string CDRWinDiskTypeAIFF = "AIFF";
// Audio in Apple AIF file
/// <summary>Audio in Microsoft WAV file</summary>
const string CDRWinDiskTypeRIFF = "WAVE";
// Audio in Microsoft WAV file
/// <summary>Audio in MP3 file</summary>
const string CDRWinDiskTypeMP3 = "MP3";
// Audio in MP3 file
// Type for TRACK entity
/// <summary>Audio track, 2352 bytes/sector</summary>
const string CDRWinTrackTypeAudio = "AUDIO";
// Audio track, 2352 bytes/sector
/// <summary>CD+G track, 2448 bytes/sector (audio+subchannel)</summary>
const string CDRWinTrackTypeCDG = "CDG";
// CD+G track, 2448 bytes/sector (audio+subchannel)
/// <summary>Mode 1 track, cooked, 2048 bytes/sector</summary>
const string CDRWinTrackTypeMode1 = "MODE1/2048";
// Mode 1 track, cooked, 2048 bytes/sector
/// <summary>Mode 1 track, raw, 2352 bytes/sector</summary>
const string CDRWinTrackTypeMode1Raw = "MODE1/2352";
// Mode 1 track, raw, 2352 bytes/sector
/// <summary>Mode 2 form 1 track, cooked, 2048 bytes/sector</summary>
const string CDRWinTrackTypeMode2Form1 = "MODE2/2048";
// Mode 2 form 1 track, cooked, 2048 bytes/sector
/// <summary>Mode 2 form 2 track, cooked, 2324 bytes/sector</summary>
const string CDRWinTrackTypeMode2Form2 = "MODE2/2324";
// Mode 2 form 2 track, cooked, 2324 bytes/sector
/// <summary>Mode 2 formless track, cooked, 2336 bytes/sector</summary>
const string CDRWinTrackTypeMode2Formless = "MODE2/2336";
// Mode 2 formless track, cooked, 2336 bytes/sector
/// <summary>Mode 2 track, raw, 2352 bytes/sector</summary>
const string CDRWinTrackTypeMode2Raw = "MODE2/2352";
// Mode 2 track, raw, 2352 bytes/sector
/// <summary>CD-i track, cooked, 2336 bytes/sector</summary>
const string CDRWinTrackTypeCDI = "CDI/2336";
// CD-i track, cooked, 2336 bytes/sector
/// <summary>CD-i track, raw, 2352 bytes/sector</summary>
const string CDRWinTrackTypeCDIRaw = "CDI/2352";
// CD-i track, raw, 2352 bytes/sector
// Type for REM ORIGINAL MEDIA-TYPE entity
/// <summary>DiskType.CD</summary>
const string CDRWinDiskTypeCD = "CD";
// DiskType.CD
/// <summary>DiskType.CDRW</summary>
const string CDRWinDiskTypeCDRW = "CD-RW";
// DiskType.CDRW
/// <summary>DiskType.CDMRW</summary>
const string CDRWinDiskTypeCDMRW = "CD-MRW";
// DiskType.CDMRW
/// <summary>DiskType.CDMRW</summary>
const string CDRWinDiskTypeCDMRW2 = "CD-(MRW)";
// DiskType.CDMRW
/// <summary>DiskType.DVDROM</summary>
const string CDRWinDiskTypeDVD = "DVD";
// DiskType.DVDROM
/// <summary>DiskType.DVDPRW</summary>
const string CDRWinDiskTypeDVDPMRW = "DVD+MRW";
// DiskType.DVDPRW
/// <summary>DiskType.DVDPRW</summary>
const string CDRWinDiskTypeDVDPMRW2 = "DVD+(MRW)";
// DiskType.DVDPRW
/// <summary>DiskType.DVDPRWDL</summary>
const string CDRWinDiskTypeDVDPMRWDL = "DVD+MRW DL";
// DiskType.DVDPRWDL
/// <summary>DiskType.DVDPRWDL</summary>
const string CDRWinDiskTypeDVDPMRWDL2 = "DVD+(MRW) DL";
// DiskType.DVDPRWDL
/// <summary>DiskType.DVDPR</summary>
const string CDRWinDiskTypeDVDPR = "DVD+R";
// DiskType.DVDPR
/// <summary>DiskType.DVDPRDL</summary>
const string CDRWinDiskTypeDVDPRDL = "DVD+R DL";
// DiskType.DVDPRDL
/// <summary>DiskType.DVDPRW</summary>
const string CDRWinDiskTypeDVDPRW = "DVD+RW";
// DiskType.DVDPRW
/// <summary>DiskType.DVDPRWDL</summary>
const string CDRWinDiskTypeDVDPRWDL = "DVD+RW DL";
// DiskType.DVDPRWDL
/// <summary>DiskType.DVDPR</summary>
const string CDRWinDiskTypeDVDPVR = "DVD+VR";
// DiskType.DVDPR
/// <summary>DiskType.DVDRAM</summary>
const string CDRWinDiskTypeDVDRAM = "DVD-RAM";
// DiskType.DVDRAM
/// <summary>DiskType.DVDR</summary>
const string CDRWinDiskTypeDVDR = "DVD-R";
// DiskType.DVDR
/// <summary>DiskType.DVDRDL</summary>
const string CDRWinDiskTypeDVDRDL = "DVD-R DL";
// DiskType.DVDRDL
/// <summary>DiskType.DVDRW</summary>
const string CDRWinDiskTypeDVDRW = "DVD-RW";
// DiskType.DVDRW
/// <summary>DiskType.DVDRWDL</summary>
const string CDRWinDiskTypeDVDRWDL = "DVD-RW DL";
// DiskType.DVDRWDL
/// <summary>DiskType.DVDR</summary>
const string CDRWinDiskTypeDVDVR = "DVD-VR";
// DiskType.DVDR
/// <summary>DiskType.DVDRW</summary>
const string CDRWinDiskTypeDVDRW2 = "DVDRW";
// DiskType.DVDRW
/// <summary>DiskType.HDDVDROM</summary>
const string CDRWinDiskTypeHDDVD = "HD DVD";
// DiskType.HDDVDROM
/// <summary>DiskType.HDDVDRAM</summary>
const string CDRWinDiskTypeHDDVDRAM = "HD DVD-RAM";
// DiskType.HDDVDRAM
/// <summary>DiskType.HDDVDR</summary>
const string CDRWinDiskTypeHDDVDR = "HD DVD-R";
// DiskType.HDDVDR
/// <summary>DiskType.HDDVDR</summary>
const string CDRWinDiskTypeHDDVDRDL = "HD DVD-R DL";
// DiskType.HDDVDR
/// <summary>DiskType.HDDVDRW</summary>
const string CDRWinDiskTypeHDDVDRW = "HD DVD-RW";
// DiskType.HDDVDRW
/// <summary>DiskType.HDDVDRW</summary>
const string CDRWinDiskTypeHDDVDRWDL = "HD DVD-RW DL";
// DiskType.HDDVDRW
/// <summary>DiskType.BDROM</summary>
const string CDRWinDiskTypeBD = "BD";
// DiskType.BDROM
/// <summary>DiskType.BDR</summary>
const string CDRWinDiskTypeBDR = "BD-R";
// DiskType.BDR
/// <summary>DiskType.BDRE</summary>
const string CDRWinDiskTypeBDRE = "BD-RE";
// DiskType.BDRE
/// <summary>DiskType.BDR</summary>
const string CDRWinDiskTypeBDRDL = "BD-R DL";
// DiskType.BDR
/// <summary>DiskType.BDRE</summary>
const string CDRWinDiskTypeBDREDL = "BD-RE DL";
// DiskType.BDRE
#endregion
@@ -251,8 +253,8 @@ namespace DiscImageChef.ImagePlugins
string imagePath;
StreamReader cueStream;
FileStream imageStream;
/// <summary>Dictionary, index is track #, value is TrackFile</summary>
Dictionary<UInt32, UInt64> offsetmap;
// Dictionary, index is track #, value is TrackFile
CDRWinDisc discimage;
List<CommonTypes.Partition> partitions;
@@ -263,8 +265,8 @@ namespace DiscImageChef.ImagePlugins
const string SessionRegEx = "REM\\s+SESSION\\s+(?<number>\\d+).*$";
const string DiskTypeRegEx = "REM\\s+ORIGINAL MEDIA-TYPE:\\s+(?<mediatype>.+)$";
const string LeadOutRegEx = "REM\\s+LEAD-OUT\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$";
const string LBARegEx = "REM MSF:\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)\\s+=\\s+LBA:\\s+(?<lba>[\\d]+)$";
// Not checked
const string LBARegEx = "REM MSF:\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)\\s+=\\s+LBA:\\s+(?<lba>[\\d]+)$";
const string DiskIDRegEx = "DISC_ID\\s+(?<diskid>[\\da-f]{8})$";
const string BarCodeRegEx = "UPC_EAN\\s+(?<barcode>[\\d]{12,13})$";
const string CommentRegEx = "REM\\s+(?<comment>.+)$";

View File

@@ -1,3 +1,10 @@
2015-12-06 Natalia Portillo <claunia@claunia.com>
* CDRWin.cs:
* TeleDisk.cs:
* DiskCopy42.cs:
Move comments to XML documentation.
2015-12-06 Natalia Portillo <claunia@claunia.com>
* ImagePlugin.cs:

View File

@@ -52,23 +52,23 @@ namespace DiscImageChef.ImagePlugins
// DiskCopy 4.2 header, big-endian, data-fork, start of file, 84 bytes
struct DC42Header
{
// 0x00, 64 bytes, pascal string, disk name or "-not a Macintosh disk-", filled with garbage
/// <summary>0x00, 64 bytes, pascal string, disk name or "-not a Macintosh disk-", filled with garbage</summary>
public string diskName;
// 0x40, size of data in bytes (usually sectors*512)
/// <summary>0x40, size of data in bytes (usually sectors*512)</summary>
public UInt32 dataSize;
// 0x44, size of tags in bytes (usually sectors*12)
/// <summary>0x44, size of tags in bytes (usually sectors*12)</summary>
public UInt32 tagSize;
// 0x48, checksum of data bytes
/// <summary>0x48, checksum of data bytes</summary>
public UInt32 dataChecksum;
// 0x4C, checksum of tag bytes
/// <summary>0x4C, checksum of tag bytes</summary>
public UInt32 tagChecksum;
// 0x50, format of disk, see constants
/// <summary>0x50, format of disk, see constants</summary>
public byte format;
// 0x51, format of sectors, see constants
/// <summary>0x51, format of sectors, see constants</summary>
public byte fmtByte;
// 0x52, is disk image valid? always 0x01
/// <summary>0x52, is disk image valid? always 0x01</summary>
public byte valid;
// 0x53, reserved, always 0x00
/// <summary>0x53, reserved, always 0x00</summary>
public byte reserved;
}
@@ -77,53 +77,53 @@ namespace DiscImageChef.ImagePlugins
#region Internal Constants
// format byte
// 3.5", single side, double density, GCR
/// <summary>3.5", single side, double density, GCR</summary>
const byte kSonyFormat400K = 0x00;
// 3.5", double side, double density, GCR
/// <summary>3.5", double side, double density, GCR</summary>
const byte kSonyFormat800K = 0x01;
// 3.5", double side, double density, MFM
/// <summary>3.5", double side, double density, MFM</summary>
const byte kSonyFormat720K = 0x02;
// 3.5", double side, high density, MFM
/// <summary>3.5", double side, high density, MFM</summary>
const byte kSonyFormat1440K = 0x03;
// 3.5", double side, high density, MFM, 21 sectors/track (aka, Microsoft DMF)
// Unchecked value
/// <summary>3.5", double side, high density, MFM, 21 sectors/track (aka, Microsoft DMF)
// Unchecked value</summary>
const byte kSonyFormat1680K = 0x04;
// Defined by Sigma Seven's BLU
/// <summary>Defined by Sigma Seven's BLU</summary>
const byte kSigmaFormatTwiggy = 0x54;
// There should be a value for Apple HD20 hard disks, unknown...
// fmyByte byte
// Based on GCR nibble
// Always 0x02 for MFM disks
// Unknown for Apple HD20
// Defined by Sigma Seven's BLU
/// <summary>Defined by Sigma Seven's BLU</summary>
const byte kSigmaFmtByteTwiggy = 0x01;
// 3.5" single side double density GCR and MFM all use same code
/// <summary>3.5" single side double density GCR and MFM all use same code</summary>
const byte kSonyFmtByte400K = 0x02;
const byte kSonyFmtByte720K = kSonyFmtByte400K;
const byte kSonyFmtByte1440K = kSonyFmtByte400K;
const byte kSonyFmtByte1680K = kSonyFmtByte400K;
// 3.5" double side double density GCR, 512 bytes/sector, interleave 2:1
/// <summary>3.5" double side double density GCR, 512 bytes/sector, interleave 2:1</summary>
const byte kSonyFmtByte800K = 0x22;
// 3.5" double side double density GCR, 512 bytes/sector, interleave 2:1, incorrect value (but appears on official documentation)
/// <summary>3.5" double side double density GCR, 512 bytes/sector, interleave 2:1, incorrect value (but appears on official documentation)</summary>
const byte kSonyFmtByte800KIncorrect = 0x12;
// 3.5" double side double density GCR, ProDOS format, interleave 4:1
/// <summary>3.5" double side double density GCR, ProDOS format, interleave 4:1</summary>
const byte kSonyFmtByteProDos = 0x24;
// Unformatted sectors
/// <summary>Unformatted sectors</summary>
const byte kInvalidFmtByte = 0x96;
#endregion
#region Internal variables
// Start of data sectors in disk image, should be 0x58
/// <summary>Start of data sectors in disk image, should be 0x58</summary>
UInt32 dataOffset;
// Start of tags in disk image, after data sectors
/// <summary>Start of tags in disk image, after data sectors</summary>
UInt32 tagOffset;
// Bytes per tag, should be 12
/// <summary>Bytes per tag, should be 12</summary>
UInt32 bptag;
// Header of opened image
/// <summary>Header of opened image</summary>
DC42Header header;
// Disk image file
/// <summary>Disk image file</summary>
string dc42ImagePath;
#endregion

View File

@@ -54,33 +54,33 @@ namespace DiscImageChef.ImagePlugins
struct TD0Header
{
// "TD" or "td" depending on compression
/// <summary>"TD" or "td" depending on compression</summary>
public UInt16 signature;
// Sequence, but TeleDisk seems to complaing if != 0
/// <summary>Sequence, but TeleDisk seems to complaing if != 0</summary>
public byte sequence;
// Random, same byte for all disks in the same set
/// <summary>Random, same byte for all disks in the same set</summary>
public byte diskSet;
// TeleDisk version, major in high nibble, minor in low nibble
/// <summary>TeleDisk version, major in high nibble, minor in low nibble</summary>
public byte version;
// Data rate
/// <summary>Data rate</summary>
public byte dataRate;
// BIOS drive type
/// <summary>BIOS drive type</summary>
public byte driveType;
// Stepping used
/// <summary>Stepping used</summary>
public byte stepping;
// If set means image only allocates sectors marked in-use by FAT12
/// <summary>If set means image only allocates sectors marked in-use by FAT12</summary>
public byte dosAllocation;
// Sides of disk
/// <summary>Sides of disk</summary>
public byte sides;
// CRC of all the previous
/// <summary>CRC of all the previous</summary>
public UInt16 crc;
}
struct TDCommentBlockHeader
{
// CRC of comment block after crc field
/// <summary>CRC of comment block after crc field</summary>
public UInt16 crc;
// Length of comment
/// <summary>Length of comment</summary>
public UInt16 length;
public byte year;
public byte month;
@@ -92,37 +92,37 @@ namespace DiscImageChef.ImagePlugins
struct TDTrackHeader
{
// Sectors in the track, 0xFF if end of disk image (there is no spoon)
/// <summary>Sectors in the track, 0xFF if end of disk image (there is no spoon)</summary>
public byte sectors;
// Cylinder the head was on
/// <summary>Cylinder the head was on</summary>
public byte cylinder;
// Head/side used
/// <summary>Head/side used</summary>
public byte head;
// Lower byte of CRC of previous fields
/// <summary>Lower byte of CRC of previous fields</summary>
public byte crc;
}
struct TDSectorHeader
{
// Cylinder as stored on sector address mark
/// <summary>Cylinder as stored on sector address mark</summary>
public byte cylinder;
// Head as stored on sector address mark
/// <summary>Head as stored on sector address mark</summary>
public byte head;
// Sector number as stored on sector address mark
/// <summary>Sector number as stored on sector address mark</summary>
public byte sectorNumber;
// Sector size
/// <summary>Sector size</summary>
public byte sectorSize;
// Sector flags
/// <summary>Sector flags</summary>
public byte flags;
// Lower byte of TeleDisk CRC of sector header, data header and data block
/// <summary>Lower byte of TeleDisk CRC of sector header, data header and data block</summary>
public byte crc;
}
struct TDDataHeader
{
// Size of all data (encoded) + next field (1)
/// <summary>Size of all data (encoded) + next field (1)</summary>
public UInt16 dataSize;
// Encoding used for data block
/// <summary>Encoding used for data block</summary>
public byte dataEncoding;
}