Media Preservation Frontend SabreTools
winget install --id=SabreTools.MPF -e
Redumper/Aaru/DiscImageCreator GUI in C#
Media Preservation Frontend (MPF)
MPF is a comprehensive graphical user interface tool designed to facilitate the creation and verification of disc images for media preservation. It seamlessly integrates with Redumper, Aaru, and DiscImageCreator, offering users a streamlined approach to archiving their collections.
Key Features:
- Cross-Platform Support: While the UI is Windows-only due to its reliance on WPF and Winforms, MPF.CLI and MPF.Check support multiple operating systems.
- Backend Integration: Fully supports Redumper, Aaru, and DiscImageCreator for versatile disc image creation.
- Customizable Configuration: Utilizes a JSON file for settings, accessible in various locations including next to the application or within user directories.
- Command-Line Interface (CLI): Offers advanced users direct control through command-line options, enhancing flexibility.
- Checker Tool: Enables generation of submission information and verification of disc images, ensuring accuracy and consistency.
Audience & Benefits:
Ideal for media archivists, collectors, and preservationists seeking to enhance their workflow efficiency. MPF reduces the learning curve associated with backend tools, provides consistent output formatting, and simplifies the verification process through its Checker component. Users can rely on MPF for a robust, efficient solution tailored to their needs.
System Requirements:
Requires .NET 9.0 Runtime for optimal performance across supported platforms.
MPF is your go-to tool for preserving media with ease, efficiency, and precision.
README
Media Preservation Frontend (MPF)
Redumper/Aaru/DiscImageCreator UI in C#
This is a community project, so if you have some time and knowledge to give, we'll be glad to add you as a contributor to this project. If you have any suggestions, issues, bugs, or crashes, please look at the Issues page first to see if it has been reported before and try out the latest WIP build below to see if it has already been addressed. If it hasn't, please open an issue that's as descriptive as you can be. Help me make this a better program for everyone :)
Releases
For the most recent stable build, download the latest release here: Releases Page
For the latest WIP build here: Rolling Release
Media Preservation Frontend UI (MPF.UI)
MPF is the main, UI-centric application of the MPF suite. This program allows users to use Redumper, Aaru, or DiscImageCreator in a more user-friendly way. Each backend dumping program is supported as fully as possible to ensure that all information is captured on output. There are many customization options and quality of life settings that can be access through the Options menu.
Configuration files are stored by default next to the application as config.json
. This contains all settings for the UI including credentials. In addition to this, the configuration can also be located at %userprofile%\.config\mpf\config.json
on Windows or ~/.config/mpf/config.json
on Unix-like systems. The second path will be used by default if running from a read-only device or folder. If neither directory is readable, no options will be loaded or saved.
UI Support Limitations
The main UI has some known limitations that are documented in code and in some prior support tickets:
- Windows-only due to reliance on WPF and Winforms
- MAUI is not a viable alternative due to lack of out-of-box support for Linux
- Avalonia is being heavily considered as an alternative
- For those who need .NET Framework 4.8, there is an official fork: MPF Legacy
- For those who require broader archive/installer compatibility for protection scanning (Windows-only), please use the x86 builds as there are some specific scanning libraries that only work with that build
- This is actively being worked on as part of Binary Object Scanner
- Please consider contributing if you have experience in dealing with multiple archive and installer types
- Consider using a third-party scanning tool, such as Protection ID, if this is not sufficient for your needs
- See Compatibility Notes for more details
Media Preservation Frontend CLI (MPF.CLI)
MPF.CLI is a commandline-only program that allows users to use Redumper, Aaru, or DiscImageCreator in a more user-friendly way. Each backend dumping program is supported as fully as possible to ensure that all information is captured on output. All options are manually configured through the configuration file. See below for details.
Configuration files are stored by default next to the application as config.json
. This contains all settings for the UI including credentials. In addition to this, the configuration can also be located at %userprofile%\.config\mpf\config.json
on Windows or ~/.config/mpf/config.json
on Unix-like systems. The second path will be used by default if running from a read-only device or folder. If neither directory is readable, no options will be loaded or saved.
CLI Support Limitations
The main CLI has some known limitations that are documented in code and in some prior support tickets:
- No programs are bundled by default
- This is the result of the extremely varied builds that are allowed
- For those who require broader archive/installer compatibility for protection scanning (Windows-only), please use the x86 builds as there are some specific scanning libraries that only work with that build
- This is actively being worked on as part of Binary Object Scanner
- Please consider contributing if you have experience in dealing with multiple archive and installer types
- Consider using a third-party scanning tool, such as Protection ID, if this is not sufficient for your needs
- See Compatibility Notes for more details
Media Preservation Frontend Checker (MPF.Check)
MPF.Check is a commandline-only program that allows users to generate submission information from their personal rips. This program supports the outputs from Redumper, Aaru, DiscImageCreator, Cleanrip, and UmdImageCreator. Running this program without any parameters will display the help text, including all supported parameters.
WARNING: Both the standalone Check executable and the Check functionality in the UI will overwrite both any existing submission information files as well as any log archives. Please make backups of those if you need to before running Check.
WARNING: Both the standalone Check executable and the Check functionality in the UI assume that the output files are what were output by the original dumping program. If you need to reparse any outputs that have already been processed by MPF, you will need to unzip all files as if it were the original folder layout.
System Requirements
MPF.UI, MPF.CLI, and MPF.Check have the same system requirements for running, with the exception that MPF.UI is Windows-only.
- Supported OS versions for .NET 9
- Requires .NET 9.0 Runtime if built without bundled runtime
Ensure that your operating system and runtimes are as up-to-date as possible, since some features may rely on those updates.
Build Instructions
To build for .NET 9.0, ensure that the .NET 9.0 SDK (or later) is installed and included in your PATH
. Then, run the following commands from command prompt, Powershell, Terminal, or shell:
MPF.UI (Windows only):
dotnet build MPF/MPF.csproj --framework net9.0-windows --runtime [win-x86|win-x64]
MPF.CLI (Windows, OSX, Linux):
dotnet build MPF.CLI/MPF.CLI.csproj --framework net9.0 --runtime [win-x86|win-x64|win-arm64|linux-x64|linux-arm64|osx-x64|osx-arm64]
MPF.Check (Windows, OSX, Linux):
dotnet build MPF.Check/MPF.Check.csproj --framework net9.0 --runtime [win-x86|win-x64|win-arm64|linux-x64|linux-arm64|osx-x64|osx-arm64]
Choose one of win-x86
, win-x64
, win-arm64
, linux-x64
, linux-arm64
, osx-x64
, or osx-arm64
depending on the machine you are targeting.
Build Scripts
Windows users may run publish-win.ps1
and Linux users may run publish-nix.sh
to perform a full release build. Both scripts will build and package all variants of MPF.UI, MPF.CLI, and MPF.Check with commandline switches to control what is included.
publish-win.ps1
requires 7-zip commandline and Git for Windows to be installed and inPATH
.publish-nix.sh
requireszip
andgit
to be installed and inPATH
. Optionally, ifwget
is installed and inPATH
, you can enable pulling dumping programs on publish.
Information
For all additional information, including information about the individual components included in the project and what dumping programs are supported, please see the wiki for more details.
Changelist
A list of all changes in each stable release and current WIP builds can now be found here.
External Libraries
MPF uses some external libraries to assist with additional information gathering after the dumping process.
- Binary Object Scanner - Protection scanning - GitHub
- WPFCustomMessageBox.thabse - Custom message boxes in UI - GitHub
Contributors
Here are the talented people who have contributed to the project so far in ways that GitHub doesn't like to track:
- ReignStumble - Former Project Lead / UI Design
- Shadów - UI Support
For all others who have contributed in some way, please see here.
Notable Testers
These are the tireless individuals who have dedicated countless hours to help test the many features of MPF and have worked with the development team closely:
- ajshell1
- Billy
- David 'Foxhack' Silva
- ehw
- fuzzball
- Gameboi64
- Intothisworld
- John Veness
- Kludge
- Matt Sephton
- NightsoN Blaze
- NovaSAurora
- Seventy7 - Additonal thanks for the original concept
- Silent
- Terry Janas
- TheRogueArchivist
- Whovian9369
Community Shout-Outs
Thanks to these communities for their use, testing, and feedback. I can't even hope to be able to thank everyone individually.
- VGPC Discord - Fast feedback and a lot of testing
- Redump Community - Near-daily use to assist with metadata gathering