diff --git a/CHANGELIST.md b/CHANGELIST.md
index d6c8ab5f..2cd031c1 100644
--- a/CHANGELIST.md
+++ b/CHANGELIST.md
@@ -129,6 +129,7 @@
- Move ToMediaType to OptionsLoader
- Move ListPrograms to OptionsLoader
- Move DoesSupportDriveSpeed to DumpEnvironment
+- Move ToInternalProgram to Options
### 3.1.9a (2024-05-21)
diff --git a/MPF.Core/EnumExtensions.cs b/MPF.Core/EnumExtensions.cs
index 7988f54b..2460d710 100644
--- a/MPF.Core/EnumExtensions.cs
+++ b/MPF.Core/EnumExtensions.cs
@@ -127,52 +127,5 @@ namespace MPF.Core
}
#endregion
-
- #region Convert From String
-
- ///
- /// Get the InternalProgram enum value for a given string
- ///
- /// String value to convert
- /// InternalProgram represented by the string, if possible
- public static InternalProgram ToInternalProgram(string? internalProgram)
- {
- return (internalProgram?.ToLowerInvariant()) switch
- {
- // Dumping support
- "aaru"
- or "chef"
- or "dichef"
- or "discimagechef" => InternalProgram.Aaru,
- "creator"
- or "dic"
- or "dicreator"
- or "discimagecreator" => InternalProgram.DiscImageCreator,
- "rd"
- or "redumper" => InternalProgram.Redumper,
-
- // Verification support only
- "cleanrip"
- or "cr" => InternalProgram.CleanRip,
- "ps3cfw"
- or "ps3"
- or "getkey"
- or "managunz"
- or "multiman" => InternalProgram.PS3CFW,
- "uic"
- or "umd"
- or "umdcreator"
- or "umdimagecreator" => InternalProgram.UmdImageCreator,
- "xbc"
- or "xbox"
- or "xbox360"
- or "xboxcreator"
- or "xboxbackupcreator" => InternalProgram.XboxBackupCreator,
-
- _ => InternalProgram.NONE,
- };
- }
-
- #endregion
}
}
diff --git a/MPF.Core/Options.cs b/MPF.Core/Options.cs
index 76a8dc96..59b22c69 100644
--- a/MPF.Core/Options.cs
+++ b/MPF.Core/Options.cs
@@ -56,7 +56,7 @@ namespace MPF.Core
get
{
var valueString = GetStringSetting(Settings, "InternalProgram", InternalProgram.Redumper.ToString());
- var valueEnum = EnumExtensions.ToInternalProgram(valueString);
+ var valueEnum = ToInternalProgram(valueString);
return valueEnum == InternalProgram.NONE ? InternalProgram.Redumper : valueEnum;
}
set
@@ -662,6 +662,49 @@ namespace MPF.Core
#region Helpers
+ ///
+ /// Get the InternalProgram enum value for a given string
+ ///
+ /// String value to convert
+ /// InternalProgram represented by the string, if possible
+ public static InternalProgram ToInternalProgram(string? internalProgram)
+ {
+ return (internalProgram?.ToLowerInvariant()) switch
+ {
+ // Dumping support
+ "aaru"
+ or "chef"
+ or "dichef"
+ or "discimagechef" => InternalProgram.Aaru,
+ "creator"
+ or "dic"
+ or "dicreator"
+ or "discimagecreator" => InternalProgram.DiscImageCreator,
+ "rd"
+ or "redumper" => InternalProgram.Redumper,
+
+ // Verification support only
+ "cleanrip"
+ or "cr" => InternalProgram.CleanRip,
+ "ps3cfw"
+ or "ps3"
+ or "getkey"
+ or "managunz"
+ or "multiman" => InternalProgram.PS3CFW,
+ "uic"
+ or "umd"
+ or "umdcreator"
+ or "umdimagecreator" => InternalProgram.UmdImageCreator,
+ "xbc"
+ or "xbox"
+ or "xbox360"
+ or "xboxcreator"
+ or "xboxbackupcreator" => InternalProgram.XboxBackupCreator,
+
+ _ => InternalProgram.NONE,
+ };
+ }
+
///
/// Get a Boolean setting from a settings, dictionary
///
diff --git a/MPF.Frontend/OptionsLoader.cs b/MPF.Frontend/OptionsLoader.cs
index b2a43306..d927c57b 100644
--- a/MPF.Frontend/OptionsLoader.cs
+++ b/MPF.Frontend/OptionsLoader.cs
@@ -131,12 +131,12 @@ namespace MPF.Frontend
if (args[startIndex].StartsWith("-u=") || args[startIndex].StartsWith("--use="))
{
string internalProgram = args[startIndex].Split('=')[1];
- options.InternalProgram = EnumExtensions.ToInternalProgram(internalProgram);
+ options.InternalProgram = Options.ToInternalProgram(internalProgram);
}
else if (args[startIndex] == "-u" || args[startIndex] == "--use")
{
string internalProgram = args[startIndex + 1];
- options.InternalProgram = EnumExtensions.ToInternalProgram(internalProgram);
+ options.InternalProgram = Options.ToInternalProgram(internalProgram);
startIndex++;
}