flutter_vst3 library

flutter_vst3 - Framework for VST® 3 Plugin Development

This package provides the complete framework for building VST® 3 plugins with Flutter UI and pure Dart audio processing. It bridges Dart/Flutter code with the Steinberg VST® 3 SDK C++ infrastructure.

VST® is a trademark of Steinberg Media Technologies GmbH.

Classes

DartVST3Callbacks
VST3Bridge
Main FFI bridge between Dart VST3 plugins and C++ VST3 infrastructure
VST3ParameterHandler
Base class for parameter management in VST3 plugins
VST3ParameterInfo
VST3 Parameter utilities and types
VST3Processor
Abstract interface that all Dart VST3 processors must implement

Functions

registerVST3Callbacks({required String pluginId}) → void
Register Dart callbacks with C++ layer This MUST be called before the VST3 plugin can use the Dart processor

Typedefs

CreateInstanceC = Pointer<Void> Function(Pointer<Utf8>)
CreateInstanceDart = Pointer<Void> Function(Pointer<Utf8>)
DartDisposeNative = Void Function()
DartGetParameterCountNative = Int32 Function()
DartGetParameterNative = Double Function(Int32)
DartInitializeProcessorNative = Void Function(Double, Int32)
Callback function signatures for FFI
DartProcessAudioNative = Void Function(Pointer<Float>, Pointer<Float>, Pointer<Float>, Pointer<Float>, Int32)
DartResetNative = Void Function()
DartSetParameterNative = Void Function(Int32, Double)
DisposeC = Void Function()
DisposeDart = void Function()
GetParameterC = Double Function(Int32 paramId)
GetParameterCountC = Int32 Function()
GetParameterCountDart = int Function()
GetParameterDart = double Function(int paramId)
InitializeProcessorC = Void Function(Double sampleRate, Int32 maxBlockSize)
C function type definitions for FFI callbacks
InitializeProcessorDart = void Function(double sampleRate, int maxBlockSize)
ProcessAudioC = Void Function(Pointer<Float> inputL, Pointer<Float> inputR, Pointer<Float> outputL, Pointer<Float> outputR, Int32 numSamples)
ProcessAudioDart = void Function(Pointer<Float> inputL, Pointer<Float> inputR, Pointer<Float> outputL, Pointer<Float> outputR, int numSamples)
RegisterCallbacksC = Int32 Function(Pointer<Void>, Pointer<DartVST3Callbacks>)
RegisterCallbacksDart = int Function(Pointer<Void>, Pointer<DartVST3Callbacks>)
ResetC = Void Function()
ResetDart = void Function()
SetParameterC = Void Function(Int32 paramId, Double normalizedValue)
SetParameterDart = void Function(int paramId, double normalizedValue)