Struct MainTrackBuilder
pub struct MainTrackBuilder { /* private fields */ }
dep_kira
only.Expand description
Configures the main mixer track.
Implementations§
§impl MainTrackBuilder
impl MainTrackBuilder
pub fn new() -> MainTrackBuilder
pub fn new() -> MainTrackBuilder
Creates a new MainTrackBuilder
with the default settings.
pub fn volume(self, volume: impl Into<Value<Decibels>>) -> MainTrackBuilder
pub fn volume(self, volume: impl Into<Value<Decibels>>) -> MainTrackBuilder
Sets the volume of the main mixer track.
pub fn sound_capacity(self, capacity: usize) -> MainTrackBuilder
pub fn sound_capacity(self, capacity: usize) -> MainTrackBuilder
Sets the maximum number of sounds that can be played simultaneously on this track.
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 track.
§Examples
use kira::{track::MainTrackBuilder, effect::delay::DelayBuilder};
let mut builder = MainTrackBuilder::new();
let delay_handle = builder.add_effect(DelayBuilder::new());
pub fn with_effect<B>(self, builder: B) -> MainTrackBuilderwhere
B: EffectBuilder,
pub fn with_effect<B>(self, builder: B) -> MainTrackBuilderwhere
B: EffectBuilder,
Adds an effect to the track and returns the MainTrackBuilder
.
If you need to modify the effect later, use add_effect
,
which returns the effect handle.
§Examples
use kira::{
track::MainTrackBuilder,
effect::{filter::FilterBuilder, reverb::ReverbBuilder},
};
let mut builder = MainTrackBuilder::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::MainTrackBuilder;
use kira::effect::{EffectBuilder, delay::DelayBuilder};
let mut builder = MainTrackBuilder::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>) -> MainTrackBuilder
pub fn with_built_effect(self, effect: Box<dyn Effect>) -> MainTrackBuilder
Add an already-built effect and return the MainTrackBuilder
.
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::MainTrackBuilder,
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 = MainTrackBuilder::new()
.with_built_effect(filter_effect)
.with_built_effect(reverb_effect);
Trait Implementations§
§impl Default for MainTrackBuilder
impl Default for MainTrackBuilder
§fn default() -> MainTrackBuilder
fn default() -> MainTrackBuilder
Auto Trait Implementations§
impl Freeze for MainTrackBuilder
impl !RefUnwindSafe for MainTrackBuilder
impl Send for MainTrackBuilder
impl !Sync for MainTrackBuilder
impl Unpin for MainTrackBuilder
impl !UnwindSafe for MainTrackBuilder
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.