From 3745ccec84ae3312c6be8509acd55104d295d515 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 1 Feb 2018 15:16:09 +0000 Subject: [PATCH] Print sessions and tracks in image-info command. --- DiscImageChef.Core/ImageInfo.cs | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/DiscImageChef.Core/ImageInfo.cs b/DiscImageChef.Core/ImageInfo.cs index b1184520..16077b10 100644 --- a/DiscImageChef.Core/ImageInfo.cs +++ b/DiscImageChef.Core/ImageInfo.cs @@ -45,6 +45,7 @@ using DiscImageChef.DiscImages; using Schemas; using DDS = DiscImageChef.Decoders.DVD.DDS; using DMI = DiscImageChef.Decoders.Xbox.DMI; +using Session = DiscImageChef.DiscImages.Session; using Tuple = DiscImageChef.Decoders.PCMCIA.Tuple; namespace DiscImageChef.Core @@ -497,6 +498,40 @@ namespace DiscImageChef.Core DicConsole.WriteLine(); } + try + { + if(imageFormat.Sessions != null && imageFormat.Sessions.Count > 0) + { + DicConsole.WriteLine("Image sessions:"); + DicConsole.WriteLine("{0,-9}{1,-13}{2,-12}{3,-12}{4,-12}", "Session", "First track", "Last track", "Start", "End"); + DicConsole.WriteLine("========================================================="); + foreach(Session session in imageFormat.Sessions) + DicConsole.WriteLine("{0,-9}{1,-13}{2,-12}{3,-12}{4,-12}", session.SessionSequence, session.StartTrack, session.EndTrack, session.StartSector, session.EndSector); + DicConsole.WriteLine(); + } + } + catch + { + // ignored + } + + try + { + if(imageFormat.Tracks != null && imageFormat.Tracks.Count > 0) + { + DicConsole.WriteLine("Image tracks:"); + DicConsole.WriteLine("{0,-7}{1,-17}{2,-6}{3,-8}{4,-12}{5,-8}{6,-12}{7,-12}", "Track", "Type", "Bps", "Raw bps", "Subchannel", "Pregap", "Start", "End"); + DicConsole.WriteLine("================================================================================="); + foreach(Track track in imageFormat.Tracks) + DicConsole.WriteLine("{0,-7}{1,-17}{2,-6}{3,-8}{4,-12}{5,-8}{6,-12}{7,-12}", track.TrackSequence, track.TrackType, track.TrackBytesPerSector, track.TrackRawBytesPerSector, track.TrackSubchannelType, track.TrackPregap, track.TrackStartSector, track.TrackEndSector); + DicConsole.WriteLine(); + } + } + catch + { + // ignored + } + if(imageFormat.DumpHardware == null) return; const string MANUFACTURER_STRING = "Manufacturer";