CreatorDocumentation 0.3.2 beta
Documentation sectionsIn this article
CREATOR / GUIDE

C++ and the Creator SDK

Add your own algorithms and callable functions with portable SDK 1 for C++23.

Your first function

Add a C++ Function. Set Entry function to process, enter the code and choose Update node. Source analysis creates the actual ports. Connect Audio and the result, then Compile.

#include <vlt/creator.hpp>

vlt::AudioFrame process(vlt::AudioFrame audio, float gain = 0.5f) {
    return {audio.left * gain, audio.right * gain};
}

Signature and ports

float becomes Number, bool becomes Gate and vlt::AudioFrame becomes Audio. A returned struct can create multiple outputs. VLT_PORT assigns stable IDs; default arguments define manual values for numeric inputs.

vlt::Function<Signature> creates a callable input. Connect another C++ node’s Function output with the same signature. This is a call with code-provided arguments, not a precomputed audio stream. Each binding has its own state.

State and realtime

Keep persistent data in State. Prepare vlt::Buffer in prepare and clear history in reset. Do not allocate memory or access files, networks or the OS in process. Put local helpers in the same source or another Function node.

The context provides sample rate, time, tempo and seed. Declare latency and tail correctly for parallel-path alignment and export completion.

Validation and compilation

After every source edit, even a body-only change, choose Update node. This analyzes source; it does not publish new DSP. Compile checks the graphs, builds portable code and installs a .vltmini.

Check mono/stereo, extreme parameter values, different sample rates, reset, automation and effect tails. Successful compilation does not by itself assess the sound.

Download the complete Russian SDK reference: API, lifecycle and example source

NextCreator AI assistant →