beamer-macros 0.2.2

Derive macros for the Beamer audio plugin (AU, VST3) framework
Documentation

beamer-macros

Derive macros for building audio plugins with Beamer.

This crate provides procedural macros that generate boilerplate code for plugins:

  • #[derive(Parameters)]: Generates parameter traits, host integration, state persistence, and Default implementation
  • #[derive(HasParameters)]: Generates parameters(), parameters_mut(), and set_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).

use beamer::prelude::*;

#[derive(Parameters)]
struct GainParameters {
    #[parameter(id = "gain", name = "Gain", default = 0.0, range = -60.0..=12.0, kind = "db")]
    gain: FloatParameter,
}

#[derive(Default, HasParameters)]
struct GainPlugin {
    #[parameters]
    parameters: GainParameters,
}

Documentation

See the main repository for:

License

MIT