Skip to main content

Module simple

Module simple 

Source
Expand description

Simplified API for common VST3 hosting tasks.

This module provides convenience functions that make it easy to get started with VST3 plugin hosting without needing to understand all the configuration options and complex APIs.

§Quick Examples

§Load and play a plugin

use vst3_host::simple;
use vst3_host::midi::MidiChannel;

// Load a plugin with sensible defaults
let mut plugin = simple::load_plugin("/path/to/synth.vst3")?;

// Start processing audio
plugin.start_processing()?;

// Play a note
plugin.send_midi_note(60, 127, MidiChannel::Ch1)?; // Middle C

§Discover plugins easily

use vst3_host::simple;

// Find all plugins on the system
let plugins = simple::discover_plugins()?;

for plugin in plugins {
    println!("Found: {} by {}", plugin.name, plugin.vendor);
}

Functions§

discover_plugins
Discover all VST3 plugins in the standard system locations.
discover_plugins_in
Discover plugins in a specific directory.
get_plugin_info
Read a plugin’s metadata by loading it in this process.
is_valid_plugin
Check if a plugin path is valid and loadable.
load_plugin
Load a VST3 plugin with sensible defaults.
load_plugin_isolated
Load a plugin with crash protection enabled.
load_plugin_with_settings
Load a plugin with custom audio settings.
play
Load a plugin and immediately start playing it through the default audio device.
play_with_input
Host an effect plugin on live audio input: capture from the default input device, process through the plugin, and play the result on the default output device.
render_to_wav
Render a plugin offline to a 32-bit float WAV file.
render_to_wav_with_input
Offline-render a plugin to a WAV while feeding its audio input from an InputSource (a generated test signal or a loaded file) — for auditioning/regression-testing effects with a known input. Like render_to_wav but with input_channels filled each block, and with the same limits on duration_secs.