beamer-macros
Derive macros and attribute macros for building audio plugins with Beamer.
This crate provides procedural macros that generate boilerplate code for plugins:
#[beamer::export]: ReadsConfig.tomlat compile time and generates plugin configuration, factory presets (fromPresets.toml), and format-specific entry points#[derive(Parameters)]: Generates parameter traits, host integration, state persistence, andDefaultimplementation#[derive(HasParameters)]: Generatesparameters(),parameters_mut(), andset_parameters()accessors for Descriptor and Processor types#[derive(EnumParameter)]: Generates enum parameter variants with display names- Declarative attributes: Configure parameters with
#[parameter(id, name, default, range, kind)] - Compile-time validation: ID collision detection and hash generation
Usage
Most users should use the beamer crate instead, which re-exports these macros with the derive feature (enabled by default).
Config.toml (place in crate root):
= "My Gain Plugin"
= "effect"
= "Myco"
= "gain"
= "My Company"
Rust code:
use *;
The #[beamer::export] macro reads Config.toml and generates the plugin configuration and entry points.
Documentation
See the main repository for:
License
MIT