Struct SendTrackBuilder
pub struct SendTrackBuilder { /* private fields */ }
dep_kira
only.Expand description
Configures a mixer track.
Implementations§
§impl SendTrackBuilder
impl SendTrackBuilder
pub fn new() -> SendTrackBuilder
pub fn new() -> SendTrackBuilder
Creates a new SendTrackBuilder
with the default settings.
pub fn volume(self, volume: impl Into<Value<Decibels>>) -> SendTrackBuilder
pub fn volume(self, volume: impl Into<Value<Decibels>>) -> SendTrackBuilder
Sets the volume of the send track.
§Examples
Set the volume to a fixed decibel value:
let builder = SendTrackBuilder::new().volume(-6.0);
Link the volume to a modulator:
use kira::{
AudioManager, AudioManagerSettings, DefaultBackend,
modulator::tweener::TweenerBuilder,
track::SendTrackBuilder,
Easing, Value, Mapping,
Decibels,
};
let mut manager = AudioManager::<DefaultBackend>::new(AudioManagerSettings::default())?;
let tweener = manager.add_modulator(TweenerBuilder {
initial_value: 0.5,
})?;
let builder = SendTrackBuilder::new().volume(Value::FromModulator {
id: tweener.id(),
mapping: Mapping {
input_range: (0.0, 1.0),
output_range: (Decibels::SILENCE, Decibels::IDENTITY),
easing: Easing::Linear,
},
});
pub fn add_effect<B>(&mut self, builder: B) -> <B as EffectBuilder>::Handlewhere
B: EffectBuilder,
pub fn add_effect<B>(&mut self, builder: B) -> <B as EffectBuilder>::Handlewhere
B: EffectBuilder,
Adds an effect to the send track.
§Examples
use kira::{track::SendTrackBuilder, effect::delay::DelayBuilder};
let mut builder = SendTrackBuilder::new();
let delay_handle = builder.add_effect(DelayBuilder::new());
pub fn with_effect<B>(self, builder: B) -> SendTrackBuilderwhere
B: EffectBuilder,
pub fn with_effect<B>(self, builder: B) -> SendTrackBuilderwhere
B: EffectBuilder,
Adds an effect to the send track and returns the SendTrackBuilder
.
If you need to modify the effect later, use add_effect
,
which returns the effect handle.
§Examples
use kira::{
track::SendTrackBuilder,
effect::{filter::FilterBuilder, reverb::ReverbBuilder},
};
let mut builder = SendTrackBuilder::new()
.with_effect(FilterBuilder::new())
.with_effect(ReverbBuilder::new());
pub fn add_built_effect(&mut self, effect: Box<dyn Effect>)
pub fn add_built_effect(&mut self, effect: Box<dyn Effect>)
Adds an already built effect into this track.
Box<dyn Effect>
values are created when calling build
on an effect builder, which gives you
an effect handle, as well as this boxed effect, which is the actual audio effect.
This is a lower-level method than Self::add_effect
, and you should probably use it rather
than this method, unless you have a reason to.
§Examples
use kira::track::SendTrackBuilder;
use kira::effect::{EffectBuilder, delay::DelayBuilder};
let mut builder = SendTrackBuilder::new();
let delay_builder = DelayBuilder::new();
let (effect, delay_handle) = delay_builder.build();
let delay_handle = builder.add_built_effect(effect);
pub fn with_built_effect(self, effect: Box<dyn Effect>) -> SendTrackBuilder
pub fn with_built_effect(self, effect: Box<dyn Effect>) -> SendTrackBuilder
Add an already-built effect and return the SendTrackBuilder
.
Box<dyn Effect>
values are created when calling build
on an effect builder, which gives you
an effect handle, as well as this boxed effect, which is the actual audio effect.
This is a lower-level method than Self::with_effect
, and you should probably use it rather
than this method, unless you have a reason to.
§Examples
use kira::{
track::SendTrackBuilder,
effect::{filter::FilterBuilder, reverb::ReverbBuilder, EffectBuilder},
};
let (filter_effect, filter_handle) = FilterBuilder::new().build();
let (reverb_effect, reverb_handle) = ReverbBuilder::new().build();
let mut builder = SendTrackBuilder::new()
.with_built_effect(filter_effect)
.with_built_effect(reverb_effect);
Trait Implementations§
§impl Default for SendTrackBuilder
impl Default for SendTrackBuilder
§fn default() -> SendTrackBuilder
fn default() -> SendTrackBuilder
Auto Trait Implementations§
impl Freeze for SendTrackBuilder
impl !RefUnwindSafe for SendTrackBuilder
impl Send for SendTrackBuilder
impl !Sync for SendTrackBuilder
impl Unpin for SendTrackBuilder
impl !UnwindSafe for SendTrackBuilder
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize ⓘ
fn byte_align(&self) -> usize ⓘ
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of_val(&self) -> usize ⓘ
fn mem_align_of_val(&self) -> usize ⓘ
Source§fn mem_size_of_val(&self) -> usize ⓘ
fn mem_size_of_val(&self) -> usize ⓘ
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.