🎨🎨🎨 Removed methods in images that only returned what's already in the ImageInfo structure.

This commit is contained in:
2017-12-26 02:51:10 +00:00
parent 03a4e286cc
commit a002253fa4
135 changed files with 2111 additions and 8526 deletions

View File

@@ -119,12 +119,12 @@ namespace DiscImageChef.DiscImages
{
ReadableSectorTags = new List<SectorTagType>(),
ReadableMediaTags = new List<MediaTagType>(),
ImageHasPartitions = true,
ImageHasSessions = true,
ImageVersion = null,
ImageApplicationVersion = null,
ImageName = null,
ImageCreator = null,
HasPartitions = true,
HasSessions = true,
Version = null,
ApplicationVersion = null,
MediaTitle = null,
Creator = null,
MediaManufacturer = null,
MediaModel = null,
MediaPartNumber = null,
@@ -137,6 +137,58 @@ namespace DiscImageChef.DiscImages
};
}
public override string ImageFormat => "CDRDAO tocfile";
public override List<Partition> Partitions => partitions;
public override List<Track> Tracks
{
get
{
List<Track> tracks = new List<Track>();
foreach(CdrdaoTrack cdrTrack in discimage.Tracks)
{
Track dicTrack = new Track
{
Indexes = cdrTrack.Indexes,
TrackDescription = cdrTrack.Title,
TrackStartSector = cdrTrack.StartSector,
TrackPregap = cdrTrack.Pregap,
TrackSession = 1,
TrackSequence = cdrTrack.Sequence,
TrackType = CdrdaoTrackTypeToTrackType(cdrTrack.Tracktype),
TrackFilter = cdrTrack.Trackfile.Datafilter,
TrackFile = cdrTrack.Trackfile.Datafilter.GetFilename(),
TrackFileOffset = cdrTrack.Trackfile.Offset,
TrackFileType = cdrTrack.Trackfile.Filetype,
TrackRawBytesPerSector = cdrTrack.Bps,
TrackBytesPerSector = CdrdaoTrackTypeToCookedBytesPerSector(cdrTrack.Tracktype)
};
dicTrack.TrackEndSector = dicTrack.TrackStartSector + cdrTrack.Sectors - 1;
if(!cdrTrack.Indexes.TryGetValue(0, out dicTrack.TrackStartSector))
cdrTrack.Indexes.TryGetValue(1, out dicTrack.TrackStartSector);
if(cdrTrack.Subchannel)
{
dicTrack.TrackSubchannelType = cdrTrack.Packedsubchannel
? TrackSubchannelType.PackedInterleaved
: TrackSubchannelType.RawInterleaved;
dicTrack.TrackSubchannelFilter = cdrTrack.Trackfile.Datafilter;
dicTrack.TrackSubchannelFile = cdrTrack.Trackfile.Datafilter.GetFilename();
dicTrack.TrackSubchannelOffset = cdrTrack.Trackfile.Offset;
}
else dicTrack.TrackSubchannelType = TrackSubchannelType.None;
tracks.Add(dicTrack);
}
return tracks;
}
}
public override List<Session> Sessions => throw new NotImplementedException();
public override bool IdentifyImage(Filter imageFilter)
{
try
@@ -792,12 +844,12 @@ namespace DiscImageChef.DiscImages
if(discimage.Mcn != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_MCN);
ImageInfo.ImageApplication = "CDRDAO";
ImageInfo.Application = "CDRDAO";
ImageInfo.ImageCreationTime = imageFilter.GetCreationTime();
ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime();
ImageInfo.CreationTime = imageFilter.GetCreationTime();
ImageInfo.LastModificationTime = imageFilter.GetLastWriteTime();
ImageInfo.ImageComments = discimage.Comment;
ImageInfo.Comments = discimage.Comment;
ImageInfo.MediaSerialNumber = discimage.Mcn;
ImageInfo.MediaBarcode = discimage.Barcode;
ImageInfo.MediaType = discimage.Disktype;
@@ -863,8 +915,8 @@ namespace DiscImageChef.DiscImages
ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc;
DicConsole.VerboseWriteLine("CDRDAO image describes a disc of type {0}", ImageInfo.MediaType);
if(!string.IsNullOrEmpty(ImageInfo.ImageComments))
DicConsole.VerboseWriteLine("CDRDAO comments: {0}", ImageInfo.ImageComments);
if(!string.IsNullOrEmpty(ImageInfo.Comments))
DicConsole.VerboseWriteLine("CDRDAO comments: {0}", ImageInfo.Comments);
return true;
}
@@ -877,26 +929,6 @@ namespace DiscImageChef.DiscImages
}
}
public override bool ImageHasPartitions()
{
return ImageInfo.ImageHasPartitions;
}
public override ulong GetImageSize()
{
return ImageInfo.ImageSize;
}
public override ulong GetSectors()
{
return ImageInfo.Sectors;
}
public override uint GetSectorSize()
{
return ImageInfo.SectorSize;
}
public override byte[] ReadDiskTag(MediaTagType tag)
{
switch(tag)
@@ -1322,104 +1354,6 @@ namespace DiscImageChef.DiscImages
return buffer;
}
public override string GetImageFormat()
{
return "CDRDAO tocfile";
}
public override string GetImageVersion()
{
return ImageInfo.ImageVersion;
}
public override string GetImageApplication()
{
return ImageInfo.ImageApplication;
}
public override string GetImageApplicationVersion()
{
return ImageInfo.ImageApplicationVersion;
}
public override DateTime GetImageCreationTime()
{
return ImageInfo.ImageCreationTime;
}
public override DateTime GetImageLastModificationTime()
{
return ImageInfo.ImageLastModificationTime;
}
public override string GetImageComments()
{
return ImageInfo.ImageComments;
}
public override string GetMediaSerialNumber()
{
return ImageInfo.MediaSerialNumber;
}
public override string GetMediaBarcode()
{
return ImageInfo.MediaBarcode;
}
public override MediaType GetMediaType()
{
return ImageInfo.MediaType;
}
public override List<Partition> GetPartitions()
{
return partitions;
}
public override List<Track> GetTracks()
{
List<Track> tracks = new List<Track>();
foreach(CdrdaoTrack cdrTrack in discimage.Tracks)
{
Track dicTrack = new Track
{
Indexes = cdrTrack.Indexes,
TrackDescription = cdrTrack.Title,
TrackStartSector = cdrTrack.StartSector,
TrackPregap = cdrTrack.Pregap,
TrackSession = 1,
TrackSequence = cdrTrack.Sequence,
TrackType = CdrdaoTrackTypeToTrackType(cdrTrack.Tracktype),
TrackFilter = cdrTrack.Trackfile.Datafilter,
TrackFile = cdrTrack.Trackfile.Datafilter.GetFilename(),
TrackFileOffset = cdrTrack.Trackfile.Offset,
TrackFileType = cdrTrack.Trackfile.Filetype,
TrackRawBytesPerSector = cdrTrack.Bps,
TrackBytesPerSector = CdrdaoTrackTypeToCookedBytesPerSector(cdrTrack.Tracktype)
};
dicTrack.TrackEndSector = dicTrack.TrackStartSector + cdrTrack.Sectors - 1;
if(!cdrTrack.Indexes.TryGetValue(0, out dicTrack.TrackStartSector))
cdrTrack.Indexes.TryGetValue(1, out dicTrack.TrackStartSector);
if(cdrTrack.Subchannel)
{
dicTrack.TrackSubchannelType = cdrTrack.Packedsubchannel
? TrackSubchannelType.PackedInterleaved
: TrackSubchannelType.RawInterleaved;
dicTrack.TrackSubchannelFilter = cdrTrack.Trackfile.Datafilter;
dicTrack.TrackSubchannelFile = cdrTrack.Trackfile.Datafilter.GetFilename();
dicTrack.TrackSubchannelOffset = cdrTrack.Trackfile.Offset;
}
else dicTrack.TrackSubchannelType = TrackSubchannelType.None;
tracks.Add(dicTrack);
}
return tracks;
}
public override List<Track> GetSessionTracks(Session session)
{
return GetSessionTracks(session.SessionSequence);
@@ -1427,7 +1361,7 @@ namespace DiscImageChef.DiscImages
public override List<Track> GetSessionTracks(ushort session)
{
if(session == 1) return GetTracks();
if(session == 1) return Tracks;
throw new ImageNotSupportedException("Session does not exist in disc image");
}
@@ -1509,12 +1443,6 @@ namespace DiscImageChef.DiscImages
return null;
}
public override List<Session> GetSessions()
{
// TODO
throw new NotImplementedException();
}
static ushort CdrdaoTrackTypeToBytesPerSector(string trackType)
{
switch(trackType)
@@ -1563,56 +1491,6 @@ namespace DiscImageChef.DiscImages
}
}
public override int GetMediaSequence()
{
return ImageInfo.MediaSequence;
}
public override int GetLastDiskSequence()
{
return ImageInfo.LastMediaSequence;
}
public override string GetDriveManufacturer()
{
return ImageInfo.DriveManufacturer;
}
public override string GetDriveModel()
{
return ImageInfo.DriveModel;
}
public override string GetDriveSerialNumber()
{
return ImageInfo.DriveSerialNumber;
}
public override string GetMediaPartNumber()
{
return ImageInfo.MediaPartNumber;
}
public override string GetMediaManufacturer()
{
return ImageInfo.MediaManufacturer;
}
public override string GetMediaModel()
{
return ImageInfo.MediaModel;
}
public override string GetImageName()
{
return ImageInfo.ImageName;
}
public override string GetImageCreator()
{
return ImageInfo.ImageCreator;
}
[SuppressMessage("ReSharper", "NotAccessedField.Local")]
struct CdrdaoTrackFile
{