AudioProcessorImpl

Trait AudioProcessorImpl 

Source
pub trait AudioProcessorImpl<T: FloatType + Float>: Sized {
Show 17 methods // Required methods fn new(sample_rate: f32, buffer_size: usize) -> AudioProcessor<T>; fn set_mix(&mut self, mix: f32); fn get_mix(&self) -> f32; fn use_filter(&mut self, use_filter: bool); fn is_using_filter(&self) -> bool; fn set_low_cut(&mut self, low_cut: f32); fn get_low_cut(&self) -> f32; fn set_high_cut(&mut self, high_cut: f32); fn get_high_cut(&self) -> f32; fn set_sample_rate(&mut self, sample_rate: f32); fn get_sample_rate(&self) -> f32; fn add_effect(&mut self, effect: AudioEffect<T>) -> AudioEffectState; fn remove_effect( &mut self, name: &str, ) -> Result<AudioEffect<T>, AudioEffectState>; fn move_effect(&mut self, from: usize, to: usize); fn get_effect(&self, name: &str) -> Result<AudioEffect<T>, AudioEffectState>; fn connect_analyser(&mut self, anal: Rc<RefCell<AudioAnalyser<T>>>); fn disconnect_analyser(&mut self) -> Option<Rc<RefCell<AudioAnalyser<T>>>>;
}
Expand description

Public API trait for audio processors. This manages a sequence of effects and global processing settings.

Required Methods§

Source

fn new(sample_rate: f32, buffer_size: usize) -> AudioProcessor<T>

Creates a new audio processor with the given sample rate and buffer size.

Source

fn set_mix(&mut self, mix: f32)

Sets the global mix level (clamped between 0.0 and 1.0).

Source

fn get_mix(&self) -> f32

Gets the global mix level.

Source

fn use_filter(&mut self, use_filter: bool)

Enables or disables the global filter.

Source

fn is_using_filter(&self) -> bool

Checks if the global filter is enabled.

Source

fn set_low_cut(&mut self, low_cut: f32)

Sets the low-cut frequency for the global filter (clamped between 10.0 and 22050.0 Hz).

Source

fn get_low_cut(&self) -> f32

Gets the low-cut frequency for the global filter.

Source

fn set_high_cut(&mut self, high_cut: f32)

Sets the high-cut frequency for the global filter (clamped between 10.0 and 22050.0 Hz).

Source

fn get_high_cut(&self) -> f32

Gets the high-cut frequency for the global filter.

Source

fn set_sample_rate(&mut self, sample_rate: f32)

Sets the sample rate for the processor and updates all effects. Clamped between 1000.0 and 192000.0 Hz.

Source

fn get_sample_rate(&self) -> f32

Gets the current sample rate.

Source

fn add_effect(&mut self, effect: AudioEffect<T>) -> AudioEffectState

Adds an effect to the processor. Returns EffectAlreadyExists if an effect with the same name is present.

Source

fn remove_effect( &mut self, name: &str, ) -> Result<AudioEffect<T>, AudioEffectState>

Removes an effect by name. Returns the removed effect or EffectNoEntry if not found.

Source

fn move_effect(&mut self, from: usize, to: usize)

Moves an effect from one position to another in the processing sequence.

Source

fn get_effect(&self, name: &str) -> Result<AudioEffect<T>, AudioEffectState>

Gets a clone of the effect by name. Returns EffectNoEntry if not found.

Source

fn connect_analyser(&mut self, anal: Rc<RefCell<AudioAnalyser<T>>>)

Connects an analyzer to the processor for audio analysis.

Source

fn disconnect_analyser(&mut self) -> Option<Rc<RefCell<AudioAnalyser<T>>>>

Disconnects and returns the connected analyzer, if any.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T: FloatType + Float> AudioProcessorImpl<T> for AudioProcessor<T>