About this project
foo_input_pmd is a foobar2000 component that adds playback support for Professional Music Driver (PMD) files. PMD is a music driver created by Masahiro Kajihara (KAJA) that uses MML (Music Macro Language) to produce music for most Japanese computers of the 1980s and early 1990s, including the PC-98, PC-88, X68000 and FM Towns. It was widely used for PC-x801 series music, with notable examples such as Touhou Project and Grounseed.
Features
- Decodes Professional Music Driver (.m, .m2) files.
- Supports dark mode.
Requirements
- Tested on Microsoft Windows 10 and later.
- foobar2000 v1.6.16 or later (32-bit or 64-bit).
Installation
Double-click the foo_input_pmd.fbk2-component file, or import it into foobar2000 via File / Preferences / Components / Install.
Configuration
Drum samples: the preferences let you specify a directory containing YM2608 (OPNA) drum samples. Sample files should be RIFF WAVE PCM (format 1), 1 channel, 44100 Hz, 16 bits per sample, named 2608_bd.wav, 2608_sd.wav, 2608_top.wav, 2608_hh.wav, 2608_tom.wav and 2608_rim.wav or 2608_rym.wav. A ym2608_adpcm_rom.bin ROM file in the same directory takes precedence over the WAV samples when found.
Metadata tags exposed include title, artist, composer and memo. Info tags include loop_length, pcm_filename, pps_filename, ppz_filename_1 and ppz_filename_2, plus synthesis_rate and loop_number while a track is playing.
Development
Building requires Microsoft Visual Studio 2022 Community Edition or later, the foobar2000 SDK (2025-03-07) and the Windows Template Library (WTL) 10.0.10320. Packaging requires PowerShell 7.2 or later. A specific directory layout (3rdParty, bin, bin.x86, foo_input_pmd, out, sdk) is expected; the solution is built with Visual Studio, and the component package is produced by building the x86 configuration followed by the x64 configuration.
The change log documents releases from v0.1.0 (2023-07-09) through v0.5.0 (2026-01-08), covering additions such as seeking, loop playing with or without fading, the pmd_loop_length info tag, preference-page configuration, PPS sample and SSG/Rhythm options, removal of the PMDWin.dll dependency, and numerous fixes to sample loading, path handling, tempo commands and playback length. The project credits Peter Pawlowski (foobar2000), C60 (PMDWin), Aaron Giles (ymfm) and Myon98 (98fmplayer), and is released under the MIT license.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.