pub struct GainProcessor { /* private fields */ }Expand description
Reference gain processor implementation for VstKit.
This struct maintains processing state and provides a simple gain effect. All methods are designed to be real-time safe (no allocations, no locks, no syscalls).
This serves as a reference implementation for the Processor trait.
Implementations§
Source§impl GainProcessor
impl GainProcessor
Sourcepub fn new(sample_rate: f32) -> Self
pub fn new(sample_rate: f32) -> Self
Create a new gain processor with the given sample rate.
§Arguments
sample_rate- The audio sample rate in Hz (e.g., 44100.0)
Sourcepub fn set_sample_rate(&mut self, sample_rate: f32)
pub fn set_sample_rate(&mut self, sample_rate: f32)
Update the sample rate.
Call this when the host changes sample rate (e.g., in initialize()).
§Arguments
sample_rate- The new sample rate in Hz
Sourcepub fn sample_rate(&self) -> f32
pub fn sample_rate(&self) -> f32
Get the current sample rate.
Sourcepub fn process(&self, left: &mut [f32], right: &mut [f32], gain_db: f32)
pub fn process(&self, left: &mut [f32], right: &mut [f32], gain_db: f32)
Process stereo audio buffers in-place.
§Arguments
left- Left channel audio buffer (modified in-place)right- Right channel audio buffer (modified in-place)gain_db- Gain to apply in decibels
§Real-Time Safety
This method is real-time safe:
- No allocations
- No locks
- No syscalls
- No panics (uses debug_assert only)
Auto Trait Implementations§
impl Freeze for GainProcessor
impl RefUnwindSafe for GainProcessor
impl Send for GainProcessor
impl Sync for GainProcessor
impl Unpin for GainProcessor
impl UnwindSafe for GainProcessor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more