SND
The engine under all our audio software.
Write a processor and an editor one time. Build it as VST3, AU, and a standalone app. No per-format rewrites, no framework tax, no asking permission from a plugin standard.
SND is our in-house audio and UI foundation library — cross-platform audio I/O, a GUI shell, plugin hosting, and a write-once plugin SDK. Our audio software builds on SND instead of on JUCE or iPlug, because we would rather own the floor we stand on.
What's in the box
Seven modules
snd::audio
Device playback and capture, file decode (wav, aiff, flac, mp3, ogg), streaming reads, FLAC and MP3 encoders, resampling, and a gapless player.
snd::ui
The audio UI toolkit, with two front ends: a retained aGooey tree and a Dear ImGui compatibility layer. Knobs, meters, faders, keyboards, pattern grids, sequencer matrices, envelope editors, graph surfaces.
snd::plugin
VST3 and AU hosting with native editor windows, MIDI and host transport — plus the client SDK. Multichannel buses, an inter-plugin control bus, out-of-process crash-safe scanning.
snd::midi
MIDI events with CoreMIDI, ALSA and WinMM device I/O.
snd::dsp
Real FFT and COLA STFT, on PFFFT.
snd::state
A ValueTree-shaped state tree with XML round-trip and undo.
snd::platform
Native file dialogs and a per-OS config directory.
Renderers
Whatever the platform already has
macOS draws through Metal on a CAMetalLayer, so a plugin editor never touches OpenGL. Windows and Linux use a WGL/GLX context. Widget code is identical across all three — only the surface underneath changes.
Standalone aGooey windows take OpenGL by default everywhere, with SND_RENDERER=metal switching macOS over to the Metal surface, falling back to OpenGL if Metal is unavailable. Both backends multisample at 4 samples, so neither lays down a software antialiasing fringe.
For the file
What it replaces
JUCE, iPlug, and the licence conversations that come with them. Nothing to install on any platform.
Free for any noncommercial use. Commercial use needs a licence — ask.