All Projects → libdmusic → libdmusic

libdmusic / libdmusic

Licence: MIT License
Free DirectMusic file formats loading utilities

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to libdmusic

desktop-duplication-cpp
Windows Desktop Duplication Tool for live coding presentations in C++2a
Stars: ✭ 51 (+155%)
Mutual labels:  directx
Grass.DirectX
Realistic Grass Rendering using DirectX 11 and a geometry-shader based approach.
Stars: ✭ 56 (+180%)
Mutual labels:  directx
Rootex
An advanced C++ 3D game engine powering an in-production game yet to be announced
Stars: ✭ 161 (+705%)
Mutual labels:  directx
MoltenEngine
A spare-time C# .NET 6 game engine project. Cross-platform, multi-threaded.
Stars: ✭ 113 (+465%)
Mutual labels:  directx
DXSample
Sample Program for DirectX 12 + Swift
Stars: ✭ 57 (+185%)
Mutual labels:  directx
storm-engine
Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.
Stars: ✭ 636 (+3080%)
Mutual labels:  directx
game
Game Castlevania DirectX - Nhập môn phát triển game
Stars: ✭ 34 (+70%)
Mutual labels:  directx
Direct3d12-Engine
The Game Engine To Help Learn Direct 3D 12
Stars: ✭ 13 (-35%)
Mutual labels:  directx
DirectN
Direct interop Code for .NET Framework, .NET Core and .NET 5+ : DXGI, WIC, DirectX 9 to 12, Direct2D, Direct Write, Direct Composition, Media Foundation, WASAPI, CodecAPI, GDI, Spatial Audio, DVD, Windows Media Player, UWP DXInterop, etc.
Stars: ✭ 128 (+540%)
Mutual labels:  directx
SplinesGPU
various spline algorithms computed on the GPU
Stars: ✭ 15 (-25%)
Mutual labels:  directx
harfang3d
HARFANG 3D source code public repository
Stars: ✭ 173 (+765%)
Mutual labels:  directx
mythosengine
MythOS game engine from Charybdis Enterprises
Stars: ✭ 15 (-25%)
Mutual labels:  directx
bgfx-python
Python 3.7+ wrapper for the BGFX library. 🐍
Stars: ✭ 99 (+395%)
Mutual labels:  directx
Fairtris
Clone of the official classic Tetris® game for the NES console, intended for Windows and Linux systems. It implements the original mechanics and includes many regional versions and several RNGs (all in one executable).
Stars: ✭ 30 (+50%)
Mutual labels:  directx
DoGUI
Hello DoGUI: (not yet completed) Bloat-free Graphical User interface for C++ with minimal dependencies and a sleek default design
Stars: ✭ 19 (-5%)
Mutual labels:  directx
stereo
Perform stereo matching algorithm using Direct 3D (level 9.3) on a mobile device without CUDA support.
Stars: ✭ 13 (-35%)
Mutual labels:  directx
VoxelTerrain
This project's main goal is to generate and visualize terrain built using voxels. It was achieved using different approaches and computing technologies just for the sake of performance and implementation comparison.
Stars: ✭ 37 (+85%)
Mutual labels:  directx
DirectX12
Various DirectX12 examples.
Stars: ✭ 17 (-15%)
Mutual labels:  directx
hlml
vectorized high-level math library
Stars: ✭ 42 (+110%)
Mutual labels:  directx
blitz3d-ng
This project is an attempt to revive & modernize Blitz3D.
Stars: ✭ 56 (+180%)
Mutual labels:  directx



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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].