Skip to main content

faustdoctor

NOTE: This is a fork of faustpp, which is not endorsed by upstream (since its maintainer is MIA). It is also not backward compatible with the upstream version, since it features breaking changes to the architecture templates, the template context and the command line interface.


A post-processor for FAUST giving more flexibility at source generation.

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.

Usage

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:

  • Can generate a separate (C/C++) header and implementation file.
  • Provides direct introspection of the characteristics of the controls.
  • Can parse standard and custom UI metadata, for example:
    • [symbol:]
    • [trigger]
    • [boolean]
    • [integer]
  • Provides named getters and setters for the controls.
  • Provides a simplified signature for the processing routine.

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

faustdr -X-vec -DIdentifier=MyEffect -a generic.cpp effect.dsp > effect.cpp
faustdr -X-vec -DIdentifier=MyEffect -a generic.hpp effect.dsp > effect.hpp

Installation

Assuming you have Python installed (>= 3.9) and pipx installed, run this command:

pipx install faustdoctor

Authors

This software is based on faustpp, which was created by Jean Pierre Cimalando. The project was forked, renamed to faustdoctor, updated, improved and extended by Christopher Arndt, who now maintains this version.

License

This software is released under the Boost Software License 1.0. Please see the LICENSE.md file for details.

Release notes

See the CHANGELOG.md file.

Metadata

Release files for faustdoctor 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for faustdoctor 0.2.0
File Size Uploaded
faustdoctor-0.2.0.tar.gz 53.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for faustdoctor 0.2.0
File Interpreter ABI Platform
faustdoctor-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 78.6 kB

Release files / faustdoctor-0.2.0.tar.gz

Download URL faustdoctor-0.2.0.tar.gz
Size 53.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7b42b08051dc7f76fb831c9a941d13bb044dc51394c02c278141451950e32e82
BLAKE2b-256 checksum
How to use checksums
9c5870e9614fe6f3d91693f14284c8c6602fc636c97297b842c6d55d04588a70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.6

Release files / faustdoctor-0.2.0-py3-none-any.whl

Download URL faustdoctor-0.2.0-py3-none-any.whl
Size 25.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2508ee1a6fccbc16e857adb0ec22aab0430c64a04a17adb44500352c64da9856
BLAKE2b-256 checksum
How to use checksums
ba9de7239589fb7a85a391ee11616b1815e3b6973075392b58e1ee8ea3d84cf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.6

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page