Skip to content
Randy Jones edited this page May 14, 2015 · 4 revisions

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.

Highlights

  • 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.

Requirements

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:/julianstorer/JUCE

on Mac OS: oscpack https://code.google.com/p/oscpack/downloads/list osctools https:/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:/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:/tap/osctools.git osctools

Clone this wiki locally