adac.export_juce#

adac.export_juce(source: dict[str, Any] | str, out_dir: str | Path, *, name: str = 'FDN', controls: dict[str, Any] | None = None, certificate: bool = True, strict: bool = True, standalone: bool = False, faust2juce: str = 'faust2juce', juce_modules: str | Path | None = None, extra_args: tuple[str, ...] = (), manufacturer: str = 'adac', manufacturer_code: str | None = None, build: bool = False, projucer: str | None = None, developer_dir: str | None = None) dict[str, Any][source]#

generate a juce plugin project from a config dict or faust code.

Parameters:
  • source (dict | str) – a json config dict (output of flamo_to_json), or a complete faust source string. certification requires the config form: faust code cannot be analysed, only configs can.

  • out_dir (str | Path) – directory receiving the .dsp, the certificate, and the juce project folder. created if missing.

  • name (str) – plugin name; sanitised for the .dsp filename and project dir.

  • controls (dict, optional) – macro controls forwarded to json_to_faust (config form only).

  • certificate (bool) – compute the stability certificate and write it next to the .dsp (config form only).

  • strict (bool) – export only certified-stable or marginally-stable models; unstable, not-certified, and indeterminate verdicts are refused. set False to export regardless.

  • standalone (bool) – generate a standalone application project instead of a plugin.

  • faust2juce (str) – tool name or path, for non-standard installations.

  • juce_modules (str | Path, optional) – path to the JUCE modules folder (e.g. ~/JUCE/modules). the generated project references it; required for building unless the project sits inside the juce tree.

  • extra_args (tuple) – additional arguments passed through to faust2juce.

  • manufacturer (str) – vendor name daws display and group plugins under. patched into the generated project (faust2juce hard-codes “GRAME”).

  • manufacturer_code (str, optional) – four-character manufacturer code. leave unset to keep the generated default: changing it gives the plugin a new identity and daws will list it as a separate plugin.

  • build (bool) – also build the project to installed plugins (macos only: projucer resave + xcodebuild, vst3 and au targets, release). juce’s plugin copy step installs the results into ~/Library/Audio/Plug-Ins automatically; rescan in the daw.

  • projucer (str, optional) – path to the projucer binary when not on PATH or in /Applications.

  • developer_dir (str, optional) – xcode developer directory for machines whose xcode-select points at the command line tools. auto-detected when omitted.

Returns:

result – keys dsp, project, certificate and verdict. with build=True it also carries vst3, au and installed, the paths of the built and installed plugins.

Return type:

dict