Crate beamer_core

Crate beamer_core 

Source
Expand description

§beamer-core

Core abstractions for the Beamer audio plugin framework.

This crate provides platform-agnostic and format-agnostic traits that define the interface for audio plugins. It has no external dependencies, making it suitable for use in any context.

§Main Traits

§Types

Re-exports§

pub use buffer::AuxiliaryBuffers;
pub use buffer::AuxInput;
pub use buffer::AuxOutput;
pub use buffer::Buffer;
pub use bypass::BypassAction;
pub use bypass::BypassHandler;
pub use bypass::BypassState;
pub use bypass::CrossfadeCurve;
pub use editor::EditorConstraints;
pub use editor::EditorDelegate;
pub use editor::NoEditor;
pub use error::PluginError;
pub use error::PluginResult;
pub use midi::cc;
pub use midi::ChannelPressure;
pub use midi::ControlChange;
pub use midi::MidiBuffer;
pub use midi::MidiChannel;
pub use midi::MidiEvent;
pub use midi::MidiEventKind;
pub use midi::MidiNote;
pub use midi::NoteId;
pub use midi::NoteOff;
pub use midi::NoteOn;
pub use midi::PitchBend;
pub use midi::PolyPressure;
pub use midi::ProgramChange;
pub use midi::ChordInfo;
pub use midi::NoteExpressionInt;
pub use midi::NoteExpressionText;
pub use midi::NoteExpressionValue;
pub use midi::ScaleInfo;
pub use midi::SysEx;
pub use midi::Midi2Controller;
pub use midi::rpn;
pub use midi::ParameterNumberKind;
pub use midi::ParameterNumberMessage;
pub use midi::RpnTracker;
pub use midi::NoteExpressionTypeFlags;
pub use midi::NoteExpressionTypeInfo;
pub use midi::NoteExpressionValueDesc;
pub use midi::keyswitch_type;
pub use midi::KeyswitchInfo;
pub use midi::physical_ui;
pub use midi::PhysicalUIMap;
pub use midi::MpeInputDeviceSettings;
pub use midi::note_expression;
pub use midi::combine_14bit_cc;
pub use midi::combine_14bit_raw;
pub use midi::split_14bit_cc;
pub use midi::split_14bit_raw;
pub use midi::MAX_CHORD_NAME_SIZE;
pub use midi::MAX_EXPRESSION_TEXT_SIZE;
pub use midi::MAX_KEYSWITCH_TITLE_SIZE;
pub use midi::MAX_NOTE_EXPRESSION_TITLE_SIZE;
pub use midi::MAX_SCALE_NAME_SIZE;
pub use midi::MAX_SYSEX_SIZE;
pub use parameter_format::Formatter;
pub use parameter_range::LinearMapper;
pub use parameter_range::LogMapper;
pub use parameter_range::LogOffsetMapper;
pub use parameter_range::PowerMapper;
pub use parameter_range::RangeMapper;
pub use parameter_groups::GroupId;
pub use parameter_groups::GroupInfo;
pub use parameter_groups::ParameterGroups;
pub use parameter_groups::ROOT_GROUP_ID;
pub use parameter_info::ParameterFlags;
pub use parameter_info::ParameterInfo;
pub use parameter_store::NoParameters;
pub use parameter_store::ParameterStore;
pub use parameter_types::BoolParameter;
pub use parameter_types::EnumParameter;
pub use parameter_types::EnumParameterValue;
pub use parameter_types::FloatParameter;
pub use parameter_types::IntParameter;
pub use parameter_types::ParameterRef;
pub use parameter_types::Parameters;
pub use smoothing::Smoother;
pub use smoothing::SmoothingStyle;
pub use midi_cc_config::controller;
pub use midi_cc_config::MidiCcConfig;
pub use midi_cc_config::MAX_CC_CONTROLLER;
pub use midi_cc_state::MidiCcState;
pub use midi_cc_state::MIDI_CC_PARAM_BASE;
pub use plugin::AudioProcessor;
pub use plugin::AudioSetup;
pub use plugin::BusInfo;
pub use plugin::BusLayout;
pub use plugin::BusType;
pub use plugin::FullAudioSetup;
pub use plugin::HasParameters;
pub use plugin::Midi1Assignment;
pub use plugin::Midi2Assignment;
pub use plugin::MidiControllerAssignment;
pub use plugin::NoConfig;
pub use plugin::Plugin;
pub use plugin::ProcessorConfig;
pub use process_context::FrameRate;
pub use process_context::ProcessContext;
pub use process_context::Transport;
pub use sample::Sample;
pub use types::ParameterId;
pub use types::ParameterValue;
pub use types::Rect;
pub use types::Size;
pub use types::MAX_AUX_BUSES;
pub use types::MAX_BUSES;
pub use types::MAX_CHANNELS;

Modules§

buffer
Audio buffer abstractions for plugin processing.
bypass
Bypass handling with smooth crossfading.
editor
Editor and GUI-related traits.
error
Error types for the Beamer framework.
midi
MIDI event types for audio plugins.
midi_cc_config
Static MIDI CC configuration for VST3 IMidiMapping support.
midi_cc_state
Runtime state for MIDI CC emulation.
parameter_format
Parameter value formatting and parsing.
parameter_groups
Parameter grouping system for hierarchical organization.
parameter_info
Parameter metadata types.
parameter_range
Range mapping for parameter normalization.
parameter_store
Low-level parameter store for host communication.
parameter_types
High-level parameter types with encapsulated atomic storage.
plugin
Core plugin trait definitions.
process_context
Transport and process context for audio plugins.
sample
Sample type abstraction for f32/f64 audio processing.
smoothing
Parameter smoothing for avoiding zipper noise during automation.
types
Common types used throughout the Beamer framework.