Fork me on GitHub

Directory Structure


SoLoud directory structure

Some directories have been omitted from the overview graph to make it more manageable.

Note that documentation is not included in the SoLoud distribution, and is available separately in various formats.

Directory Description
scripts Scripts used to automate wrapper code generation. Unless you're adding features to SoLoud, you won't need to touch them.
include All of the include files are kept in this single directory.
bin Pre-built binaries of the SoLoud demos for windows.
glue All the glue libraries for various environments, like rpgmaker, c#, python, d, ruby, etc.
build The GENie / premake script that can be used to generate build scripts for various IDEs or a gnu makefile.
demos SoLoud's demos showing how to use SoLoud's various features.
src Source code for SoLoud itself
contrib Additional files that are not maintained by SoLoud project itself, such as cmakefiles, but may be useful to some people.


Directory Description
src/audiosource SoLoud's audio sources, such as speech, wav, etc.
src/backend Back-end interfaces, such as sdl, alsa, wasapi, etc.
src/c_api The generated c-api code, which is used to create the SoLoud DLL, can be found here.
src/core SoLoud's core source files.
src/filter SoLoud's filters, such as lo-fi, biquad resonant filter, etc.
src/tools Some command-line tools under the src/tools directory. Most of these are for SoLoud development.


Most of the demos are based on SDL2 and use some common code based on Ocornut's Dear ImGui library. This is to make the source for the demo itself mostly about SoLoud and not about putting pixels on the screen, while having an easy to use UI for the demos.

Directory Description
demos/android Demo for Android operating system.
demos/c_test Test for the c-api.
demos/common Common code for graphical demos.
demos/emscripten Scripts for compiling for web browsers with Emscripten
demos/enumerate Enumerate all backends, show information.
demos/env Environmental audio demo.
demos/glue Some tiny examples for different foreign interfaces (cs, rpgmaker, etc).
demos/megademo Compilation of many smaller demos showing off various features.
demos/null Null driver example (using SoLoud without audio output).
demos/piano Simple musical instrument using SoLoud.
demos/simplest Simplest example.
demos/welcome Slightly more complex example than simplest.

Copyright©2013-2020 Jari Komppa