Two fixes for Modular mode: 1. faust-worklet-processor.js: explicitly attach FaustWorkletProcessor to globalThis. Class declarations at the top of a classic script are lexically scoped to that script's evaluation context and do not propagate across separate addModule() calls, so the base class was invisible to subclass processors when they loaded in AudioWorklet- GlobalScope. Symptom: "FaustWorkletProcessor is not defined" at the extends clause of modular-subtractive-processor.js. 2. modular-ui.js + a-app.js: wire live matrix cell updates. Phase C wired matrix cells for writes (click cycles, precise editor) but not for reads — the MLP-driven values never propagated to the DOM. modular-ui now exposes updateLive(outputs), called from routeOutputs on every inference tick. Throttled to ~20 fps internally to avoid DOM thrashing. Only visible sources (within adsrCount/lfoCount) are updated; muted slots stay dark. |
||
|---|---|---|
| .. | ||
| audio | ||
| eoc | ||
| midi | ||
| nisps | ||
| shapeseq | ||
| synth | ||
| ui | ||
| a-app.js | ||
| app.js | ||
| b-app.js | ||
| c-app.js | ||
| event-bus.js | ||