- Lock-free API with zero mutex contention on the calling thread.
- Asynchronous audio device migration with desync-free timeline preservation.
- Asynchronous, reference-counted asset loading and streaming.
- Configurable coordinate systems (left/right-handed).
- Multi-listener support with per-playback bitmask routing.
- Decoupled distance probes (independent attenuation and panning origins designed for third-person camera setups).
- Doppler pitch shifts with global and per-playback scaling.
- Crossfaded runtime rerouting of playbacks, buses, and effects.
- Per-bus effect chains with 4 hot-swappable DSP slots.
- Real-time parameter control for volume, playback rate, pan, looping, spatialization, position, attenuation curve, min/max distance, velocity, doppler effect, and more.
| Configuration | Supported |
|---|---|
| Stereo (2.0) | Yes |
| Mono (1.0) | Yes |
| Surround (5.1 / 7.1) | No |
The standalone sandbox application is designed to showcase and test the engine's features. If you want to test what the engine is capable of without having to write any code you can try it out by following the build instructions provided below and running the compiled sandbox executable.
- CMake 3.21+
- C++ 20 compliant GCC or MSVC compiler
If you want to compile DALIA directly to run the Sandbox or Studio UI, use the commands below. Please note that DALIA Studio tool is currently not in a usable state and is therefore excluded from the build by default.
git clone https://github.com/amHumminG/dalia.git
cd dalia
cmake -B build
cmake --build build --config ReleaseThe compiled executables will be located in the /build directory
Dalia automatically detects when it is built as a subproject and will exclude the sandbox and studio applications from the build.
CMake FetchContent
include(FetchContent)
FetchContent_Declare(
dalia
GIT_REPOSITORY https://github.com/amHumminG/dalia.git
GIT_TAG v0.1.0
)
FetchContent_MakeAvailable(dalia)
target_link_libraries(your_target PRIVATE dalia::engine)Git Submodule
git submodule add -b v0.1.0 https://github.com/amHumminG/dalia.git third_party/daliaadd_subdirectory(third_party/dalia EXCLUDE_FROM_ALL)
target_link_libraries(your_target PRIVATE dalia::engine)Dalia has support for profiling using Tracy. To enable profiling in the engine, configure CMake with:
cmake -B build -D DALIA_PROFILE_ENABLE=ONConsuming dalia::engine does not transitively expose or require external graphics, GUI or test frameworks.
Engine:
- stb_vorbis (MIT License) - Embedded OGG/Vorbis decoder.
Tooling:
- Tracy (BSD 3-Clause) - Real-time telemetry and profiling.
Testing:
- GoogleTest (BSD 3-Clause) - Test suite.
Sandbox:
- raylib (zlib License) - Window handling and 3D rendering.
- Dear ImGui (MIT License) - UI.
- rlImGui (zlib License) - ImGui backend for raylib.
- ImGuizmo (MIT License) - Immediate-mode 3D spatial transformation gizmos.
Dalia is licensed under the MIT License.

