pub struct InterleavedAudioBuffer<'a, SampleType> { /* private fields */ }
Expand description
An AudioBuffer that stores samples as interleaved frames, used for [cpal
] compatibility.
Example layout:
[ 0, 0, // <- left_sample, right_sample, …, ]
Implementations
sourceimpl<'a, SampleType> InterleavedAudioBuffer<'a, SampleType>
impl<'a, SampleType> InterleavedAudioBuffer<'a, SampleType>
pub fn new(num_channels: usize, inner: &'a mut [SampleType]) -> Self
Trait Implementations
sourceimpl<'a, SampleType> AudioBuffer for InterleavedAudioBuffer<'a, SampleType>
impl<'a, SampleType> AudioBuffer for InterleavedAudioBuffer<'a, SampleType>
type SampleType = SampleType
type SampleType = SampleType
The type of samples within this buffer.
sourcefn num_channels(&self) -> usize
fn num_channels(&self) -> usize
The number of channels in this buffer
sourcefn num_samples(&self) -> usize
fn num_samples(&self) -> usize
The number of samples in this buffer
sourcefn slice(&self) -> &[Self::SampleType]
fn slice(&self) -> &[Self::SampleType]
Get a slice to the internal data. Will not work with VST adapter Read more
sourcefn slice_mut(&mut self) -> &mut [Self::SampleType]
fn slice_mut(&mut self) -> &mut [Self::SampleType]
Get a mutable slice to the internal data. Will not work with VST adapter Read more
sourcefn get(&self, channel: usize, sample: usize) -> &SampleType
fn get(&self, channel: usize, sample: usize) -> &SampleType
Get a ref to an INPUT sample in this buffer. Read more
sourcefn get_mut(&mut self, channel: usize, sample: usize) -> &mut SampleType
fn get_mut(&mut self, channel: usize, sample: usize) -> &mut SampleType
Get a mutable ref to an OUTPUT sample in this buffer Read more
sourcefn set(&mut self, channel: usize, sample: usize, value: SampleType)
fn set(&mut self, channel: usize, sample: usize, value: SampleType)
Set an OUTPUT sample in this buffer
sourcefn frames(&self) -> Chunks<'_, Self::SampleType>
fn frames(&self) -> Chunks<'_, Self::SampleType>
Shortcut for .slice().chunks(num_channels)
sourcefn frames_mut(&mut self) -> ChunksMut<'_, Self::SampleType>
fn frames_mut(&mut self) -> ChunksMut<'_, Self::SampleType>
Shortcut for .slice_mut().chunks_mut(num_channels)
Read more
sourceunsafe fn get_unchecked(
&self,
channel: usize,
sample: usize
) -> &Self::SampleType
unsafe fn get_unchecked(
&self,
channel: usize,
sample: usize
) -> &Self::SampleType
Unsafe, no bounds check - Get a ref to an INPUT sample in this buffer Read more
sourceunsafe fn get_unchecked_mut(
&mut self,
channel: usize,
sample: usize
) -> &mut Self::SampleType
unsafe fn get_unchecked_mut(
&mut self,
channel: usize,
sample: usize
) -> &mut Self::SampleType
Unsafe, no bounds check - Get a mutable ref to an OUTPUT sample in this buffer Read more
sourceunsafe fn set_unchecked(
&mut self,
channel: usize,
sample: usize,
value: Self::SampleType
)
unsafe fn set_unchecked(
&mut self,
channel: usize,
sample: usize,
value: Self::SampleType
)
Unsafe, no bounds check - Set an OUTPUT sample in this buffer Read more
Auto Trait Implementations
impl<'a, SampleType> RefUnwindSafe for InterleavedAudioBuffer<'a, SampleType> where
SampleType: RefUnwindSafe,
impl<'a, SampleType> Send for InterleavedAudioBuffer<'a, SampleType> where
SampleType: Send,
impl<'a, SampleType> Sync for InterleavedAudioBuffer<'a, SampleType> where
SampleType: Sync,
impl<'a, SampleType> Unpin for InterleavedAudioBuffer<'a, SampleType>
impl<'a, SampleType> !UnwindSafe for InterleavedAudioBuffer<'a, SampleType>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more