mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Disable calculation of disc entropy on multisession discs.
This commit is contained in:
@@ -301,6 +301,14 @@ namespace Aaru.Gui.ViewModels.Windows
|
|||||||
StopVisible = false;
|
StopVisible = false;
|
||||||
ProgressVisible = true;
|
ProgressVisible = true;
|
||||||
|
|
||||||
|
if(WholeDiscChecked &&
|
||||||
|
_inputFormat is IOpticalMediaImage opticalFormat &&
|
||||||
|
opticalFormat.Sessions?.Count > 1)
|
||||||
|
{
|
||||||
|
AaruConsole.ErrorWriteLine("Calculating disc entropy of multisession images is not yet implemented.");
|
||||||
|
WholeDiscChecked = false;
|
||||||
|
}
|
||||||
|
|
||||||
var thread = new Thread(async () =>
|
var thread = new Thread(async () =>
|
||||||
{
|
{
|
||||||
if(SeparatedTracksChecked)
|
if(SeparatedTracksChecked)
|
||||||
@@ -315,7 +323,7 @@ namespace Aaru.Gui.ViewModels.Windows
|
|||||||
if(trackEntropy.UniqueSectors != null)
|
if(trackEntropy.UniqueSectors != null)
|
||||||
AaruConsole.WriteLine("Track {0} has {1} unique sectors ({2:P3})", trackEntropy.Track,
|
AaruConsole.WriteLine("Track {0} has {1} unique sectors ({2:P3})", trackEntropy.Track,
|
||||||
trackEntropy.UniqueSectors,
|
trackEntropy.UniqueSectors,
|
||||||
(double)trackEntropy.UniqueSectors / (double)trackEntropy.Sectors);
|
(double)trackEntropy.UniqueSectors / trackEntropy.Sectors);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -347,7 +355,7 @@ namespace Aaru.Gui.ViewModels.Windows
|
|||||||
Track = trackEntropy.Track.ToString(),
|
Track = trackEntropy.Track.ToString(),
|
||||||
Entropy = trackEntropy.Entropy.ToString(CultureInfo.CurrentUICulture),
|
Entropy = trackEntropy.Entropy.ToString(CultureInfo.CurrentUICulture),
|
||||||
UniqueSectors =
|
UniqueSectors =
|
||||||
$"{trackEntropy.UniqueSectors} ({(double)(trackEntropy.UniqueSectors ?? 0) / (double)trackEntropy.Sectors:P3})"
|
$"{trackEntropy.UniqueSectors} ({(trackEntropy.UniqueSectors ?? 0) / (double)trackEntropy.Sectors:P3})"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -361,7 +369,7 @@ namespace Aaru.Gui.ViewModels.Windows
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
MediaUniqueSectorsText =
|
MediaUniqueSectorsText =
|
||||||
$"Disk has {_entropy.UniqueSectors} unique sectors ({(double)_entropy.UniqueSectors / (double)_entropy.Sectors:P3})";
|
$"Disk has {_entropy.UniqueSectors} unique sectors ({(double)_entropy.UniqueSectors / _entropy.Sectors:P3})";
|
||||||
|
|
||||||
MediaUniqueSectorsVisible = true;
|
MediaUniqueSectorsVisible = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,6 +133,14 @@ namespace Aaru.Commands.Image
|
|||||||
entropyCalculator.EndProgressEvent += Progress.EndProgress;
|
entropyCalculator.EndProgressEvent += Progress.EndProgress;
|
||||||
entropyCalculator.EndProgress2Event += Progress.EndProgress2;
|
entropyCalculator.EndProgress2Event += Progress.EndProgress2;
|
||||||
|
|
||||||
|
if(wholeDisc &&
|
||||||
|
inputFormat is IOpticalMediaImage opticalFormat &&
|
||||||
|
opticalFormat.Sessions?.Count > 1)
|
||||||
|
{
|
||||||
|
AaruConsole.ErrorWriteLine("Calculating disc entropy of multisession images is not yet implemented.");
|
||||||
|
wholeDisc = false;
|
||||||
|
}
|
||||||
|
|
||||||
if(separatedTracks)
|
if(separatedTracks)
|
||||||
{
|
{
|
||||||
EntropyResults[] tracksEntropy = entropyCalculator.CalculateTracksEntropy(duplicatedSectors);
|
EntropyResults[] tracksEntropy = entropyCalculator.CalculateTracksEntropy(duplicatedSectors);
|
||||||
@@ -144,7 +152,7 @@ namespace Aaru.Commands.Image
|
|||||||
if(trackEntropy.UniqueSectors != null)
|
if(trackEntropy.UniqueSectors != null)
|
||||||
AaruConsole.WriteLine("Track {0} has {1} unique sectors ({2:P3})", trackEntropy.Track,
|
AaruConsole.WriteLine("Track {0} has {1} unique sectors ({2:P3})", trackEntropy.Track,
|
||||||
trackEntropy.UniqueSectors,
|
trackEntropy.UniqueSectors,
|
||||||
(double)trackEntropy.UniqueSectors / (double)trackEntropy.Sectors);
|
(double)trackEntropy.UniqueSectors / trackEntropy.Sectors);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +165,7 @@ namespace Aaru.Commands.Image
|
|||||||
|
|
||||||
if(entropy.UniqueSectors != null)
|
if(entropy.UniqueSectors != null)
|
||||||
AaruConsole.WriteLine("Disk has {0} unique sectors ({1:P3})", entropy.UniqueSectors,
|
AaruConsole.WriteLine("Disk has {0} unique sectors ({1:P3})", entropy.UniqueSectors,
|
||||||
(double)entropy.UniqueSectors / (double)entropy.Sectors);
|
(double)entropy.UniqueSectors / entropy.Sectors);
|
||||||
|
|
||||||
return (int)ErrorNumber.NoError;
|
return (int)ErrorNumber.NoError;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user