-
Notifications
You must be signed in to change notification settings - Fork 23
Home
This wiki is the official documentation for madronalib, a C++ framework for DSP applications.
Right now, madronalib is not well documented, aside from the code iteself. Still, it contains lots of useful code that you are welcome to use in your own applications if credit is given (MIT license). The main reason madronalib is currently public is so the Soundplane software that relies on it is completely open-source.
All of the Madrona Labs plugins have been built on madronalib. Some major changes are planned for a 2.0 release, which I plan to be the foundation for an open audio appliance in the future.
- dynamic DSP graph creation with a friendly syntax for writing new nodes in C++. Modules register themselves at static initialization time, so no global registry is needed. See MLProcNoise for a simple example.
- a fast symbol table implementation that makes it easy to bind to scripting languages and write readable DSP code.
- a cross-platform toolkit for making resizable UIs.
Compiling madronalib currently requires a Mac OS or Windows system with a C++11 compiler. The following libraries will also be needed:
on Windows and MacOS: JUCE https://github.com/julianstorer/JUCE
on Mac OS: oscpack https://code.google.com/p/oscpack/downloads/list osctools https://github.com/tap/osctools
getting juce: I have not forked JUCE. I try to use a recent, unmodified version but not always the latest tip. Currently this JUCE version is commit 9a1171a7ef8cb544df5103101e7ee558323bb80a, so to get it: git clone https://github.com/julianstorer/JUCE.git juce git reset --hard 9a1171a7ef8cb544df5103101e7ee558323bb80a
getting oscpack: download from https://code.google.com/p/oscpack/downloads/list
getting osctools: git clone https://github.com/tap/osctools.git osctools