Skip to content
This repository has been archived by the owner on Jun 28, 2024. It is now read-only.

libdmusic/libdmusic

Repository files navigation



Build status Gitter chat

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:

  • Rendering them to wave files using dmrender
  • Playing them in realtime using dmplay

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.