[−][src]Struct hrtf::HrtfContext
Contains all input parameters for HRTF signal processing.
Fields
source: &'a [T]
Source of interleaved samples to be processed. HRTF works only with mono sources, so source
must implement InterleavedSamples trait which must provide sample from left channel only.
Source must have interpolation_steps * block_len
length!
output: &'b mut [(f32, f32)]
An output buffer to write processed samples to. It must be stereo buffer, processed samples will be mixed with samples in output buffer.
new_sample_vector: Vec3
New sampling vector. It must be a vector from a sound source position to a listener. If your listener has orientation, then you should transform this vector into a listener space first.
prev_sample_vector: Vec3
Sampling vector from previous frame.
prev_left_samples: &'c mut Vec<f32>
Left channel samples from last frame. It is used for continuous convolution. It must point to unique buffer which associated with a single sound source.
prev_right_samples: &'c mut Vec<f32>
Right channel samples from last frame. It is used for continuous convolution. It must point to unique buffer which associated with a single sound source.
new_distance_gain: f32
New distance gain for given slice. It is used to interpolate gain so output signal will have smooth transition from frame to frame. It is very important for click-free processing.
prev_distance_gain: f32
Distance gain from previous frame. It is used to interpolate gain so output signal will have smooth transition from frame to frame. It is very important for click-free processing.
Auto Trait Implementations
impl<'a, 'b, 'c, T> RefUnwindSafe for HrtfContext<'a, 'b, 'c, T> where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<'a, 'b, 'c, T> Send for HrtfContext<'a, 'b, 'c, T> where
T: Sync,
[src]
T: Sync,
impl<'a, 'b, 'c, T> Sync for HrtfContext<'a, 'b, 'c, T> where
T: Sync,
[src]
T: Sync,
impl<'a, 'b, 'c, T> Unpin for HrtfContext<'a, 'b, 'c, T>
[src]
impl<'a, 'b, 'c, T> !UnwindSafe for HrtfContext<'a, 'b, 'c, T>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,