Current state of JUCE WASM

Good day!

What is the current state of JUCE and WASM? I was working on updating Dreamtonics/juce_emscripten to JUCE 6 but then found the commit Tweaks for emscripten support.

What is the purpose of this commit? Does this mean I can build JUCE with emscripten?

Thanks

2 Likes

I’ve had it working.

I will say - debugging is the biggest pain in the arse ever. It was easier to debug a live kernel than to debug something running in WASM … :slight_smile:

1 Like

Cool!

Can you please tell more?

1- Did you use juce_emscripten?
2- Exactly what worked? Did it play sounds?
3- Did you use a AudioWorklet?

Thanks

2 Likes

I updated juce_emscripten to juce 6.1.6: GitHub - tralves/juce_emscripten: Port of JUCE to the browser via emscripten

Also, got tracktion_engine working with WASM.
Repo: GitHub - tralves/tracktion_engine at develop
Demo: Emscripten-Generated Code

5 Likes

Awww. It really makes me happy that my little port has found a life of its own. Looks like it has come quite far in comparison to what I slapped together almost eight years ago.

I redid the port in 2018 and implemented support for audio, midi and rewrote the graphics context. I think I also got source maps to work - for easier debugging.

I don’t recall if any of it was any good.

Let me know if you want to have a look. Maybe some of it can be of use and ported over?

I am also just found 1 commit related wasm in JUCE, and nomore doc now.