Skip to main content

SoundRequest

Enum SoundRequest 

Source
#[non_exhaustive]
pub enum SoundRequest { Sound { cue: String, volume: f32, },
#[non_exhaustive]
Start { id: SoundId, cue: String, volume: f32, }, Stop { id: SoundId, }, Volume { id: SoundId, volume: f32, }, PauseSounds, ResumeSounds, Voice { clip: String, }, StopVoice, PreloadVoices { clips: Vec<String>, },
#[non_exhaustive]
Add { cue: String, samples: SharedSamples, }, Remove { cue: String, }, }
Expand description

A sound or voice request as the device gets it: a screen’s AudioRequest with each voice clip named by its file in the game’s voice folder (clip_file). The music’s requests are already MusicCommands.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Sound

Play a sound cue once, at volume (0–1) times the cue’s own volume.

Fields

§cue: String

The sound cue.

§volume: f32

A multiplier on the cue’s volume, 0–1.

§

#[non_exhaustive]
Start

Play a sound cue until Stop of its id: looped if the cue says so, else once. Build it with SoundRequest::start (ADR-0039).

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§id: SoundId

Its handle.

§cue: String

The sound cue.

§volume: f32

A multiplier on the cue’s volume, 0–1.

§

Stop

Stop the sound started as id, at once: that one playback, not the cue’s others.

Fields

§id: SoundId

Its handle.

§

Volume

Set the volume of the sound started as id.

Fields

§id: SoundId

Its handle.

§volume: f32

The new multiplier on the cue’s volume, 0–1.

§

PauseSounds

Pause every sound started with a handle that is playing now; one started after it plays. Sound cues played once, the music and the voice go on. A sound paused keeps the volume it is given and sounds at it when it resumes; one stopped while paused is gone.

§

ResumeSounds

Resume the sounds PauseSounds paused.

§

Voice

Say a line: play its clip once, stopping the voice that is playing.

Fields

§clip: String

The clip’s file in the voice folder.

§

StopVoice

Stop the voice that is playing, if any.

§

PreloadVoices

The clips a scene will ask for, in order, so the device can load the next few ahead. Replaces the list sent before.

Fields

§clips: Vec<String>

Their files, in the order they are expected.

§

#[non_exhaustive]
Add

Make samples the sound cue cue, which the manifest doesn’t have: Sound and Start of it play it at its own volume, full, once. A cue added before is replaced. Build it with SoundRequest::add (ADR-0039). A record of it holds the samples’ rate, channels and frames, not the samples.

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§cue: String

The sound cue.

§samples: SharedSamples

Its samples.

§

Remove

Forget the sound cue cue that Add made, stopping what plays it.

Fields

§cue: String

The sound cue.

Implementations§

Source§

impl SoundRequest

Source

pub fn start(id: SoundId, cue: impl Into<String>, volume: f32) -> Self

A Start of cue as id at volume.

Source

pub fn add(cue: impl Into<String>, samples: SharedSamples) -> Self

An Add of samples as cue.

Source

pub fn from_request<V: ClipVariant>(request: &AudioRequest<V>) -> Option<Self>

request as the device gets it; None for a music request, which the frame’s music commands already say.

Trait Implementations§

Source§

impl Clone for SoundRequest

Source§

fn clone(&self) -> SoundRequest

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 SoundRequest

Source§

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

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

impl PartialEq for SoundRequest

Source§

fn eq(&self, other: &SoundRequest) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for SoundRequest

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for SoundRequest

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<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> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.