diff --git a/CHANGELIST.md b/CHANGELIST.md index ae9f2ebf..9dfa13f1 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -32,6 +32,7 @@ - Clean up options serialization and ordering - Add placeholder CLI media info methods - Further cleanup in Options +- Move dump settings next to execution contexts ### 3.6.0 (2025-11-28) diff --git a/MPF.ExecutionContexts/Aaru/DumpSettings.cs b/MPF.ExecutionContexts/Aaru/DumpSettings.cs new file mode 100644 index 00000000..da296e1c --- /dev/null +++ b/MPF.ExecutionContexts/Aaru/DumpSettings.cs @@ -0,0 +1,38 @@ +namespace MPF.ExecutionContexts.Aaru +{ + /// + /// Settings related to the dumping step + /// + public class DumpSettings + { + /// + /// Enable debug output while dumping by default + /// + /// Version 1 and greater + public bool EnableDebug { get; set; } = SettingConstants.EnableDebugDefault; + + /// + /// Enable verbose output while dumping by default + /// + /// Version 1 and greater + public bool EnableVerbose { get; set; } = SettingConstants.EnableVerboseDefault; + + /// + /// Enable force dumping of media by default + /// + /// Version 1 and greater + public bool ForceDumping { get; set; } = SettingConstants.ForceDumpingDefault; + + /// + /// Default number of sector/subchannel rereads + /// + /// Version 1 and greater + public int RereadCount { get; set; } = SettingConstants.RereadCountDefault; + + /// + /// Strip personal data information from Aaru metadata by default + /// + /// Version 1 and greater + public bool StripPersonalData { get; set; } = SettingConstants.StripPersonalDataDefault; + } +} diff --git a/MPF.ExecutionContexts/DiscImageCreator/DumpSettings.cs b/MPF.ExecutionContexts/DiscImageCreator/DumpSettings.cs new file mode 100644 index 00000000..b5e3ff51 --- /dev/null +++ b/MPF.ExecutionContexts/DiscImageCreator/DumpSettings.cs @@ -0,0 +1,55 @@ +namespace MPF.ExecutionContexts.DiscImageCreator +{ + /// + /// Settings related to the dumping step (DIC) + /// + public class DumpSettings + { + /// + /// Enable multi-sector read flag by default + /// + /// Version 1 and greater + public bool MultiSectorRead { get; set; } = SettingConstants.MultiSectorReadDefault; + + /// + /// Include a default multi-sector read value + /// + /// Version 1 and greater + public int MultiSectorReadValue { get; set; } = SettingConstants.MultiSectorReadValueDefault; + + /// + /// Enable overly-secure dumping flags by default + /// + /// + /// Version 1 and greater + /// Split this into component parts later. Currently does: + /// - Scan sector protection and set subchannel read level to 2 for CD + /// - Set scan file protect flag for DVD + /// + public bool ParanoidMode { get; set; } = SettingConstants.ParanoidModeDefault; + + /// + /// Enable the Quiet flag by default + /// + /// Version 1 and greater + public bool QuietMode { get; set; } = SettingConstants.QuietModeDefault; + + /// + /// Default number of C2 rereads + /// + /// Version 1 and greater + public int RereadCount { get; set; } = SettingConstants.RereadCountDefault; + + /// + /// Default number of DVD/HD-DVD/BD rereads + /// + /// Version 1 and greater + public int DVDRereadCount { get; set; } = SettingConstants.DVDRereadCountDefault; + + /// + /// Use the CMI flag for supported disc types + /// + /// Version 1 and greater + public bool UseCMIFlag { get; set; } = SettingConstants.UseCMIFlagDefault; + } +} diff --git a/MPF.ExecutionContexts/Dreamdump/DumpSettings.cs b/MPF.ExecutionContexts/Dreamdump/DumpSettings.cs new file mode 100644 index 00000000..b32c4d2a --- /dev/null +++ b/MPF.ExecutionContexts/Dreamdump/DumpSettings.cs @@ -0,0 +1,26 @@ +namespace MPF.ExecutionContexts.Dreamdump +{ + /// + /// Settings related to the dumping step (Dreamdump) + /// + public class DreamdumpDumpSettings + { + /// + /// Enable options incompatible with redump submissions + /// + /// Version 1 and greater + public bool NonRedumpMode { get; set; } = false; + + /// + /// Currently selected default Dreamdump sector order + /// + /// Version 1 and greater + public SectorOrder SectorOrder { get; set; } = SettingConstants.SectorOrderDefault; + + /// + /// Default number of rereads + /// + /// Version 1 and greater + public int RereadCount { get; set; } = SettingConstants.RereadCountDefault; + } +} diff --git a/MPF.ExecutionContexts/Redumper/DumpSettings.cs b/MPF.ExecutionContexts/Redumper/DumpSettings.cs new file mode 100644 index 00000000..9a85005a --- /dev/null +++ b/MPF.ExecutionContexts/Redumper/DumpSettings.cs @@ -0,0 +1,68 @@ +namespace MPF.ExecutionContexts.Redumper +{ + /// + /// Settings related to the dumping step (Redumper) + /// + public class DumpSettings + { + /// + /// Enable skeleton output while dumping by default + /// + /// Version 1 and greater; This is a hidden setting + public bool EnableSkeleton { get; set; } = SettingConstants.EnableSkeletonDefault; + + /// + /// Enable verbose output while dumping by default + /// + /// Version 1 and greater + public bool EnableVerbose { get; set; } = SettingConstants.EnableVerboseDefault; + + /// + /// Default number of redumper Plextor leadin retries + /// + /// Version 1 and greater + public int LeadinRetryCount { get; set; } = SettingConstants.LeadinRetryCountDefault; + + /// + /// Enable options incompatible with redump submissions + /// + /// Version 1 and greater + public bool NonRedumpMode { get; set; } = false; + + /// + /// Currently selected default redumper drive type + /// + /// Version 1 and greater + public DriveType DriveType { get; set; } = SettingConstants.DriveTypeDefault; + + /// + /// Currently selected default redumper drive pregap start sector + /// + /// Version 1 and greater + public int DrivePregapStart { get; set; } = SettingConstants.DrivePregapStartDefault; + + /// + /// Currently selected default redumper read method + /// + /// Version 1 and greater + public ReadMethod ReadMethod { get; set; } = SettingConstants.ReadMethodDefault; + + /// + /// Currently selected default redumper sector order + /// + /// Version 1 and greater + public SectorOrder SectorOrder { get; set; } = SettingConstants.SectorOrderDefault; + + /// + /// Default number of rereads + /// + /// Version 1 and greater + public int RereadCount { get; set; } = SettingConstants.RereadCountDefault; + + /// + /// Enable the refine sector mode flag by default + /// + /// Version 1 and greater + public bool RefineSectorMode { get; set; } = SettingConstants.RefineSectorModeDefault; + } +} diff --git a/MPF.Frontend/Options.cs b/MPF.Frontend/Options.cs index 2ccacc8e..74bab1c7 100644 --- a/MPF.Frontend/Options.cs +++ b/MPF.Frontend/Options.cs @@ -4,10 +4,14 @@ using System.IO; using Newtonsoft.Json; using SabreTools.RedumpLib.Data; using AaruConstants = MPF.ExecutionContexts.Aaru.SettingConstants; +using AaruDumpSettings = MPF.ExecutionContexts.Aaru.DumpSettings; using DiscImageCreatorConstants = MPF.ExecutionContexts.DiscImageCreator.SettingConstants; +using DiscImageCreatorDumpSettings = MPF.ExecutionContexts.DiscImageCreator.DumpSettings; using DreamdumpConstants = MPF.ExecutionContexts.Dreamdump.SettingConstants; +using DreamdumpDumpSettings = MPF.ExecutionContexts.Dreamdump.DreamdumpDumpSettings; using LogCompression = MPF.Processors.LogCompression; using RedumperConstants = MPF.ExecutionContexts.Redumper.SettingConstants; +using RedumperDumpSettings = MPF.ExecutionContexts.Redumper.DumpSettings; namespace MPF.Frontend { @@ -971,188 +975,5 @@ namespace MPF.Frontend public string? CustomTextColor { get; set; } = null; } - #region Per-Program Dump Settings - - /// - /// Settings related to the dumping step (Aaru) - /// - public class AaruDumpSettings - { - /// - /// Enable debug output while dumping by default - /// - /// Version 1 and greater - public bool EnableDebug { get; set; } = AaruConstants.EnableDebugDefault; - - /// - /// Enable verbose output while dumping by default - /// - /// Version 1 and greater - public bool EnableVerbose { get; set; } = AaruConstants.EnableVerboseDefault; - - /// - /// Enable force dumping of media by default - /// - /// Version 1 and greater - public bool ForceDumping { get; set; } = AaruConstants.ForceDumpingDefault; - - /// - /// Default number of sector/subchannel rereads - /// - /// Version 1 and greater - public int RereadCount { get; set; } = AaruConstants.RereadCountDefault; - - /// - /// Strip personal data information from Aaru metadata by default - /// - /// Version 1 and greater - public bool StripPersonalData { get; set; } = AaruConstants.StripPersonalDataDefault; - } - - /// - /// Settings related to the dumping step (DIC) - /// - public class DiscImageCreatorDumpSettings - { - /// - /// Enable multi-sector read flag by default - /// - /// Version 1 and greater - public bool MultiSectorRead { get; set; } = DiscImageCreatorConstants.MultiSectorReadDefault; - - /// - /// Include a default multi-sector read value - /// - /// Version 1 and greater - public int MultiSectorReadValue { get; set; } = DiscImageCreatorConstants.MultiSectorReadValueDefault; - - /// - /// Enable overly-secure dumping flags by default - /// - /// - /// Version 1 and greater - /// Split this into component parts later. Currently does: - /// - Scan sector protection and set subchannel read level to 2 for CD - /// - Set scan file protect flag for DVD - /// - public bool ParanoidMode { get; set; } = DiscImageCreatorConstants.ParanoidModeDefault; - - /// - /// Enable the Quiet flag by default - /// - /// Version 1 and greater - public bool QuietMode { get; set; } = DiscImageCreatorConstants.QuietModeDefault; - - /// - /// Default number of C2 rereads - /// - /// Version 1 and greater - public int RereadCount { get; set; } = DiscImageCreatorConstants.RereadCountDefault; - - /// - /// Default number of DVD/HD-DVD/BD rereads - /// - /// Version 1 and greater - public int DVDRereadCount { get; set; } = DiscImageCreatorConstants.DVDRereadCountDefault; - - /// - /// Use the CMI flag for supported disc types - /// - /// Version 1 and greater - public bool UseCMIFlag { get; set; } = DiscImageCreatorConstants.UseCMIFlagDefault; - } - - /// - /// Settings related to the dumping step (Dreamdump) - /// - public class DreamdumpDumpSettings - { - /// - /// Enable options incompatible with redump submissions - /// - /// Version 1 and greater - public bool NonRedumpMode { get; set; } = false; - - /// - /// Currently selected default Dreamdump sector order - /// - /// Version 1 and greater - public ExecutionContexts.Dreamdump.SectorOrder SectorOrder { get; set; } = DreamdumpConstants.SectorOrderDefault; - - /// - /// Default number of rereads - /// - /// Version 1 and greater - public int RereadCount { get; set; } = DreamdumpConstants.RereadCountDefault; - } - - /// - /// Settings related to the dumping step (Redumper) - /// - public class RedumperDumpSettings - { - /// - /// Enable skeleton output while dumping by default - /// - /// Version 1 and greater; This is a hidden setting - public bool EnableSkeleton { get; set; } = RedumperConstants.EnableSkeletonDefault; - - /// - /// Enable verbose output while dumping by default - /// - /// Version 1 and greater - public bool EnableVerbose { get; set; } = RedumperConstants.EnableVerboseDefault; - - /// - /// Default number of redumper Plextor leadin retries - /// - /// Version 1 and greater - public int LeadinRetryCount { get; set; } = RedumperConstants.LeadinRetryCountDefault; - - /// - /// Enable options incompatible with redump submissions - /// - /// Version 1 and greater - public bool NonRedumpMode { get; set; } = false; - - /// - /// Currently selected default redumper drive type - /// - /// Version 1 and greater - public ExecutionContexts.Redumper.DriveType DriveType { get; set; } = RedumperConstants.DriveTypeDefault; - - /// - /// Currently selected default redumper drive pregap start sector - /// - /// Version 1 and greater - public int DrivePregapStart { get; set; } = RedumperConstants.DrivePregapStartDefault; - - /// - /// Currently selected default redumper read method - /// - /// Version 1 and greater - public ExecutionContexts.Redumper.ReadMethod ReadMethod { get; set; } = RedumperConstants.ReadMethodDefault; - - /// - /// Currently selected default redumper sector order - /// - /// Version 1 and greater - public ExecutionContexts.Redumper.SectorOrder SectorOrder { get; set; } = RedumperConstants.SectorOrderDefault; - - /// - /// Default number of rereads - /// - /// Version 1 and greater - public int RereadCount { get; set; } = RedumperConstants.RereadCountDefault; - - /// - /// Enable the refine sector mode flag by default - /// - /// Version 1 and greater - public bool RefineSectorMode { get; set; } = RedumperConstants.RefineSectorModeDefault; - } - - #endregion - #endregion }