This is a framework for learning/teaching digital audio programming.
Goals:
- Few dependencies
- Conceptually simple implementations, when possible
- Permissive licenses
- Portable; It should build and run on:
- Linux
- macOS
- (TBD) Windows
- (TBD) The browser via Emscripten
Status:
Currently GLWF3 is the only library dependency. RtAudio and others build along with user code.
Media (e.g., .wav and .png files) are held using Git Large File Storage, so you'll need to install git-lfs
on your system.
Prepare your development environment:
-
Linux
On apt-based systems, you'll need
libglfw3-dev
andlibasound2-dev
. Thebuild-essential
package will install everything you need to compile and link. -
macOS
First, install Xcode with
xcode-select --install
on the terminal. Then, install Homebrew. Finally, install the glfw library withbrew install glfw
. -
Windows (TDB)
TDB: This will probably use MinGW, but maybe
choco
,vcbuildtools
, andvcpkg
.
To build and run an example, use the run
script. For instance, ./run example/simple.cpp
will build and run the example example/simple.cpp
This works for any .cpp files in some subfolder of this repo, so if you make a folder foo
and a file foo/bar.cpp
, you should be able to build and run with ./run foo/bar.cpp
.