diff --git a/CHANGELIST.md b/CHANGELIST.md
index d1f4c996..047f5459 100644
--- a/CHANGELIST.md
+++ b/CHANGELIST.md
@@ -157,6 +157,7 @@
- Combine remaining Core into Frontend
- Remove Core library, fix build
- Create Frontend.Tools namespace
+- Remove magic strings from settings reading
### 3.1.9a (2024-05-21)
diff --git a/MPF.ExecutionContexts/Aaru/ExecutionContext.cs b/MPF.ExecutionContexts/Aaru/ExecutionContext.cs
index 48b53db4..2c1b5ae0 100644
--- a/MPF.ExecutionContexts/Aaru/ExecutionContext.cs
+++ b/MPF.ExecutionContexts/Aaru/ExecutionContext.cs
@@ -1208,7 +1208,7 @@ namespace MPF.ExecutionContexts.Aaru
return;
// Set retry count
- int rereadCount = GetInt32Setting(options, "AaruRereadCount", 5);
+ int rereadCount = GetInt32Setting(options, SettingConstants.RereadCount, 5);
if (rereadCount > 0)
{
this[FlagStrings.RetryPassesLong] = true;
@@ -1216,13 +1216,13 @@ namespace MPF.ExecutionContexts.Aaru
}
// Set user-defined options
- if (GetBooleanSetting(options, "AaruEnableDebug", false))
+ if (GetBooleanSetting(options, SettingConstants.EnableDebug, false))
this[FlagStrings.DebugLong] = true;
- if (GetBooleanSetting(options, "AaruEnableVerbose", false))
+ if (GetBooleanSetting(options, SettingConstants.EnableVerbose, false))
this[FlagStrings.VerboseLong] = true;
- if (GetBooleanSetting(options, "AaruForceDumping", true))
+ if (GetBooleanSetting(options, SettingConstants.ForceDumping, true))
this[FlagStrings.ForceLong] = true;
- if (GetBooleanSetting(options, "AaruStripPersonalData", false))
+ if (GetBooleanSetting(options, SettingConstants.StripPersonalData, false))
this[FlagStrings.PrivateLong] = true;
// TODO: Look at dump-media formats and the like and see what options there are there to fill in defaults
diff --git a/MPF.ExecutionContexts/Aaru/SettingConstants.cs b/MPF.ExecutionContexts/Aaru/SettingConstants.cs
new file mode 100644
index 00000000..6af59d16
--- /dev/null
+++ b/MPF.ExecutionContexts/Aaru/SettingConstants.cs
@@ -0,0 +1,15 @@
+namespace MPF.ExecutionContexts.Aaru
+{
+ public static class SettingConstants
+ {
+ public const string EnableDebug = "AaruEnableDebug";
+
+ public const string EnableVerbose = "AaruEnableVerbose";
+
+ public const string ForceDumping = "AaruForceDumping";
+
+ public const string RereadCount = "AaruRereadCount";
+
+ public const string StripPersonalData = "AaruStripPersonalData";
+ }
+}
\ No newline at end of file
diff --git a/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs b/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs
index 61a4c68a..d20d09d0 100644
--- a/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs
+++ b/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs
@@ -957,11 +957,11 @@ namespace MPF.ExecutionContexts.DiscImageCreator
return;
// Set disable beep flag, if needed
- if (GetBooleanSetting(options, "DICQuietMode", false))
+ if (GetBooleanSetting(options, SettingConstants.QuietMode, false))
this[FlagStrings.DisableBeep] = true;
// Set the C2 reread count
- int cdRereadCount = GetInt32Setting(options, "DICRereadCount", 20);
+ int cdRereadCount = GetInt32Setting(options, SettingConstants.RereadCount, 20);
C2OpcodeValue[0] = cdRereadCount switch
{
-1 => null,
@@ -970,7 +970,7 @@ namespace MPF.ExecutionContexts.DiscImageCreator
};
// Set the DVD/HD-DVD/BD reread count
- int dvdRereadCount = GetInt32Setting(options, "DICDVDRereadCount", 10);
+ int dvdRereadCount = GetInt32Setting(options, SettingConstants.DVDRereadCount, 10);
DVDRereadValue = dvdRereadCount switch
{
-1 => null,
@@ -983,9 +983,9 @@ namespace MPF.ExecutionContexts.DiscImageCreator
{
case MediaType.CDROM:
this[FlagStrings.C2Opcode] = true;
- this[FlagStrings.MultiSectorRead] = GetBooleanSetting(options, "DICMultiSectorRead", false);
+ this[FlagStrings.MultiSectorRead] = GetBooleanSetting(options, SettingConstants.MultiSectorRead, false);
if (this[FlagStrings.MultiSectorRead] == true)
- this.MultiSectorReadValue = GetInt32Setting(options, "DICMultiSectorReadValue", 0);
+ this.MultiSectorReadValue = GetInt32Setting(options, SettingConstants.MultiSectorReadValue, 0);
switch (this.System)
{
@@ -993,8 +993,8 @@ namespace MPF.ExecutionContexts.DiscImageCreator
case RedumpSystem.IBMPCcompatible:
this[FlagStrings.NoFixSubQSecuROM] = true;
this[FlagStrings.ScanFileProtect] = true;
- this[FlagStrings.ScanSectorProtect] = GetBooleanSetting(options, "DICParanoidMode", false);
- this[FlagStrings.SubchannelReadLevel] = GetBooleanSetting(options, "DICParanoidMode", false);
+ this[FlagStrings.ScanSectorProtect] = GetBooleanSetting(options, SettingConstants.ParanoidMode, false);
+ this[FlagStrings.SubchannelReadLevel] = GetBooleanSetting(options, SettingConstants.ParanoidMode, false);
if (this[FlagStrings.SubchannelReadLevel] == true)
SubchannelReadLevelValue = 2;
@@ -1016,15 +1016,15 @@ namespace MPF.ExecutionContexts.DiscImageCreator
}
break;
case MediaType.DVD:
- this[FlagStrings.CopyrightManagementInformation] = GetBooleanSetting(options, "DICUseCMIFlag", false);
- this[FlagStrings.ScanFileProtect] = GetBooleanSetting(options, "DICParanoidMode", false);
+ this[FlagStrings.CopyrightManagementInformation] = GetBooleanSetting(options, SettingConstants.UseCMIFlag, false);
+ this[FlagStrings.ScanFileProtect] = GetBooleanSetting(options, SettingConstants.ParanoidMode, false);
this[FlagStrings.DVDReread] = true;
break;
case MediaType.GDROM:
this[FlagStrings.C2Opcode] = true;
break;
case MediaType.HDDVD:
- this[FlagStrings.CopyrightManagementInformation] = GetBooleanSetting(options, "DICUseCMIFlag", false);
+ this[FlagStrings.CopyrightManagementInformation] = GetBooleanSetting(options, SettingConstants.UseCMIFlag, false);
this[FlagStrings.DVDReread] = true;
break;
case MediaType.BluRay:
diff --git a/MPF.ExecutionContexts/DiscImageCreator/SettingConstants.cs b/MPF.ExecutionContexts/DiscImageCreator/SettingConstants.cs
new file mode 100644
index 00000000..9077f762
--- /dev/null
+++ b/MPF.ExecutionContexts/DiscImageCreator/SettingConstants.cs
@@ -0,0 +1,19 @@
+namespace MPF.ExecutionContexts.DiscImageCreator
+{
+ public static class SettingConstants
+ {
+ public const string DVDRereadCount = "DICDVDRereadCount";
+
+ public const string MultiSectorRead = "DICMultiSectorRead";
+
+ public const string MultiSectorReadValue = "DICMultiSectorReadValue";
+
+ public const string ParanoidMode = "DICParanoidMode";
+
+ public const string QuietMode = "DICQuietMode";
+
+ public const string RereadCount = "DICRereadCount";
+
+ public const string UseCMIFlag = "DICUseCMIFlag";
+ }
+}
\ No newline at end of file
diff --git a/MPF.ExecutionContexts/Redumper/ExecutionContext.cs b/MPF.ExecutionContexts/Redumper/ExecutionContext.cs
index f745fe17..6a69dbf2 100644
--- a/MPF.ExecutionContexts/Redumper/ExecutionContext.cs
+++ b/MPF.ExecutionContexts/Redumper/ExecutionContext.cs
@@ -579,26 +579,26 @@ namespace MPF.ExecutionContexts.Redumper
SpeedValue = driveSpeed;
// Set user-defined options
- if (GetBooleanSetting(options, "RedumperEnableVerbose", true))
+ if (GetBooleanSetting(options, SettingConstants.EnableVerbose, true))
this[FlagStrings.Verbose] = true;
- if (GetBooleanSetting(options, "RedumperEnableDebug", false))
+ if (GetBooleanSetting(options, SettingConstants.EnableDebug, false))
this[FlagStrings.Debug] = true;
- string? readMethod = GetStringSetting(options, "RedumperReadMethod", "NONE");
+ string? readMethod = GetStringSetting(options, SettingConstants.ReadMethod, "NONE");
if (!string.IsNullOrEmpty(readMethod) && readMethod != "NONE")
{
this[FlagStrings.DriveReadMethod] = true;
DriveReadMethodValue = readMethod;
}
- string? sectorOrder = GetStringSetting(options, "RedumperSectorOrder", "NONE");
+ string? sectorOrder = GetStringSetting(options, SettingConstants.SectorOrder, "NONE");
if (!string.IsNullOrEmpty(sectorOrder) && sectorOrder != "NONE")
{
this[FlagStrings.DriveSectorOrder] = true;
DriveSectorOrderValue = sectorOrder;
}
- if (GetBooleanSetting(options, "RedumperUseGenericDriveType", false))
+ if (GetBooleanSetting(options, SettingConstants.UseGenericDriveType, false))
{
this[FlagStrings.DriveType] = true;
DriveTypeValue = "GENERIC";
@@ -623,12 +623,12 @@ namespace MPF.ExecutionContexts.Redumper
}
this[FlagStrings.Retries] = true;
- RetriesValue = GetInt32Setting(options, "RedumperRereadCount", 20);
+ RetriesValue = GetInt32Setting(options, SettingConstants.RereadCount, 20);
- if (GetBooleanSetting(options, "RedumperEnableLeadinRetry", false))
+ if (GetBooleanSetting(options, SettingConstants.EnableLeadinRetry, false))
{
this[FlagStrings.PlextorLeadinRetries] = true;
- PlextorLeadinRetriesValue = GetInt32Setting(options, "RedumperLeadinRetryCount", 4);
+ PlextorLeadinRetriesValue = GetInt32Setting(options, SettingConstants.LeadinRetryCount, 4);
}
}
diff --git a/MPF.ExecutionContexts/Redumper/SettingConstants.cs b/MPF.ExecutionContexts/Redumper/SettingConstants.cs
new file mode 100644
index 00000000..8f7a9fa1
--- /dev/null
+++ b/MPF.ExecutionContexts/Redumper/SettingConstants.cs
@@ -0,0 +1,21 @@
+namespace MPF.ExecutionContexts.Redumper
+{
+ public static class SettingConstants
+ {
+ public const string EnableDebug = "RedumperEnableDebug";
+
+ public const string EnableLeadinRetry = "RedumperEnableLeadinRetry";
+
+ public const string EnableVerbose = "RedumperEnableVerbose";
+
+ public const string LeadinRetryCount = "RedumperLeadinRetryCount";
+
+ public const string ReadMethod = "RedumperReadMethod";
+
+ public const string RereadCount = "RedumperRereadCount";
+
+ public const string SectorOrder = "RedumperSectorOrder";
+
+ public const string UseGenericDriveType = "RedumperUseGenericDriveType";
+ }
+}
\ No newline at end of file
diff --git a/MPF.Frontend/Options.cs b/MPF.Frontend/Options.cs
index 1d2e1e63..dd9bb516 100644
--- a/MPF.Frontend/Options.cs
+++ b/MPF.Frontend/Options.cs
@@ -1,5 +1,8 @@
using System.Collections.Generic;
using SabreTools.RedumpLib.Data;
+using AaruSettings = MPF.ExecutionContexts.Aaru.SettingConstants;
+using DICSettings = MPF.ExecutionContexts.DiscImageCreator.SettingConstants;
+using RedumperSettings = MPF.ExecutionContexts.Redumper.SettingConstants;
namespace MPF.Frontend
{
@@ -181,8 +184,8 @@ namespace MPF.Frontend
///
public bool AaruEnableDebug
{
- get { return GetBooleanSetting(Settings, "AaruEnableDebug", false); }
- set { Settings["AaruEnableDebug"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, AaruSettings.EnableDebug, false); }
+ set { Settings[AaruSettings.EnableDebug] = value.ToString(); }
}
///
@@ -190,8 +193,8 @@ namespace MPF.Frontend
///
public bool AaruEnableVerbose
{
- get { return GetBooleanSetting(Settings, "AaruEnableVerbose", false); }
- set { Settings["AaruEnableVerbose"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, AaruSettings.EnableVerbose, false); }
+ set { Settings[AaruSettings.EnableVerbose] = value.ToString(); }
}
///
@@ -199,8 +202,8 @@ namespace MPF.Frontend
///
public bool AaruForceDumping
{
- get { return GetBooleanSetting(Settings, "AaruForceDumping", true); }
- set { Settings["AaruForceDumping"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, AaruSettings.ForceDumping, true); }
+ set { Settings[AaruSettings.ForceDumping] = value.ToString(); }
}
///
@@ -208,8 +211,8 @@ namespace MPF.Frontend
///
public int AaruRereadCount
{
- get { return GetInt32Setting(Settings, "AaruRereadCount", 5); }
- set { Settings["AaruRereadCount"] = value.ToString(); }
+ get { return GetInt32Setting(Settings, AaruSettings.RereadCount, 5); }
+ set { Settings[AaruSettings.RereadCount] = value.ToString(); }
}
///
@@ -217,8 +220,8 @@ namespace MPF.Frontend
///
public bool AaruStripPersonalData
{
- get { return GetBooleanSetting(Settings, "AaruStripPersonalData", false); }
- set { Settings["AaruStripPersonalData"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, AaruSettings.StripPersonalData, false); }
+ set { Settings[AaruSettings.StripPersonalData] = value.ToString(); }
}
#endregion
@@ -230,8 +233,8 @@ namespace MPF.Frontend
///
public bool DICMultiSectorRead
{
- get { return GetBooleanSetting(Settings, "DICMultiSectorRead", false); }
- set { Settings["DICMultiSectorRead"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, DICSettings.MultiSectorRead, false); }
+ set { Settings[DICSettings.MultiSectorRead] = value.ToString(); }
}
///
@@ -239,8 +242,8 @@ namespace MPF.Frontend
///
public int DICMultiSectorReadValue
{
- get { return GetInt32Setting(Settings, "DICMultiSectorReadValue", 0); }
- set { Settings["DICMultiSectorReadValue"] = value.ToString(); }
+ get { return GetInt32Setting(Settings, DICSettings.MultiSectorReadValue, 0); }
+ set { Settings[DICSettings.MultiSectorReadValue] = value.ToString(); }
}
///
@@ -253,8 +256,8 @@ namespace MPF.Frontend
///
public bool DICParanoidMode
{
- get { return GetBooleanSetting(Settings, "DICParanoidMode", false); }
- set { Settings["DICParanoidMode"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, DICSettings.ParanoidMode, false); }
+ set { Settings[DICSettings.ParanoidMode] = value.ToString(); }
}
///
@@ -262,8 +265,8 @@ namespace MPF.Frontend
///
public bool DICQuietMode
{
- get { return GetBooleanSetting(Settings, "DICQuietMode", false); }
- set { Settings["DICQuietMode"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, DICSettings.QuietMode, false); }
+ set { Settings[DICSettings.QuietMode] = value.ToString(); }
}
///
@@ -271,8 +274,8 @@ namespace MPF.Frontend
///
public int DICRereadCount
{
- get { return GetInt32Setting(Settings, "DICRereadCount", 20); }
- set { Settings["DICRereadCount"] = value.ToString(); }
+ get { return GetInt32Setting(Settings, DICSettings.RereadCount, 20); }
+ set { Settings[DICSettings.RereadCount] = value.ToString(); }
}
///
@@ -280,8 +283,8 @@ namespace MPF.Frontend
///
public int DICDVDRereadCount
{
- get { return GetInt32Setting(Settings, "DICDVDRereadCount", 10); }
- set { Settings["DICDVDRereadCount"] = value.ToString(); }
+ get { return GetInt32Setting(Settings, DICSettings.DVDRereadCount, 10); }
+ set { Settings[DICSettings.DVDRereadCount] = value.ToString(); }
}
///
@@ -289,8 +292,8 @@ namespace MPF.Frontend
///
public bool DICUseCMIFlag
{
- get { return GetBooleanSetting(Settings, "DICUseCMIFlag", false); }
- set { Settings["DICUseCMIFlag"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, DICSettings.UseCMIFlag, false); }
+ set { Settings[DICSettings.UseCMIFlag] = value.ToString(); }
}
#endregion
@@ -302,8 +305,8 @@ namespace MPF.Frontend
///
public bool RedumperEnableDebug
{
- get { return GetBooleanSetting(Settings, "RedumperEnableDebug", false); }
- set { Settings["RedumperEnableDebug"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, RedumperSettings.EnableDebug, false); }
+ set { Settings[RedumperSettings.EnableDebug] = value.ToString(); }
}
///
@@ -311,8 +314,8 @@ namespace MPF.Frontend
///
public bool RedumperEnableLeadinRetry
{
- get { return GetBooleanSetting(Settings, "RedumperEnableLeadinRetry", false); }
- set { Settings["RedumperEnableLeadinRetry"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, RedumperSettings.EnableLeadinRetry, false); }
+ set { Settings[RedumperSettings.EnableLeadinRetry] = value.ToString(); }
}
///
@@ -320,8 +323,8 @@ namespace MPF.Frontend
///
public bool RedumperEnableVerbose
{
- get { return GetBooleanSetting(Settings, "RedumperEnableVerbose", true); }
- set { Settings["RedumperEnableVerbose"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, RedumperSettings.EnableVerbose, true); }
+ set { Settings[RedumperSettings.EnableVerbose] = value.ToString(); }
}
///
@@ -329,8 +332,8 @@ namespace MPF.Frontend
///
public int RedumperLeadinRetryCount
{
- get { return GetInt32Setting(Settings, "RedumperLeadinRetryCount", 4); }
- set { Settings["RedumperLeadinRetryCount"] = value.ToString(); }
+ get { return GetInt32Setting(Settings, RedumperSettings.LeadinRetryCount, 4); }
+ set { Settings[RedumperSettings.LeadinRetryCount] = value.ToString(); }
}
///
@@ -347,8 +350,8 @@ namespace MPF.Frontend
///
public bool RedumperUseGenericDriveType
{
- get { return GetBooleanSetting(Settings, "RedumperUseGenericDriveType", false); }
- set { Settings["RedumperUseGenericDriveType"] = value.ToString(); }
+ get { return GetBooleanSetting(Settings, RedumperSettings.UseGenericDriveType, false); }
+ set { Settings[RedumperSettings.UseGenericDriveType] = value.ToString(); }
}
///
@@ -358,12 +361,12 @@ namespace MPF.Frontend
{
get
{
- var valueString = GetStringSetting(Settings, "RedumperReadMethod", RedumperReadMethod.NONE.ToString());
+ var valueString = GetStringSetting(Settings, RedumperSettings.ReadMethod, RedumperReadMethod.NONE.ToString());
return ToRedumperReadMethod(valueString);
}
set
{
- Settings["RedumperReadMethod"] = value.ToString();
+ Settings[RedumperSettings.ReadMethod] = value.ToString();
}
}
@@ -374,12 +377,12 @@ namespace MPF.Frontend
{
get
{
- var valueString = GetStringSetting(Settings, "RedumperSectorOrder", RedumperSectorOrder.NONE.ToString());
+ var valueString = GetStringSetting(Settings, RedumperSettings.SectorOrder, RedumperSectorOrder.NONE.ToString());
return ToRedumperSectorOrder(valueString);
}
set
{
- Settings["RedumperSectorOrder"] = value.ToString();
+ Settings[RedumperSettings.SectorOrder] = value.ToString();
}
}
@@ -388,8 +391,8 @@ namespace MPF.Frontend
///
public int RedumperRereadCount
{
- get { return GetInt32Setting(Settings, "RedumperRereadCount", 20); }
- set { Settings["RedumperRereadCount"] = value.ToString(); }
+ get { return GetInt32Setting(Settings, RedumperSettings.RereadCount, 20); }
+ set { Settings[RedumperSettings.RereadCount] = value.ToString(); }
}
#endregion