beamer-core
Format-agnostic core abstractions for building audio plugins with Beamer.
This crate provides the shared traits and types used by all plugin formats (AU, VST3):
- Plugin traits:
Descriptor,Processor,HasParameters,Parameters - Audio buffers:
Buffer<S>,AuxiliaryBuffers<S>with real-time safety guarantees - MIDI types: Complete MIDI event handling including MPE and Note Expression
- Parameter types:
FloatParameter,IntParameter,BoolParameter,EnumParameterwith smoothing - Transport info: DAW tempo, time signature, and position data
Usage
Most users should use the beamer crate instead, which re-exports everything from beamer-core along with the format-specific integration layers.
Use beamer-core directly only if you're:
- Building a plugin format adapter (e.g., for CLAP or AAX)
- Creating a custom plugin framework on top of Beamer's abstractions
Advanced: Manual Parameters Implementation
Most plugins should use #[derive(Parameters)]. However, the Parameters trait can be implemented manually for advanced scenarios like dynamic parameter counts, custom storage strategies, or shared parameter pools across plugin instances.
Documentation
See the main repository for:
License
MIT