A post-processor for faust, which allows to generate with more flexibility
This is a source transformation tool based on the Faust compiler.
It permits to arrange the way how faust source is generated with greater flexibility.
Using a template language known as Jinja2, it is allowed to manipulate metadata with iteration and conditional constructs, to easily generate custom code tailored for the job. Custom metadata can be handled by the template mechanism.
For detailed information, refer to the documentation.
An example is provided in the architectures
directory.
It is usable and illustrates many features.
The example is able to create a custom processor class. It has these abilities:
- a split generation into a header and an implementation file
- a direct introspection of the characteristics of the controls
- recognition of some custom metadata:
[symbol:]
[trigger]
[boolean]
[integer]
- named getters and setters for the controls
- a simplified signature for the processing routine
This example can be used to generate any file. Pass options to the Faust compiler using -X
.
In this particular example, you should pass a definition of Identifier
in order to name the result class,
which is done with the option -D
.
faustpp -X-vec -DIdentifier=MyEffect -a generic.cpp effect.dsp > effect.cpp
faustpp -X-vec -DIdentifier=MyEffect -a generic.hpp effect.dsp > effect.hpp
Assuming you have Python installed (>= 3), change directory to the working copy and type this command:
pip install .
1.0.0
- Initial release