Project goals
libdmusic
aims to provide a framework and suite of tools to enable applications and games playback of Microsoft DirectMusic audio files. The main aim of the project for now is to provide a way for the REGoth project to reproduce music files from the original Gothic and Gothic II games.
Compiling
Pre-compiled binaries are available for both 32- and 64-bit windows in the Releases section
The easiest way to build libdmusic
is to use vcpkg.
Once vcpkg is installed, you can retrieve the needed dependencies:
./vcpkg install args sf2cute
Then configure and build the cmake project:
git clone https://github.com/frabert/libdmusic
cd libdmusic
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake ..
cmake --build .
Usage
You can reproduce segment files (.sgt
) in one of two ways:
It is also possible to use the provided dls2sf utility to convert DLS files to SF2 files.
Acknowledgements
Many thanks to Mirza Zulfan for kindly donating the logo!
dmrender
and dmplay
use TinySoundFont for SoundFont rendering and args.
dls2sf
and dmrender
use dr_wav.h for wave output and conversion.
dls2sf
uses sf2cute for SoundFont output.
dmplay
uses miniaudio for realtime audio playback.