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.
ext External libraries used by SoLoud. Currently the only thing there is libmodplug.
lib Pre-compiled libraries for windows.
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


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


Most of the demos use some common code based on the 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/3dtest 3d audio test.
demos/c_test Test for the c-api.
demos/common Common code for graphical demos.
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/mixbusses Small example of playing through mixing busses.
demos/monotone MONOTONE tracker song example.
demos/multimusic Example of playing and cross-fading between two ogg streams.
demos/null Null driver example (using SoLoud without audio output).
demos/pewpew Demonstration of play() and playClocked() calls.
demos/piano Simple musical instrument using SoLoud.
demos/simplest Simplest example.
demos/space Demo of taking visualization data from different parts of the audio pipeline.
demos/tedsid TED / SID music example.
demos/welcome Slightly more complex example than simplest.
demos/virtualvoices Demo of virtual voices.

Copyright©2013-2015 Jari Komppa