From aae81035c1d73b2b6a536d566c86f1b68e2f0457 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 28 May 2024 10:10:50 -0400 Subject: [PATCH] Move ToMediaType to OptionsLoader --- CHANGELIST.md | 1 + MPF.Core/EnumExtensions.cs | 143 --------------------------------- MPF.Frontend/OptionsLoader.cs | 145 +++++++++++++++++++++++++++++++++- 3 files changed, 145 insertions(+), 144 deletions(-) diff --git a/CHANGELIST.md b/CHANGELIST.md index 18b8314b..b50c74bf 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -126,6 +126,7 @@ - Slight cleanup of InfoTool - Move ProtectionTool to Frontend - Move ToRedumper* methods to Options +- Move ToMediaType to OptionsLoader ### 3.1.9a (2024-05-21) diff --git a/MPF.Core/EnumExtensions.cs b/MPF.Core/EnumExtensions.cs index 9c130a52..b4e122ca 100644 --- a/MPF.Core/EnumExtensions.cs +++ b/MPF.Core/EnumExtensions.cs @@ -172,149 +172,6 @@ namespace MPF.Core }; } - /// - /// Get the MediaType enum value for a given string - /// - /// String value to convert - /// MediaType represented by the string, if possible - public static MediaType ToMediaType(string type) - { - return (type.ToLowerInvariant()) switch - { - #region Punched Media - - "aperture" - or "aperturecard" - or "aperture card" => MediaType.ApertureCard, - "jacquardloom" - or "jacquardloomcard" - or "jacquard loom card" => MediaType.JacquardLoomCard, - "magneticstripe" - or "magneticstripecard" - or "magnetic stripe card" => MediaType.MagneticStripeCard, - "opticalphone" - or "opticalphonecard" - or "optical phonecard" => MediaType.OpticalPhonecard, - "punchcard" - or "punchedcard" - or "punched card" => MediaType.PunchedCard, - "punchtape" - or "punchedtape" - or "punched tape" => MediaType.PunchedTape, - - #endregion - - #region Tape - - "openreel" - or "openreeltape" - or "open reel tape" => MediaType.OpenReel, - "datacart" - or "datacartridge" - or "datatapecartridge" - or "data tape cartridge" => MediaType.DataCartridge, - "cassette" - or "cassettetape" - or "cassette tape" => MediaType.Cassette, - - #endregion - - #region Disc / Disc - - "bd" - or "bdrom" - or "bd-rom" - or "bluray" => MediaType.BluRay, - "cd" - or "cdrom" - or "cd-rom" => MediaType.CDROM, - "dvd" - or "dvd5" - or "dvd-5" - or "dvd9" - or "dvd-9" - or "dvdrom" - or "dvd-rom" => MediaType.DVD, - "fd" - or "floppy" - or "floppydisk" - or "floppy disk" - or "floppy diskette" => MediaType.FloppyDisk, - "floptical" => MediaType.Floptical, - "gd" - or "gdrom" - or "gd-rom" => MediaType.GDROM, - "hddvd" - or "hd-dvd" - or "hddvdrom" - or "hd-dvd-rom" => MediaType.HDDVD, - "hdd" - or "harddisk" - or "hard disk" => MediaType.HardDisk, - "bernoullidisk" - or "iomegabernoullidisk" - or "bernoulli disk" - or "iomega bernoulli disk" => MediaType.IomegaBernoulliDisk, - "jaz" - or "iomegajaz" - or "iomega jaz" => MediaType.IomegaJaz, - "zip" - or "zipdisk" - or "iomegazip" - or "iomega zip" => MediaType.IomegaZip, - "ldrom" - or "lvrom" - or "ld-rom" - or "lv-rom" - or "laserdisc" - or "laservision" - or "ld-rom / lv-rom" => MediaType.LaserDisc, - "64dd" - or "n64dd" - or "64dddisk" - or "n64dddisk" - or "64dd disk" - or "n64dd disk" => MediaType.Nintendo64DD, - "fds" - or "famicom" - or "nfds" - or "nintendofamicom" - or "famicomdisksystem" - or "famicom disk system" - or "famicom disk system disk" => MediaType.NintendoFamicomDiskSystem, - "gc" - or "gamecube" - or "nintendogamecube" - or "nintendo gamecube" - or "gamecube disc" - or "gamecube game disc" => MediaType.NintendoGameCubeGameDisc, - "wii" - or "nintendowii" - or "nintendo wii" - or "nintendo wii disc" - or "wii optical disc" => MediaType.NintendoWiiOpticalDisc, - "wiiu" - or "nintendowiiu" - or "nintendo wiiu" - or "nintendo wiiu disc" - or "wiiu optical disc" - or "wii u optical disc" => MediaType.NintendoWiiUOpticalDisc, - "umd" => MediaType.UMD, - - #endregion - - // Unsorted Formats - "cartridge" => MediaType.Cartridge, - "ced" - or "rcaced" - or "rca ced" - or "videodisc" - or "rca videodisc" => MediaType.CED, - - _ => MediaType.NONE, - }; - } - #endregion #region Enum Helpers diff --git a/MPF.Frontend/OptionsLoader.cs b/MPF.Frontend/OptionsLoader.cs index e205455c..46e5b9b2 100644 --- a/MPF.Frontend/OptionsLoader.cs +++ b/MPF.Frontend/OptionsLoader.cs @@ -80,7 +80,7 @@ namespace MPF.Frontend return (false, MediaType.NONE, null, "Invalid number of arguments"); // Check the MediaType - var mediaType = EnumExtensions.ToMediaType(args[0].Trim('"')); + var mediaType = ToMediaType(args[0].Trim('"')); if (mediaType == MediaType.NONE) return (false, MediaType.NONE, null, $"{args[0]} is not a recognized media type"); @@ -257,6 +257,149 @@ namespace MPF.Frontend return supportedArguments; } + /// + /// Get the MediaType enum value for a given string + /// + /// String value to convert + /// MediaType represented by the string, if possible + private static MediaType ToMediaType(string type) + { + return (type.ToLowerInvariant()) switch + { + #region Punched Media + + "aperture" + or "aperturecard" + or "aperture card" => MediaType.ApertureCard, + "jacquardloom" + or "jacquardloomcard" + or "jacquard loom card" => MediaType.JacquardLoomCard, + "magneticstripe" + or "magneticstripecard" + or "magnetic stripe card" => MediaType.MagneticStripeCard, + "opticalphone" + or "opticalphonecard" + or "optical phonecard" => MediaType.OpticalPhonecard, + "punchcard" + or "punchedcard" + or "punched card" => MediaType.PunchedCard, + "punchtape" + or "punchedtape" + or "punched tape" => MediaType.PunchedTape, + + #endregion + + #region Tape + + "openreel" + or "openreeltape" + or "open reel tape" => MediaType.OpenReel, + "datacart" + or "datacartridge" + or "datatapecartridge" + or "data tape cartridge" => MediaType.DataCartridge, + "cassette" + or "cassettetape" + or "cassette tape" => MediaType.Cassette, + + #endregion + + #region Disc / Disc + + "bd" + or "bdrom" + or "bd-rom" + or "bluray" => MediaType.BluRay, + "cd" + or "cdrom" + or "cd-rom" => MediaType.CDROM, + "dvd" + or "dvd5" + or "dvd-5" + or "dvd9" + or "dvd-9" + or "dvdrom" + or "dvd-rom" => MediaType.DVD, + "fd" + or "floppy" + or "floppydisk" + or "floppy disk" + or "floppy diskette" => MediaType.FloppyDisk, + "floptical" => MediaType.Floptical, + "gd" + or "gdrom" + or "gd-rom" => MediaType.GDROM, + "hddvd" + or "hd-dvd" + or "hddvdrom" + or "hd-dvd-rom" => MediaType.HDDVD, + "hdd" + or "harddisk" + or "hard disk" => MediaType.HardDisk, + "bernoullidisk" + or "iomegabernoullidisk" + or "bernoulli disk" + or "iomega bernoulli disk" => MediaType.IomegaBernoulliDisk, + "jaz" + or "iomegajaz" + or "iomega jaz" => MediaType.IomegaJaz, + "zip" + or "zipdisk" + or "iomegazip" + or "iomega zip" => MediaType.IomegaZip, + "ldrom" + or "lvrom" + or "ld-rom" + or "lv-rom" + or "laserdisc" + or "laservision" + or "ld-rom / lv-rom" => MediaType.LaserDisc, + "64dd" + or "n64dd" + or "64dddisk" + or "n64dddisk" + or "64dd disk" + or "n64dd disk" => MediaType.Nintendo64DD, + "fds" + or "famicom" + or "nfds" + or "nintendofamicom" + or "famicomdisksystem" + or "famicom disk system" + or "famicom disk system disk" => MediaType.NintendoFamicomDiskSystem, + "gc" + or "gamecube" + or "nintendogamecube" + or "nintendo gamecube" + or "gamecube disc" + or "gamecube game disc" => MediaType.NintendoGameCubeGameDisc, + "wii" + or "nintendowii" + or "nintendo wii" + or "nintendo wii disc" + or "wii optical disc" => MediaType.NintendoWiiOpticalDisc, + "wiiu" + or "nintendowiiu" + or "nintendo wiiu" + or "nintendo wiiu disc" + or "wiiu optical disc" + or "wii u optical disc" => MediaType.NintendoWiiUOpticalDisc, + "umd" => MediaType.UMD, + + #endregion + + // Unsorted Formats + "cartridge" => MediaType.Cartridge, + "ced" + or "rcaced" + or "rca ced" + or "videodisc" + or "rca videodisc" => MediaType.CED, + + _ => MediaType.NONE, + }; + } + #endregion #region Configuration