[−][src]Trait sample::frame::Frame
Represents one sample from each channel at a single discrete instance in time within a PCM signal.
We provide implementations for Frame
for all fixed-size arrays up to a length of 32 elements.
Associated Types
type Sample: Sample
The type of PCM sample stored at each channel within the frame.
type NumChannels: NumChannels
A typified version of a number of channels in the Frame
, used for safely mapping frames
of the same length to other Frame
s, perhaps with a different Sample
associated type.
type Channels: Iterator<Item = Self::Sample>
An iterator yielding the sample in each channel, starting from left (channel 0) and ending at the right (channel NumChannels-1).
type Signed: Frame<Sample = <Self::Sample as Sample>::Signed, NumChannels = Self::NumChannels>
A frame type with equilavent number of channels using the associated Sample::Signed
format.
type Float: Frame<Sample = <Self::Sample as Sample>::Float, NumChannels = Self::NumChannels>
A frame type with equilavent number of channels using the associated Sample::Float
format.
Required methods
fn equilibrium() -> Self
The equilibrium value for the wave that this Sample
type represents. This is normally the
value that is equal distance from both the min and max ranges of the sample.
NOTE: This will likely be changed to an "associated const" if the feature lands.
Examples
extern crate sample; use sample::Frame; use sample::frame::{Mono, Stereo}; fn main() { assert_eq!(Mono::<f32>::equilibrium(), [0.0]); assert_eq!(Stereo::<f32>::equilibrium(), [0.0, 0.0]); assert_eq!(<[f32; 3]>::equilibrium(), [0.0, 0.0, 0.0]); assert_eq!(<[u8; 2]>::equilibrium(), [128u8, 128]); }
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> Self::Sample,
F: FnMut(usize) -> Self::Sample,
Create a new Frame
where the Sample
for each channel is produced by the given function.
The given function should map each channel index to its respective sample.
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
I: Iterator<Item = Self::Sample>,
Create a new Frame
from a borrowed Iterator
yielding samples for each channel.
Returns None
if the given Iterator
does not yield enough Sample
s.
This is necessary for the signal::FromSamples
Iterator
, that converts some Iterator
yielding Sample
s to an Iterator
yielding Frame
s.
fn n_channels() -> usize
The total number of channels (and in turn samples) stored within the frame.
fn channels(self) -> Self::Channels
Converts the frame into an iterator yielding the sample for each channel in the frame.
fn channel(&self, idx: usize) -> Option<&Self::Sample>
Yields a reference to the Sample
of the channel at the given index if there is one.
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
Returns a pointer to the sample of the channel at the given index, without doing bounds checking.
Note: This is primarily a necessity for efficient Frame::map
and Frame::zip_map
methods, as for those methods we can guarantee lengths of different Frame
s to be the same
at compile-time.
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
Applies the given function to each sample in the Frame
in channel order and returns the
result as a new Frame
.
Example
extern crate sample; use sample::{Frame, Sample}; fn main() { let foo = [0i16, 0]; let bar: [u8; 2] = foo.map(Sample::to_sample); assert_eq!(bar, [128u8, 128]); }
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
Calls the given function with the pair of elements at every index and returns the resulting Frame.
On a Vec
this would be akin to .into_iter().zip(other).map(|(a, b)| ...).collect()
, though
much quicker and tailored to fixed-size arrays of samples.
fn to_signed_frame(self) -> Self::Signed
Converts the frame type to the equivalent signal in its associated Float
ing point format.
Example
extern crate sample; use sample::Frame; fn main() { let foo = [128u8; 2]; let signed = foo.to_signed_frame(); assert_eq!(signed, [0i8; 2]); }
fn to_float_frame(self) -> Self::Float
Converts the frame type to the equivalent signal in its associated Signed
format.
Example
extern crate sample; use sample::Frame; fn main() { let foo = [128u8; 2]; let float = foo.to_float_frame(); assert_eq!(float, [0.0; 2]); }
Provided methods
fn offset_amp(self, offset: <Self::Sample as Sample>::Signed) -> Self
Offsets the amplitude of every channel in the frame by the given offset
and yields the
resulting frame.
Example
extern crate sample; use sample::Frame; fn main() { assert_eq!([0.25, -0.5].offset_amp(0.5), [0.75, 0.0]); assert_eq!([0.5, -0.25].offset_amp(-0.25), [0.25, -0.5]); assert_eq!([128u8, 192].offset_amp(-64), [64, 128]); }
fn scale_amp(self, amp: <Self::Sample as Sample>::Float) -> Self
Multiplies each Sample
in the Frame
by the given amplitude and returns the resulting
Frame
.
- A > 1.0 amplifies the sample.
- A < 1.0 attenuates the sample.
- A == 1.0 yields the same sample.
- A == 0.0 yields the
Sample::equilibrium
.
Example
extern crate sample; use sample::Frame; fn main() { assert_eq!([0.1, 0.2, -0.1, -0.2].scale_amp(2.0), [0.2, 0.4, -0.2, -0.4]); }
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = <Self::Sample as Sample>::Signed, NumChannels = Self::NumChannels>,
F: Frame<Sample = <Self::Sample as Sample>::Signed, NumChannels = Self::NumChannels>,
Sums each channel in other
with each channel in self
and returns the resulting Frame
.
Example
extern crate sample; use sample::Frame; fn main() { let foo = [0.25, 0.5].add_amp([-0.75, 0.25]); assert_eq!(foo, [-0.5, 0.75]); }
fn mul_amp<F>(self, other: F) -> Self where
F: Frame<Sample = <Self::Sample as Sample>::Float, NumChannels = Self::NumChannels>,
F: Frame<Sample = <Self::Sample as Sample>::Float, NumChannels = Self::NumChannels>,
Multiplies other
with self
and returns the resulting Frame
.
Example
extern crate sample; use sample::Frame; fn main() { let foo = [0.25, 0.4].mul_amp([0.2, 0.5]); assert_eq!(foo, [0.05, 0.2]); let bar = [192u8, 64].mul_amp([0.0, -2.0]); assert_eq!(bar, [128, 0]); }
Implementations on Foreign Types
impl<S> Frame for [S; 1] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N1
type Channels = Channels<Self>
type Float = [S::Float; 1]
type Signed = [S::Signed; 1]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N1>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N1>,
impl<S> Frame for [S; 2] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N2
type Channels = Channels<Self>
type Float = [S::Float; 2]
type Signed = [S::Signed; 2]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N2>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N2>,
impl<S> Frame for [S; 3] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N3
type Channels = Channels<Self>
type Float = [S::Float; 3]
type Signed = [S::Signed; 3]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N3>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N3>,
impl<S> Frame for [S; 4] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N4
type Channels = Channels<Self>
type Float = [S::Float; 4]
type Signed = [S::Signed; 4]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N4>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N4>,
impl<S> Frame for [S; 5] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N5
type Channels = Channels<Self>
type Float = [S::Float; 5]
type Signed = [S::Signed; 5]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N5>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N5>,
impl<S> Frame for [S; 6] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N6
type Channels = Channels<Self>
type Float = [S::Float; 6]
type Signed = [S::Signed; 6]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N6>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N6>,
impl<S> Frame for [S; 7] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N7
type Channels = Channels<Self>
type Float = [S::Float; 7]
type Signed = [S::Signed; 7]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N7>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N7>,
impl<S> Frame for [S; 8] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N8
type Channels = Channels<Self>
type Float = [S::Float; 8]
type Signed = [S::Signed; 8]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N8>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N8>,
impl<S> Frame for [S; 9] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N9
type Channels = Channels<Self>
type Float = [S::Float; 9]
type Signed = [S::Signed; 9]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N9>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N9>,
impl<S> Frame for [S; 10] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N10
type Channels = Channels<Self>
type Float = [S::Float; 10]
type Signed = [S::Signed; 10]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N10>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N10>,
impl<S> Frame for [S; 11] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N11
type Channels = Channels<Self>
type Float = [S::Float; 11]
type Signed = [S::Signed; 11]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N11>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N11>,
impl<S> Frame for [S; 12] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N12
type Channels = Channels<Self>
type Float = [S::Float; 12]
type Signed = [S::Signed; 12]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N12>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N12>,
impl<S> Frame for [S; 13] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N13
type Channels = Channels<Self>
type Float = [S::Float; 13]
type Signed = [S::Signed; 13]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N13>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N13>,
impl<S> Frame for [S; 14] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N14
type Channels = Channels<Self>
type Float = [S::Float; 14]
type Signed = [S::Signed; 14]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N14>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N14>,
impl<S> Frame for [S; 15] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N15
type Channels = Channels<Self>
type Float = [S::Float; 15]
type Signed = [S::Signed; 15]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N15>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N15>,
impl<S> Frame for [S; 16] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N16
type Channels = Channels<Self>
type Float = [S::Float; 16]
type Signed = [S::Signed; 16]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N16>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N16>,
impl<S> Frame for [S; 17] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N17
type Channels = Channels<Self>
type Float = [S::Float; 17]
type Signed = [S::Signed; 17]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N17>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N17>,
impl<S> Frame for [S; 18] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N18
type Channels = Channels<Self>
type Float = [S::Float; 18]
type Signed = [S::Signed; 18]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N18>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N18>,
impl<S> Frame for [S; 19] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N19
type Channels = Channels<Self>
type Float = [S::Float; 19]
type Signed = [S::Signed; 19]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N19>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N19>,
impl<S> Frame for [S; 20] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N20
type Channels = Channels<Self>
type Float = [S::Float; 20]
type Signed = [S::Signed; 20]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N20>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N20>,
impl<S> Frame for [S; 21] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N21
type Channels = Channels<Self>
type Float = [S::Float; 21]
type Signed = [S::Signed; 21]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N21>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N21>,
impl<S> Frame for [S; 22] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N22
type Channels = Channels<Self>
type Float = [S::Float; 22]
type Signed = [S::Signed; 22]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N22>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N22>,
impl<S> Frame for [S; 23] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N23
type Channels = Channels<Self>
type Float = [S::Float; 23]
type Signed = [S::Signed; 23]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N23>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N23>,
impl<S> Frame for [S; 24] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N24
type Channels = Channels<Self>
type Float = [S::Float; 24]
type Signed = [S::Signed; 24]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N24>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N24>,
impl<S> Frame for [S; 25] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N25
type Channels = Channels<Self>
type Float = [S::Float; 25]
type Signed = [S::Signed; 25]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N25>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N25>,
impl<S> Frame for [S; 26] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N26
type Channels = Channels<Self>
type Float = [S::Float; 26]
type Signed = [S::Signed; 26]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N26>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N26>,
impl<S> Frame for [S; 27] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N27
type Channels = Channels<Self>
type Float = [S::Float; 27]
type Signed = [S::Signed; 27]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N27>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N27>,
impl<S> Frame for [S; 28] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N28
type Channels = Channels<Self>
type Float = [S::Float; 28]
type Signed = [S::Signed; 28]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N28>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N28>,
impl<S> Frame for [S; 29] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N29
type Channels = Channels<Self>
type Float = [S::Float; 29]
type Signed = [S::Signed; 29]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N29>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N29>,
impl<S> Frame for [S; 30] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N30
type Channels = Channels<Self>
type Float = [S::Float; 30]
type Signed = [S::Signed; 30]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N30>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N30>,
impl<S> Frame for [S; 31] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N31
type Channels = Channels<Self>
type Float = [S::Float; 31]
type Signed = [S::Signed; 31]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N31>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N31>,
impl<S> Frame for [S; 32] where
S: Sample,
[src]
S: Sample,
type Sample = S
type NumChannels = N32
type Channels = Channels<Self>
type Float = [S::Float; 32]
type Signed = [S::Signed; 32]
fn equilibrium() -> Self
[src]
fn n_channels() -> usize
[src]
fn channels(self) -> Self::Channels
[src]
fn channel(&self, idx: usize) -> Option<&Self::Sample>
[src]
fn from_fn<F>(from: F) -> Self where
F: FnMut(usize) -> S,
[src]
F: FnMut(usize) -> S,
fn from_samples<I>(samples: &mut I) -> Option<Self> where
I: Iterator<Item = Self::Sample>,
[src]
I: Iterator<Item = Self::Sample>,
unsafe fn channel_unchecked(&self, idx: usize) -> &Self::Sample
[src]
fn to_signed_frame(self) -> Self::Signed
[src]
fn to_float_frame(self) -> Self::Float
[src]
fn map<F, M>(self, map: M) -> F where
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
[src]
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample) -> F::Sample,
fn zip_map<O, F, M>(self, other: O, zip_map: M) -> F where
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
[src]
O: Frame<NumChannels = Self::NumChannels>,
F: Frame<NumChannels = Self::NumChannels>,
M: FnMut(Self::Sample, O::Sample) -> F::Sample,
fn scale_amp(self, amp: S::Float) -> Self
[src]
fn add_amp<F>(self, other: F) -> Self where
F: Frame<Sample = S::Signed, NumChannels = N32>,
[src]
F: Frame<Sample = S::Signed, NumChannels = N32>,