Beamer
VST3 Framework for Rust.
Beamer is a framework for building VST3 audio plugins with WebView-based GUIs.
It provides safe Rust abstractions over the VST3 SDK.
Architecture
Your Plugin (implements Plugin trait)
↓
Vst3Processor<P> (generic VST3 wrapper)
↓
VST3 COM interfaces
Quick Start
use beamer::prelude::*;
use beamer::vst3_impl::{Vst3Processor, vst3};
struct MyGain { params: MyParams }
impl AudioProcessor for MyGain {
fn setup(&mut self, _: f64, _: usize) {}
fn process(&mut self, buffer: &mut Buffer, _aux: &mut AuxiliaryBuffers, _ctx: &ProcessContext) {
}
}
impl Plugin for MyGain {
type Params = MyParams;
fn params(&self) -> &Self::Params { &self.params }
fn create() -> Self { Self { params: MyParams::new() } }
}
static CONFIG: PluginConfig = PluginConfig::new("MyGain", MY_UID);
export_vst3!(CONFIG, Vst3Processor<MyGain>);