Skip to main content

VST Extension

A VST plug-in is an audio processing component that is utilized within a host application.

With VST Extension, Switchboard SDK can act as a VST plug-in host allowing you to process your audio with a wide range of VST3 plug-ins. This extension runs VST3 plugins in a head-less manner and allows you to configure plug-in parameters directly via VSTProcessorNode

The VST Extension provides the following audio nodes for a Switchboard SDK audio graph:

NodeDescription
VSTProcessorNodeA processor node that can load a 64-bit VST3 plug-in, configure its parameters and process audio through it.

Usage

Initialize the extension

VSTExtension::initialize();

Load a plug-in

VSTProcessorNode vstProcessorNode;
vstProcessorNode.loadPlugin(absolutePathToPlugin);

Get list of all parameters of the loaded plug-in

auto parameters = vstProcessorNode.getPluginParameters();
for (const auto& parameter : parameters) {
std::cout <<
"parameter name: " << parameter.name << std::endl <<
"parameter id: " << parameter.id << std::endl <<
"parameter default value: " << parameter.defaultValue << std::endl;
}

Change value of a parameter

VST3 plug-in parameters have float values and range from 0.0 to 1.0. Each plug-in has different names and default values for its parameters set my the VST3 plug-in manufacturer.

We can call setPluginParameter method to set the values.

Example

To configure OrilRiver reverb plugin

VSTProcessorNode vstProcessorNode;
vstProcessorNode.loadPlugin("/Library/Audio/Plug-Ins/VST3/OrilRiver.vst3");
vstProcessorNode.setPluginParameter("Room size", 1.0);
vstProcessorNode.setPluginParameter("Decay time ", 0.3);

Download SDK Extension

You can download this SDK extension from our Downloads Page.

Visit the page to access the latest version and start integrating it into your project!