mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
* DiscImageChef.Metadata/DiskType.cs:
* DiscImageChef.Metadata/DiscImageChef.Metadata.csproj: Added method to convert DiskType to disk type and subtype strings. * DiscImageChef.DiscImages/CDRWin.cs: Added extra track information. Corrected ReadLong for CD+G, subchannel should never come along main channel on reading. * DiscImageChef.DiscImages/ImagePlugin.cs: Added extra track information. Added audio media type. * DiscImageChef.DiscImages/Nero.cs: Added extra track information. * DiscImageChef.DiscImages/ZZZRawImage.cs: Added support for ReadLong and a single track and session for optical discs. * DiscImageChef.Filesystems/FFS.cs: * DiscImageChef.Filesystems/BFS.cs: * DiscImageChef.Filesystems/ODS.cs: * DiscImageChef.Filesystems/SysV.cs: * DiscImageChef.Filesystems/extFS.cs: * DiscImageChef.Filesystems/ProDOS.cs: * DiscImageChef.Filesystems/ext2FS.cs: * DiscImageChef.Filesystems/LisaFS.cs: * DiscImageChef.Filesystems/MinixFS.cs: * DiscImageChef.Filesystems/UNIXBFS.cs: * DiscImageChef.Filesystems/AppleMFS.cs: * DiscImageChef.Filesystems/PCEngine.cs: * DiscImageChef.Filesystems/AppleHFS.cs: * DiscImageChef.Filesystems/AmigaDOS.cs: * DiscImageChef.Filesystems/AppleHFSPlus.cs: Completed XML information. * DiscImageChef.Filesystems/ISO9660.cs: Corrected fail in Sega CD IP.BIN decoding. Corrected IP.BIN date decoding. Trim spaces at end of Volume Descriptor string fields. Completed XML information. * DiscImageChef/Commands/Checksum.cs: Checking memory usage on each step makes checksum calculation abismally slower. Removed. * DiscImageChef/Main.cs: * DiscImageChef/Options.cs: * DiscImageChef/DiscImageChef.csproj: * DiscImageChef/Commands/CreateSidecar.cs: Added method for creating CICM Metadata XML sidecar.
This commit is contained in:
@@ -1799,8 +1799,8 @@ namespace DiscImageChef.ImagePlugins
|
||||
case CDRWinTrackTypeCDG:
|
||||
{
|
||||
sector_offset = 0;
|
||||
sector_size = 2448;
|
||||
sector_skip = 0;
|
||||
sector_size = 2352;
|
||||
sector_skip = 96;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -1907,6 +1907,19 @@ namespace DiscImageChef.ImagePlugins
|
||||
_track.TrackSession = cdr_track.session;
|
||||
_track.TrackSequence = cdr_track.sequence;
|
||||
_track.TrackType = CDRWinTrackTypeToTrackType(cdr_track.tracktype);
|
||||
_track.TrackFile = cdr_track.trackfile.datafile;
|
||||
_track.TrackFileOffset = cdr_track.trackfile.offset;
|
||||
_track.TrackFileType = cdr_track.trackfile.filetype;
|
||||
_track.TrackRawBytesPerSector = cdr_track.bps;
|
||||
_track.TrackBytesPerSector = CDRWinTrackTypeToCookedBytesPerSector(cdr_track.tracktype);
|
||||
if (cdr_track.bps == 2448)
|
||||
{
|
||||
_track.TrackSubchannelFile = cdr_track.trackfile.datafile;
|
||||
_track.TrackSubchannelOffset = cdr_track.trackfile.offset;
|
||||
_track.TrackSubchannelType = TrackSubchannelType.RawInterleaved;
|
||||
}
|
||||
else
|
||||
_track.TrackSubchannelType = TrackSubchannelType.None;
|
||||
|
||||
tracks.Add(_track);
|
||||
previousStartSector = _track.TrackEndSector + 1;
|
||||
@@ -1943,6 +1956,19 @@ namespace DiscImageChef.ImagePlugins
|
||||
_track.TrackSession = cdr_track.session;
|
||||
_track.TrackSequence = cdr_track.sequence;
|
||||
_track.TrackType = CDRWinTrackTypeToTrackType(cdr_track.tracktype);
|
||||
_track.TrackFile = cdr_track.trackfile.datafile;
|
||||
_track.TrackFileOffset = cdr_track.trackfile.offset;
|
||||
_track.TrackFileType = cdr_track.trackfile.filetype;
|
||||
_track.TrackRawBytesPerSector = cdr_track.bps;
|
||||
_track.TrackBytesPerSector = CDRWinTrackTypeToCookedBytesPerSector(cdr_track.tracktype);
|
||||
if (cdr_track.bps == 2448)
|
||||
{
|
||||
_track.TrackSubchannelFile = cdr_track.trackfile.datafile;
|
||||
_track.TrackSubchannelOffset = cdr_track.trackfile.offset;
|
||||
_track.TrackSubchannelType = TrackSubchannelType.RawInterleaved;
|
||||
}
|
||||
else
|
||||
_track.TrackSubchannelType = TrackSubchannelType.None;
|
||||
|
||||
tracks.Add(_track);
|
||||
}
|
||||
@@ -2078,6 +2104,30 @@ namespace DiscImageChef.ImagePlugins
|
||||
}
|
||||
}
|
||||
|
||||
static UInt16 CDRWinTrackTypeToCookedBytesPerSector(string trackType)
|
||||
{
|
||||
switch (trackType)
|
||||
{
|
||||
case CDRWinTrackTypeMode1:
|
||||
case CDRWinTrackTypeMode2Form1:
|
||||
case CDRWinTrackTypeMode1Raw:
|
||||
return 2048;
|
||||
case CDRWinTrackTypeMode2Form2:
|
||||
return 2324;
|
||||
case CDRWinTrackTypeMode2Formless:
|
||||
case CDRWinTrackTypeCDI:
|
||||
case CDRWinTrackTypeMode2Raw:
|
||||
case CDRWinTrackTypeCDIRaw:
|
||||
return 2336;
|
||||
case CDRWinTrackTypeAudio:
|
||||
return 2352;
|
||||
case CDRWinTrackTypeCDG:
|
||||
return 2448;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static TrackType CDRWinTrackTypeToTrackType(string trackType)
|
||||
{
|
||||
switch (trackType)
|
||||
|
||||
Reference in New Issue
Block a user