GUI player for PC-98 PMD music files (.M/.M2/.M26/.M86) on Windows and Linux
- Plays .M and .M2 files (PC-98 PMD format YM2203/YM2608, OPN/OPNA)
- Plays .M26 and .M86 files too (PC-8801 support)
- Playlist with search and sorting
- Drag & drop support
- Waveform visualization
- Shuffle and repeat modes
- Crossfade between tracks (configurable duration)
- Config persistence
- Audio device selection
You can get the binary from the release page and don't have to build it manually.
Dependencies
Debian:
sudo apt-get install cmake ninja-build g++ \
libsdl2-dev libgl1-mesa-dev libasound2-dev \
libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-devFedora:
sudo dnf install cmake ninja-build gcc-c++ \
SDL2-devel mesa-libGL-devel alsa-lib-devel \
libX11-devel libXrandr-devel libXinerama-devel libXcursor-devel libXi-develBuild:
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
./build/src/pmdmini-guiDependencies
- Install MSYS2
- Open MSYS2 MinGW64 terminal and install dependencies:
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-SDL2- Add
C:\msys64\mingw64\binto your PATH
Alternatively, you can install MinGW-w64 standalone and SDL2 development libraries manually
Build:
cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
cmake --build buildThe executable is statically linked, and located at build/src/pmdmini-gui.exe
For offline builds with local pmdmini:
cmake -S . -B build -DPMDMINI_SOURCE_DIR=/path/to/pmdmini -DCMAKE_BUILD_TYPE=Release- Browse to a directory or type the path
- Click Scan (enable Recursive for subdirectories)
- Double-click a track or drag .M/.M2/.M26/.M86 files into the window
Settings are saved to:
- Linux:
~/.config/pmdmini-gui/config.json - Windows:
%APPDATA%\pmdmini-gui\config.json
- Waveform viz is kinda broken
- Seeking reloads the whole track from start (slow on longer files) (Edit: I removed this for now)
All Touhou PC98 OSTs files were generously given to me by @niiroiwakura, thank you!
Github thinks this thing is written in C, probably because of the music files, I tried updating the .gitattributes to fix that but it doesn't seem to work
We also have a small Discord server ! https://discord.gg/xyqZ86nawn. Feel free to ask for help or questions about the project.
BSD 3-Clause License. See LICENSE file for details.
Uses pmdmini (modified BSD) and other open-source libraries. See individual dependencies for licenses.
