Skip to content

Commit

Permalink
Add nih-faust-jit project.
Browse files Browse the repository at this point in the history
  • Loading branch information
sletz committed Mar 31, 2024
1 parent e4c91c4 commit b05c8f4
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 57 deletions.
2 changes: 1 addition & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -465,5 +465,5 @@ <h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>

<!--
MkDocs version : 1.4.3
Build Date UTC : 2024-03-31 12:26:57.865126+00:00
Build Date UTC : 2024-03-31 22:10:08.290190+00:00
-->
3 changes: 3 additions & 0 deletions docs/manual/embedding/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,9 @@ <h2 id="use-case-examples">Use Case Examples</h2>
<li>
<p><a href="https://github.com/shakfu/cyfaust">cyfaust</a> is a cython wrapper of the Faust interpreter and the RtAudio cross-platform audio driver, derived from the <a href="https://github.com/shakfu/faustlab">faustlab</a> project. The objective is to end up with a minimal, modular, self-contained, cross-platform python3 extension.</p>
</li>
<li>
<p><a href="https://github.com/YPares/nih-faust-jit">nih-faust-jit</a> ia a plugin written in Rust to load Faust dsp files and JIT-compile them with LLVM. A simple GUI is provided to select which script to load and where to look for the Faust libraries that this script may import. The selected DSP script is saved as part of the plugin state and therefore is saved with your DAW project.</p>
</li>
</ul></div>
</div>
</div>
Expand Down
55 changes: 0 additions & 55 deletions docs/manual/tools/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -521,18 +521,6 @@
<li class="nav-item" data-level="2"><a href="#faust2vcvrack" class="nav-link">faust2vcvrack</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#faust2wasm" class="nav-link">faust2wasm</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#faust2webaudiowasm" class="nav-link">faust2webaudiowasm</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#faust2webaudiowast" class="nav-link">faust2webaudiowast</a>
<ul class="nav flex-column">
</ul>
</li>
</ul>
</li>
Expand Down Expand Up @@ -1370,49 +1358,6 @@ <h2 id="faust2vcvrack">faust2vcvrack</h2>
-version &lt;1|2> : to set the plugin version, 1 by default
Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.

</pre>

<h2 id="faust2wasm">faust2wasm</h2>
<pre class=faust-tools>
Usage: faust2wasm [options] &lt;file.dsp>
Compiles Faust programs to WASM modules
Options:
-poly : produces a polyphonic DSP, ready to be used with MIDI events
-effect &lt;effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC
-effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in &lt;file.dsp>, ready to be used with MIDI or OSC
-opt : optimize the wasm module using Binaryen tools (https://github.com/WebAssembly/binaryen)
-worklet : generates AudioWorklet compatible code
-wap : generates a WAP (Web Audio Plugin). This forces -worklet mode, and create additional files
-wap2 : generates a WAP V2 (Web Audio Plugin). This forces -worklet mode, and create additional files
-comb : combine several DSPs in a unique resulting 'comb.js' file, sharing the same Emscripten runtime
-emcc : compile C++ generated code to wasm with Emscripten, otherwise the internal wasm backend is used [experimental]
-npm : add a package.json file for npm package distribution
</pre>

<h2 id="faust2webaudiowasm">faust2webaudiowasm</h2>
<pre class=faust-tools>
Usage: faust2webaudiowasm [options] &lt;file.dsp>
Compiles Faust programs to self-contained HTML pages with WASM
Options:
-poly : produces a polyphonic DSP, ready to be used with MIDI events
-effect &lt;effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC
-effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in &lt;file.dsp>, ready to be used with MIDI or OSC
-opt : optimize the wasm module using Binaryen tools (https://github.com/WebAssembly/binaryen)
-worklet : generates AudioWorklet compatible code
-links : add links to source code and SVG diagrams in the generated HTML file
-emcc : use the EMCC generated glue (mandatory when using 'soundfiles' in the DSP code) [experimental]
</pre>

<h2 id="faust2webaudiowast">faust2webaudiowast</h2>
<pre class=faust-tools>
Usage: faust2webaudiowast [options] &lt;file.dsp>
Compiles Faust programs to self-contained HTML pages with WASM
Options:
-poly : produces a polyphonic DSP, ready to be used with MIDI events
-opt : optimize the wasm module using Binaryen tools (https://github.com/WebAssembly/binaryen)
-worklet : generates AudioWorklet compatible code
-links : add links to source code and SVG diagrams in the generated HTML file
-emcc : compile C++ generated code to wasm with Emscripten, otherwise the internal wasm backend is used
</pre></div>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion docs/search/search_index.json

Large diffs are not rendered by default.

Binary file modified docs/sitemap.xml.gz
Binary file not shown.
2 changes: 2 additions & 0 deletions mkdocs/docs/manual/embedding.md
Original file line number Diff line number Diff line change
Expand Up @@ -213,3 +213,5 @@ Like metaSurface64, it has both its own loop generator and a multi-effects FX en
* [AMATI](https://github.com/glocq/Amati) is a VST plugin for live-coding effects in the Faust programming language.
* [cyfaust](https://github.com/shakfu/cyfaust) is a cython wrapper of the Faust interpreter and the RtAudio cross-platform audio driver, derived from the [faustlab](https://github.com/shakfu/faustlab) project. The objective is to end up with a minimal, modular, self-contained, cross-platform python3 extension.
* [nih-faust-jit](https://github.com/YPares/nih-faust-jit) ia a plugin written in Rust to load Faust dsp files and JIT-compile them with LLVM. A simple GUI is provided to select which script to load and where to look for the Faust libraries that this script may import. The selected DSP script is saved as part of the plugin state and therefore is saved with your DAW project.

0 comments on commit b05c8f4

Please sign in to comment.