Skip to main content

Crate beamer

Crate beamer 

Source
Expand description

§Beamer

Audio Plugin Framework for Rust.

Beamer is a framework for building audio plugins (AU, VST3). It provides safe Rust abstractions that work with multiple plugin formats.

§Quick Start

use beamer::prelude::*;

// Define your plugin
struct MyGain { parameters: MyParameters }

impl Processor for MyGain {
    fn setup(&mut self, _: f64, _: usize) {}
    fn process(&mut self, buffer: &mut Buffer, _aux: &mut AuxiliaryBuffers, _context: &ProcessContext) {
        // Your DSP here
    }
}

impl Descriptor for MyGain {
    type Parameters = MyParameters;
    fn parameters(&self) -> &Self::Parameters { &self.parameters }
    fn create() -> Self { Self { parameters: MyParameters::new() } }
}

// Export
static CONFIG: Config = Config::new("MyGain", Category::Effect, "Mfgr", "gain")
    .with_vendor("My Company");

export_plugin!(CONFIG, MyGain);

Re-exports§

pub use beamer_core as core;

Modules§

prelude
Prelude module for convenient imports.
setup
Plugin setup types for declaring host information requirements.

Macros§

export_plugin
Generate plugin entry points for all enabled formats (AU, VST3).

Attribute Macros§

export
Attribute macro that generates plugin configuration and entry points.

Derive Macros§

EnumParameter
Derive macro for implementing EnumParameterValue trait on enums.
HasParameters
Derive macro for implementing the HasParameters trait.
Parameters
Derive macro for implementing parameter traits.