Crate beamer_core

Crate beamer_core 

Source
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

§Types

Re-exports§

pub use buffer::AudioBuffer;Deprecated
pub use buffer::AuxiliaryBuffers;
pub use buffer::AuxInput;
pub use buffer::AuxOutput;
pub use buffer::Buffer;
pub use buffer::Bus;Deprecated
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_params::MidiCcParams;
pub use midi_params::MIDI_CC_PARAM_BASE;
pub use plugin::AudioProcessor;
pub use plugin::BusInfo;
pub use plugin::BusType;
pub use plugin::Midi1Assignment;
pub use plugin::Midi2Assignment;
pub use plugin::MidiControllerAssignment;
pub use plugin::Plugin;
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_params
MIDI CC parameter emulation for VST3 compatibility.
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.