Trait bevy_audio::Sample
source · pub trait Sample: Sample {
// Required methods
fn lerp(first: Self, second: Self, numerator: u32, denominator: u32) -> Self;
fn amplify(self, value: f32) -> Self;
fn saturating_add(self, other: Self) -> Self;
fn zero_value() -> Self;
}Expand description
Represents a value of a single sample.
This trait is implemented by default on three types: i16, u16 and f32.
- For
i16, silence corresponds to the value0. The minimum and maximum amplitudes are represented byi16::min_value()andi16::max_value()respectively. - For
u16, silence corresponds to the valueu16::max_value() / 2. The minimum and maximum amplitudes are represented by0andu16::max_value()respectively. - For
f32, silence corresponds to the value0.0. The minimum and maximum amplitudes are represented by-1.0and1.0respectively.
You can implement this trait on your own type as well if you wish so.
Required Methods§
sourcefn lerp(first: Self, second: Self, numerator: u32, denominator: u32) -> Self
fn lerp(first: Self, second: Self, numerator: u32, denominator: u32) -> Self
Linear interpolation between two samples.
The result should be equal to
first * numerator / denominator + second * (1 - numerator / denominator).
sourcefn saturating_add(self, other: Self) -> Self
fn saturating_add(self, other: Self) -> Self
Calls saturating_add on the sample.
sourcefn zero_value() -> Self
fn zero_value() -> Self
Returns the value corresponding to the absence of sound.
Object Safety§
This trait is not object safe.