getting very technical now
@neilbaldwin there’s really nothing that i haven’t mentioned yet. did a quick line count and it seems to be 26% SOUL, 61% TypeScript, 12% SCSS and 1% C++. the thing that actually makes this possible are modern Web Audio APIs, especially the AudioWorkletProcessor which allows for audio code to run in a separate thread. IIRC, for example Safari added support for that this spring good timing!
as for a plugin version, getting the DSP to work is not hard at all because SOUL can be compiled directly to C++. i already have a test project with the exact same DSP running natively because i wanted to see how the performance compared (turns out it’s ~10x better than via WebAssembly in the browser). and yeah embedding a browser should also not be very difficult in itself. it’s just all the wiring and state management which will be a bit painful with the current architecture.
@tdmusic what i haven’t mentioned yet is that besides doing web stuff professionally i also work at plug-in company where we use JUCE i’d like to avoid it for tahti though because of its licensing model, especially since iPlug2 is already in a pre-release stage. thanks for offering to help though, appreciate it!
personally, i also dislike the idea of embedding browsers in plug-ins for performance reasons… but perhaps a first version of a tahti plug-in could be implemented that way. to keep this project interesting for myself though, i’d like to eventually try something like writing the UI completely in Rust (with egui, for example) and using that in an iPlug2 project