how to make your cross-platform audio engine bloat free in 5 easy steps: https://garten.salat.dev/135-clang-wasm-audio/ (i almost fell off the chair when i saw step 4). shoutout to @sqx
🌱 clang wasm audio

@froos i've since found simple replacements for the remaining stuff i usually miss from libc:

qsort: i turned this macrofied qsort back into a stdlib.h-compatible one: https://github.com/nothings/stb/blob/31c1ad37456438565541f4919958214b6e762fb4/deprecated/stb.h#L8721-L8846

malloc/free: turns out the original K&R book ("The C Programming Language") chapter 8.7 has an elegant malloc, meant as a teaching example, but it works: https://github.com/noncombatant/kr-malloc/blob/main/original_kr_malloc.c

stb/deprecated/stb.h at 31c1ad37456438565541f4919958214b6e762fb4 · nothings/stb

stb single-file public domain libraries for C/C++. Contribute to nothings/stb development by creating an account on GitHub.

GitHub
@froos probably best to avoid malloc/free as much as you can, like the static mem stuff in dough.c, but in audio engines you have samples and delay buffers as these things that can have any size, and may come and go… i'm thinking k&r malloc might be fine for those