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. Likerender_to_wavbut withinput_channelsfilled each block, and with the same limits onduration_secs.