What problem does it solve?
Integrates FAUST offline code generation into the Pulp framework so developers can build, test, and package FAUST-based audio processors without requiring the FAUST compiler at build time, reducing build-time dependencies and ensuring reproducible plugin builds.
Core Features & Use Cases
- Offline codegen support: Uses pre-generated C++ headers for FAUST .dsp sources so builds succeed without FAUST installed.
- FaustProcessor wrapper: Provides a FaustProcessor<T> template that adapts FAUST-generated dsp classes into Pulp's Processor model.
- Automatic reflection: Discovers parameters from buildUserInterface(), extracts metadata (name, author, version), and derives bus layout from getNumInputs/getNumOutputs.
- CMake integration & tests: Includes a PulpFaust.cmake module for generation and test helpers and three example projects (gain, filter, tremolo) with unit tests.
- Use cases: Rapidly add a FAUST algorithm to a plugin, validate parameter mappings in CI, or ship example FAUST processors as part of the SDK.
Quick Start
Build the included examples and run the FAUST-focused tests using the project's CMake configuration so pre-generated FAUST headers compile and the unit tests validate parameter reflection and audio processing.