Trait rubato::VecResampler
source · pub trait VecResampler<T>: Send {
Show 14 methods
// Required methods
fn process(
&mut self,
wave_in: &[Vec<T>],
active_channels_mask: Option<&[bool]>
) -> ResampleResult<Vec<Vec<T>>>;
fn process_into_buffer(
&mut self,
wave_in: &[Vec<T>],
wave_out: &mut [Vec<T>],
active_channels_mask: Option<&[bool]>
) -> ResampleResult<(usize, usize)>;
fn process_partial_into_buffer(
&mut self,
wave_in: Option<&[Vec<T>]>,
wave_out: &mut [Vec<T>],
active_channels_mask: Option<&[bool]>
) -> ResampleResult<(usize, usize)>;
fn process_partial(
&mut self,
wave_in: Option<&[Vec<T>]>,
active_channels_mask: Option<&[bool]>
) -> ResampleResult<Vec<Vec<T>>>;
fn input_buffer_allocate(&self, filled: bool) -> Vec<Vec<T>>;
fn input_frames_max(&self) -> usize;
fn input_frames_next(&self) -> usize;
fn nbr_channels(&self) -> usize;
fn output_buffer_allocate(&self, filled: bool) -> Vec<Vec<T>>;
fn output_frames_max(&self) -> usize;
fn output_frames_next(&self) -> usize;
fn output_delay(&self) -> usize;
fn set_resample_ratio(
&mut self,
new_ratio: f64,
ramp: bool
) -> ResampleResult<()>;
fn set_resample_ratio_relative(
&mut self,
rel_ratio: f64,
ramp: bool
) -> ResampleResult<()>;
}
Expand description
This is an wrapper trait implemented via the implement_resampler macro.
The generic input and output types &[AsRef<[T]>]
and &mut [AsMut<[T]>]
are locked to &[Vec<T>]
and &mut [Vec<T>]
.
Required Methods§
sourcefn process(
&mut self,
wave_in: &[Vec<T>],
active_channels_mask: Option<&[bool]>
) -> ResampleResult<Vec<Vec<T>>>
fn process( &mut self, wave_in: &[Vec<T>], active_channels_mask: Option<&[bool]> ) -> ResampleResult<Vec<Vec<T>>>
Refer to Resampler::process.
sourcefn process_into_buffer(
&mut self,
wave_in: &[Vec<T>],
wave_out: &mut [Vec<T>],
active_channels_mask: Option<&[bool]>
) -> ResampleResult<(usize, usize)>
fn process_into_buffer( &mut self, wave_in: &[Vec<T>], wave_out: &mut [Vec<T>], active_channels_mask: Option<&[bool]> ) -> ResampleResult<(usize, usize)>
Refer to Resampler::process_into_buffer.
sourcefn process_partial_into_buffer(
&mut self,
wave_in: Option<&[Vec<T>]>,
wave_out: &mut [Vec<T>],
active_channels_mask: Option<&[bool]>
) -> ResampleResult<(usize, usize)>
fn process_partial_into_buffer( &mut self, wave_in: Option<&[Vec<T>]>, wave_out: &mut [Vec<T>], active_channels_mask: Option<&[bool]> ) -> ResampleResult<(usize, usize)>
Refer to Resampler::process_partial_into_buffer.
sourcefn process_partial(
&mut self,
wave_in: Option<&[Vec<T>]>,
active_channels_mask: Option<&[bool]>
) -> ResampleResult<Vec<Vec<T>>>
fn process_partial( &mut self, wave_in: Option<&[Vec<T>]>, active_channels_mask: Option<&[bool]> ) -> ResampleResult<Vec<Vec<T>>>
Refer to Resampler::process_partial.
sourcefn input_buffer_allocate(&self, filled: bool) -> Vec<Vec<T>>
fn input_buffer_allocate(&self, filled: bool) -> Vec<Vec<T>>
Refer to Resampler::input_buffer_allocate.
sourcefn input_frames_max(&self) -> usize
fn input_frames_max(&self) -> usize
Refer to Resampler::input_frames_max.
sourcefn input_frames_next(&self) -> usize
fn input_frames_next(&self) -> usize
Refer to Resampler::input_frames_next.
sourcefn nbr_channels(&self) -> usize
fn nbr_channels(&self) -> usize
Refer to Resampler::nbr_channels.
sourcefn output_buffer_allocate(&self, filled: bool) -> Vec<Vec<T>>
fn output_buffer_allocate(&self, filled: bool) -> Vec<Vec<T>>
Refer to Resampler::output_buffer_allocate.
sourcefn output_frames_max(&self) -> usize
fn output_frames_max(&self) -> usize
Refer to Resampler::output_frames_max.
sourcefn output_frames_next(&self) -> usize
fn output_frames_next(&self) -> usize
Refer to Resampler::output_frames_next.
sourcefn output_delay(&self) -> usize
fn output_delay(&self) -> usize
Refer to Resampler::output_delay.
sourcefn set_resample_ratio(
&mut self,
new_ratio: f64,
ramp: bool
) -> ResampleResult<()>
fn set_resample_ratio( &mut self, new_ratio: f64, ramp: bool ) -> ResampleResult<()>
Refer to Resampler::set_resample_ratio.
sourcefn set_resample_ratio_relative(
&mut self,
rel_ratio: f64,
ramp: bool
) -> ResampleResult<()>
fn set_resample_ratio_relative( &mut self, rel_ratio: f64, ramp: bool ) -> ResampleResult<()>
Refer to Resampler::set_resample_ratio_relative.