diff --git a/CHANGELIST.md b/CHANGELIST.md index 3b68712f..129d31bb 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -28,6 +28,7 @@ - Remove unnecessary System.ValueTuple usage - Remove old .NET version of ValueTuple where possible - Remove unused CompilerServices.Unsafe library +- Simplify GetMediaType return ### 3.2.2 (2024-09-24) diff --git a/MPF.Frontend/Drive.cs b/MPF.Frontend/Drive.cs index d7747e7c..ef73e7ed 100644 --- a/MPF.Frontend/Drive.cs +++ b/MPF.Frontend/Drive.cs @@ -143,19 +143,19 @@ namespace MPF.Frontend /// /// Get the current media type from drive letter /// - /// - /// - public (MediaType?, string?) GetMediaType(RedumpSystem? system) + /// Currently selected system + /// The detected media type, if possible + public MediaType? GetMediaType(RedumpSystem? system) { // Take care of the non-optical stuff first switch (InternalDriveType) { case Frontend.InternalDriveType.Floppy: - return (MediaType.FloppyDisk, null); + return MediaType.FloppyDisk; case Frontend.InternalDriveType.HardDisk: - return (MediaType.HardDisk, null); + return MediaType.HardDisk; case Frontend.InternalDriveType.Removable: - return (MediaType.FlashDrive, null); + return MediaType.FlashDrive; } // Some systems should default to certain media types @@ -168,18 +168,18 @@ namespace MPF.Frontend case RedumpSystem.SegaSaturn: case RedumpSystem.SonyPlayStation: case RedumpSystem.VideoCD: - return (MediaType.CDROM, null); + return MediaType.CDROM; // DVD case RedumpSystem.DVDAudio: case RedumpSystem.DVDVideo: case RedumpSystem.MicrosoftXbox: case RedumpSystem.MicrosoftXbox360: - return (MediaType.DVD, null); + return MediaType.DVD; // HD-DVD case RedumpSystem.HDDVDVideo: - return (MediaType.HDDVD, null); + return MediaType.HDDVD; // Blu-ray case RedumpSystem.BDVideo: @@ -188,34 +188,34 @@ namespace MPF.Frontend case RedumpSystem.SonyPlayStation3: case RedumpSystem.SonyPlayStation4: case RedumpSystem.SonyPlayStation5: - return (MediaType.BluRay, null); + return MediaType.BluRay; // GameCube case RedumpSystem.NintendoGameCube: - return (MediaType.NintendoGameCubeGameDisc, null); + return MediaType.NintendoGameCubeGameDisc; // Wii case RedumpSystem.NintendoWii: - return (MediaType.NintendoWiiOpticalDisc, null); + return MediaType.NintendoWiiOpticalDisc; // WiiU case RedumpSystem.NintendoWiiU: - return (MediaType.NintendoWiiUOpticalDisc, null); + return MediaType.NintendoWiiUOpticalDisc; // PSP case RedumpSystem.SonyPlayStationPortable: - return (MediaType.UMD, null); + return MediaType.UMD; } // Handle optical media by size and filesystem if (TotalSize >= 0 && TotalSize <= 800_000_000 && (DriveFormat == "CDFS" || DriveFormat == "UDF")) - return (MediaType.CDROM, null); + return MediaType.CDROM; else if (TotalSize > 800_000_000 && TotalSize <= 8_540_000_000 && (DriveFormat == "CDFS" || DriveFormat == "UDF")) - return (MediaType.DVD, null); + return MediaType.DVD; else if (TotalSize > 8_540_000_000) - return (MediaType.BluRay, null); + return MediaType.BluRay; - return (null, "Could not determine media type!"); + return null; } /// diff --git a/MPF.Frontend/ViewModels/MainViewModel.cs b/MPF.Frontend/ViewModels/MainViewModel.cs index 56607adf..5c62acdd 100644 --- a/MPF.Frontend/ViewModels/MainViewModel.cs +++ b/MPF.Frontend/ViewModels/MainViewModel.cs @@ -1189,16 +1189,12 @@ namespace MPF.Frontend.ViewModels else if (this.CurrentDrive.MarkedActive) { VerboseLog($"Trying to detect media type for drive {this.CurrentDrive.Name} [{this.CurrentDrive.DriveFormat}] using size and filesystem.. "); - (MediaType? detectedMediaType, var errorMessage) = this.CurrentDrive.GetMediaType(this.CurrentSystem); - - // If we got an error message, post it to the log - if (errorMessage != null) - VerboseLogLn($"Message from detecting media type: {errorMessage}"); + MediaType? detectedMediaType = this.CurrentDrive.GetMediaType(this.CurrentSystem); // If we got either an error or no media, default to the current System default if (detectedMediaType == null) { - VerboseLogLn($"Unable to detect, defaulting to {defaultMediaType.LongName()}."); + VerboseLogLn($"Could not detect media type, defaulting to {defaultMediaType.LongName()}."); CurrentMediaType = defaultMediaType; } else