/faust2sc.py

Generate SuperCollider plugins using Faust code [WIP]

Primary LanguagePython

faust2sc.py

This repo contains a script - faust2sc.py - for compiling https://github.com/grame-cncm/faust files to SuperCollider plugins.

It is a rewrite and replacement of the original faust2sc (for converting faust files to SuperCollider-class files) and faust2supercollider (for compiling scsynth and supernova object files). The main goals have been to make the script easier to use and to maintain by rewriting it in Python (as opposed to Ruby+Bash) using standard Python modules. Additionally, this script combines what was formerly split into two scripts into one script that does both things and tries to be smarter about the converted plugins' names, supercollider header paths etc.

This will eventually end up as a pull request to be included with faust

Requirements

The script uses only built in Python modules, but python version =>3.8 is needed.

Usage

Download this repo.

Change permissions of the script:

chmod +x faust2sc.py

Here's an example where the faust file testfile.dsp is compiled as a scsynth and supernova plugin and placed in the userExtension directory of a linux machine:

./faust2sc.py testfile.dsp -s -t $HOME/.local/share/SuperCollider/Extensions/Faust/

See the help screen for more info:

./faust2sc.py -h