Sharing your work: from assets/ to the Hub
A .dsp is a text file, which makes it the most shareable artifact
in FaustWave.
Publish a saved DSP as a Hub item:
hub.publish { file_path, kind: "dsp", slug, title, license, visibility, description?, tags? }— reads the file, validates it, uploads it as v1.file_pathtakes the patch's ref (asset:assets/<name>.dsp, fromproject.files) or an absolute OS path for a file outside the project. The Hub bundles the source plus its library dependencies (an item page showsstdfaust.liband friends), so installs are self-contained.- Start
visibility: "private"while iterating; flip to"public"later withhub.item.update { item_id, visibility }— no re-upload needed. - New iterations:
hub.version.upload { item_id, file_path, changelog }posts v2, v3, … with a changelog trail.
Install someone's DSP: hub.install { item_id } on a dsp-kind item
opens it straight into a .dsp editor tab, dependencies mounted. From
there it's yours to run, tweak — and hub.fork if you want your changes to
live as your own item with provenance back to the original.
Metadata that makes an item useful to strangers (and to the assistant):
- A description that says what it sounds like and which channel/notes
it expects (
"GM drum map, 36=kick …","expects [midi:chan 2]"). - Tags for discovery — instrument family, genre, technique.
- A license (SPDX id, e.g.
CC0-1.0for "take it, it is yours",CC-BY-4.0if you want credit) — required at publish time.