Faust.quark
Faust.quark
This SuperCollider package makes it possible to create SuperCollider packages (Quarks) containing plugins written in Faust code. With this, you can distribute plugins written in Faust and make it easy for others to install, compile or uninstall them. It also contains some simple interfaces for the faust
and faust2sc.py
commands used behind the scenes.
Prerequisites
This package requires faust version 2.40.0 or higher to work.
How to make a Faust quark with this package
If you've never made a SuperCollider package before, read this guide and/or try generating one using this cookiecutter recipe.
If you want to see a finished package that uses this method, see this example Quark.
Step 0: Add faust files to your project
This package assumes that you have .dsp
faust files in your project in a folder at the root of your project called faust
(if you want to change this, see the help files). Every .dsp
file in this folder will be part of your installation.
Step 1: Add dependency
In your Quark folder, open up the .quark file and add this package as a dependency eg:
supercollider
(
name: "mycoolfaustplugins",
summary: "Only the world's coolest plugins",
version: "0.001",
schelp: "MyCoolFaust.schelp",
dependencies: ["https://github.com/madskjeldgaard/faust.quark"], // <----- Add Faust.quark here
license: "GNU GPL v3.0",
copyright: "yourname",
ext_dependency: nil,
url: "https://github.com/yourname/mycoolfaustplugins"
)
With this done, when people install your quark it will automatically download this package along with it.
Step 2: Create a subclass
In your Quark, create a simple class that inherits from the AbstractFaustPackage
class defined in this package:
supercollider
MyCoolFaust : AbstractFaustPackage {}
From now on, your users can install your plugins like this:
supercollider
MyCoolFaust.install();
Or uninstall like this:
supercollider
MyCoolFaust.uninstall();
Step 3 (optional): Automatically compile and install
If you want to automatically compile and install the plugins, you can do the following in your subclass:
supercollider
MyCoolFaust : AbstractFaustPackage{
*initClass{
this.autoCompileAtStartup()
}
}
With this, after the first class library compilation, Faust.quark will check if the plugins are installed and if not it will install them automatically.
That's it. See the help files for more information.
Installation
Open up SuperCollider and evaluate the following line of code:
Quarks.install("https://github.com/madskjeldgaard/faust.quark")
Found no versions tagged via git
Installation
Repository
URL
https://github.com/madskjeldgaard/faust.quark
Since
2022-04-06
Last update
2022-07-25
Current version
0.001
Quark info
url
https://github.com/madskjeldgaard/faust.quark
name
faust
schelp
Faust.schelp
license
GNU GPL v3.0
summary
Convenience classes for working with the Faust programming language
version
0.001
copyright
madskjeldgaard
dependencies
[]