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 →