Search guides and the APICtrl K

Documentation

Sonore SDK

A header-only C++17 framework for audio plugins: one source file builds a CLAP, a VST3, an Audio Unit, an LV2 bundle, a standalone application and a browser build of the same DSP. This is its documentation: task-oriented guides, and an API reference generated from the headers' own comments.

On this page
Terminal
# the SDK: the generator and the headers
git clone https://github.com/SonorieAI/sonore-sdk
cd sonore-sdk
# a project of your own, from the repository root
cmake -DNAME="My Filter" -DVENDOR="My Company" -P sdk/cmake/sonore_new_plugin.cmake
# build it; ctest runs the checks the project comes with
cmake -S MyFilter -B MyFilter/build
cmake --build MyFilter/build --config Release
ctest --test-dir MyFilter/build -C Release

CMake 3.21 or newer and a C++17 compiler; on Windows, Visual Studio 2022 or newer.

Guides

10 of them, in reading order

  1. 01Getting startedA generated project, built, checked and loaded into a DAW.
  2. 02Parameters and stateParamInfo, the StateBag, the APVTS shape, and keeping old sessions loading.
  3. 03The native editorcreateEditor, widgets and attachments, LookAndFeel, the preset bar.
  4. 04The web editorA page as the plugin's face, and the window.sonore bridge.
  5. 05PresetsFactory presets in the binary, the user's own in a folder.
  6. 06MIDI and MPEInstruments, voices, per-note expression, MIDI out.
  7. 07Hosting pluginsScanning, the scan cache, loading and running other people's plugins.
  8. 08Testing your pluginThe self-checks, unit tests, the validators, a real DAW.
  9. 09Platforms and formatsWhat runs where, and what is not available.
  10. 10Versions and compatibilityWhat a version number promises.

API reference, by area

All 270 headers

For coding agents

The same API, in the forms an agent reads

Compiled in CI

The code in the guides is compiled. Every C++ block with this mark is extracted by the SDK's tests and built with them, and most also run. A guide whose code stops compiling fails the build, not the reader.

↑↓ to move↵ to openEvery public name in the headers, and every guide