Skip to main content

SoundBank

Struct SoundBank 

Source
pub struct SoundBank { /* private fields */ }
Expand description

Re-export framework services (HTTP, URI, etc.) from the dedicated services crate. A set of cues loaded once and kept alive for as long as the composable that remembered it stays in the composition.

Indexing is positional, so an app’s cue enum casts straight to an index; SoundBank::find covers the cases where a name is more convenient. The clips are released when the last clone drops.

Implementations§

Source§

impl SoundBank

Source

pub fn load(player: Arc<dyn AudioPlayer>, specs: &[SoundSpec<'_>]) -> SoundBank

Loads every spec through player, collecting the ones that fail rather than aborting the whole bank.

Source

pub fn len(&self) -> usize

How many cues the bank holds, failures included.

Source

pub fn is_empty(&self) -> bool

Whether the bank holds no cues.

Source

pub fn entries(&self) -> &[SoundBankEntry]

The cues, in spec order.

Source

pub fn failures(&self) -> &[SoundBankFailure]

The cues that failed to load.

Source

pub fn player(&self) -> Arc<dyn AudioPlayer> ⓘ

The player the bank loaded through.

Source

pub fn id(&self, index: usize) -> SoundId

The handle at index, or SoundId::NONE when out of range.

Source

pub fn find(&self, name: &str) -> Option<SoundId>

The handle for name, if the bank holds it.

Source

pub fn play(&self, index: usize)

Plays a cue at its own level.

Source

pub fn play_with(&self, index: usize, params: PlaybackParams)

Plays a cue, multiplying params.volume by the cue’s own level. The bus comes from the spec, so a cue cannot escape its bus by accident.

Source

pub fn play_named(&self, name: &str, params: PlaybackParams)

Plays the cue called name, if the bank holds it.

Source

pub fn play_loop(&self, index: usize, params: PlaybackParams) -> VoiceId

Starts a looping voice for a cue.

Source

pub fn stop(&self, index: usize)

Stops every voice of a cue.

Trait Implementations§

Source§

impl Clone for SoundBank

Source§

fn clone(&self) -> SoundBank

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SoundBank

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Index<usize> for SoundBank

Source§

type Output = SoundId

The returned type after indexing.
Source§

fn index(&self, index: usize) -> &SoundId

Performs the indexing (container[index]) operation. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more