pub fn new(hrir_sphere: HrirSphere, interpolation_steps: usize, block_len: usize) -> Self {
        let hrtf_sphere = HrtfSphere::new(hrir_sphere, block_len);

        let pad_length = get_pad_len(hrtf_sphere.length, block_len);

        // Acquire default HRTFs for left and right channels.
        let pt = hrtf_sphere.points.first().unwrap();
        let left_hrtf = pt.left_hrtf.clone();
        let right_hrtf = pt.right_hrtf.clone();

        Self {
            hrtf_sphere,
            left_in_buffer: vec![Complex::zero(); pad_length],
            right_in_buffer: vec![Complex::zero(); pad_length],
            left_out_buffer: vec![Complex::zero(); pad_length],
            right_out_buffer: vec![Complex::zero(); pad_length],
            fft: FFTplanner::new(false),
            ifft: FFTplanner::new(true),
            left_hrtf,
            right_hrtf,
            block_len,
            interpolation_steps,
        }
    }
/// Creates new HRTF processor using specified HRTF sphere. See module docs for more info.
///
/// `interpolation_steps` is the amount of slices to cut source to.
/// `block_len` is the length of each slice.
Creates new HRTF processor using specified HRTF sphere. See module docs for more info.
`interpolation_steps` is the amount of slices to cut source to.
`block_len` is the length of each slice.
Creates new HRTF processor using specified HRTF sphere . See module docs for more info . ` interpolation_steps ` is the amount of slices to cut source to . ` block_len ` is the length of each slice .
pub fn new(hrir_sphere: HrirSphere, interpolation_steps: usize, block_len: usize) -> Self {
        let hrtf_sphere = HrtfSphere::new(hrir_sphere, block_len);
        let pad_length = get_pad_len(hrtf_sphere.length, block_len);
        // Acquire default HRTFs for left and right channels.
        let pt = hrtf_sphere.points.first().unwrap();
        let left_hrtf = pt.left_hrtf.clone();
        let right_hrtf = pt.right_hrtf.clone();
        Self {
            hrtf_sphere,
            left_in_buffer: vec![Complex::zero(); pad_length],
            right_in_buffer: vec![Complex::zero(); pad_length],
            left_out_buffer: vec![Complex::zero(); pad_length],
            right_out_buffer: vec![Complex::zero(); pad_length],
            fft: FFTplanner::new(false),
            ifft: FFTplanner::new(true),
            left_hrtf,
            right_hrtf,
            block_len,
            interpolation_steps,
        }
    }
pub fn new ( hrir_sphere : HrirSphere , interpolation_steps : usize , block_len : usize ) -> Self { let hrtf_sphere = HrtfSphere :: new ( hrir_sphere , block_len ) ; let pad_length = get_pad_len ( hrtf_sphere . length , block_len ) ; // Acquire default HRTFs for left and right channels. let pt = hrtf_sphere . points . first ( ) . unwrap ( ) ; let left_hrtf = pt . left_hrtf . clone ( ) ; let right_hrtf = pt . right_hrtf . clone ( ) ; Self { hrtf_sphere , left_in_buffer : vec ! [ Complex zero ( ) pad_length ] , right_in_buffer : vec ! [ Complex zero ( ) pad_length ] , left_out_buffer : vec ! [ Complex zero ( ) pad_length ] , right_out_buffer : vec ! [ Complex zero ( ) pad_length ] , fft : FFTplanner :: new ( false ) , ifft : FFTplanner :: new ( true ) , left_hrtf , right_hrtf , block_len , interpolation_steps , } }
Creates new HRTF processor using specified HRTF sphere.
Creates new HRTF processor using specified HRTF sphere .
hrir_sphere
HrirSphere
interpolation_steps
usize
block_len
usize
hrir_sphere
HrirSphere
interpolation_steps
usize
block_len
usize