bbx_plugin
Plugin integration crate for bbx_audio DSP with C FFI bindings for JUCE and other C/C++ frameworks.
This crate re-exports bbx_dsp, so plugin projects only need to add bbx_plugin as a dependency.
Features
- Single dependency: Re-exports
bbx_dspfor convenient access to all DSP types - Macro-based code generation: Single macro generates all FFI exports
- RAII handle management: Safe opaque pointer lifecycle
- Buffer processing: Zero-copy audio buffer interop
- Plugin integration: Works with JUCE AudioProcessor
Usage
Implementing PluginDsp
use ;
// Generate FFI exports
bbx_plugin_ffi!;
Generated FFI Functions
The bbx_plugin_ffi! macro generates:
bbx_create() -> *mut BbxGraph- Create plugin instancebbx_destroy(handle)- Destroy plugin instancebbx_prepare(handle, sample_rate, buffer_size, channels)- Prepare for playbackbbx_reset(handle)- Reset statebbx_apply_parameters(handle, params, count)- Update parametersbbx_process(handle, inputs, outputs, channels, samples)- Process audio
JUCE Integration
See the workspace README for complete JUCE integration examples with CMake build setup.
License
MIT