Expand description
§beamer-core
Core abstractions for the Beamer VST3 WebView 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
Plugin- Complete plugin trait combining DSP and parametersAudioProcessor- Core DSP processing traitParameters- Parameter collection traitEditorDelegate- GUI configuration and callbacks
§Types
Size- 2D size in pixelsRect- Rectangle in pixelsBuffer- Main audio I/O bufferAuxiliaryBuffers- Sidechain and aux bus accessBusInfo- Audio bus configurationParamInfo- Parameter metadataPluginError- Error typesMidiEvent- MIDI event typesTransport- DAW transport/timing stateProcessContext- Processing context with sample rate and transport
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 param_format::Formatter;pub use param_range::LinearMapper;pub use param_range::LogMapper;pub use param_range::LogOffsetMapper;pub use param_range::PowerMapper;pub use param_range::RangeMapper;pub use param_types::BoolParam;pub use param_types::EnumParam;pub use param_types::EnumParamValue;pub use param_types::FloatParam;pub use param_types::IntParam;pub use param_types::ParamRef;pub use param_types::Params;pub use smoothing::Smoother;pub use smoothing::SmoothingStyle;pub use params::NoParams;pub use params::ParamFlags;pub use params::ParamInfo;pub use params::Parameters;pub use params::UnitId;pub use params::UnitInfo;pub use params::Units;pub use params::ROOT_UNIT_ID;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::HasParams;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::ParamId;pub use types::ParamValue;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.
- param_
format - Parameter value formatting and parsing.
- param_
range - Range mapping for parameter normalization.
- param_
types - High-level parameter types with encapsulated atomic storage.
- params
- Low-level parameter system for VST3 host communication.
- 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.