pub struct AudioSettings {
pub crossfade_duration: f32,
pub gapless_playback: bool,
pub normalize_volume: bool,
pub volume_level: VolumeLevel,
pub equalizer_enabled: bool,
pub equalizer_bands: Vec<f32>,
}Expand description
Audio playback settings
Fields§
§crossfade_duration: f32Crossfade duration in seconds (0 = disabled, max 12)
gapless_playback: boolEnable gapless playback between tracks
normalize_volume: boolEnable volume normalization
volume_level: VolumeLevelTarget volume level for normalization
equalizer_enabled: boolEnable the graphic equalizer. When false, no EQ filter is applied.
equalizer_bands: Vec<f32>Per-band gains in dB, one per EQ_BANDS. Normalised to 10 entries and
clamped to [EQ_GAIN_MIN, EQ_GAIN_MAX] via Self::with_equalizer_normalised.
Implementations§
Source§impl AudioSettings
impl AudioSettings
Sourcepub fn with_crossfade_clamped(self) -> Self
pub fn with_crossfade_clamped(self) -> Self
Clamp crossfade duration to valid range (0-12 seconds)
Sourcepub fn with_equalizer_normalised(self) -> Self
pub fn with_equalizer_normalised(self) -> Self
Normalise the equalizer band vector to exactly EQ_BANDS.len()
entries (pad with 0 dB / truncate) and clamp each gain to the valid
range. Guards against malformed persisted or IPC input.
TRACES: UR-027 | DR-030
Trait Implementations§
Source§impl Clone for AudioSettings
impl Clone for AudioSettings
Source§fn clone(&self) -> AudioSettings
fn clone(&self) -> AudioSettings
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AudioSettings
impl Debug for AudioSettings
Source§impl Default for AudioSettings
impl Default for AudioSettings
Source§impl<'de> Deserialize<'de> for AudioSettings
impl<'de> Deserialize<'de> for AudioSettings
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl NamedType for AudioSettings
impl NamedType for AudioSettings
fn sid() -> SpectaID
Source§fn named_data_type(
type_map: &mut TypeCollection,
generics: &[DataType],
) -> NamedDataType
fn named_data_type( type_map: &mut TypeCollection, generics: &[DataType], ) -> NamedDataType
this is equivalent to [Type::inline] but returns a [NamedDataType] instead.
Source§fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
this is equivalent to [Type::definition] but returns a [NamedDataType] instead.
Source§impl Serialize for AudioSettings
impl Serialize for AudioSettings
Source§impl Type for AudioSettings
impl Type for AudioSettings
Source§fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
Returns the definition of a type using the provided generics. Read more
Source§fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
Generates a datatype corresponding to a reference to this type,
as determined by its category. Getting a reference to a type implies that
it should belong in the type map (since it has to be referenced from somewhere),
so the output of
definition will be put into the type map.impl Flatten for AudioSettings
Auto Trait Implementations§
impl Freeze for AudioSettings
impl RefUnwindSafe for AudioSettings
impl Send for AudioSettings
impl Sync for AudioSettings
impl Unpin for AudioSettings
impl UnsafeUnpin for AudioSettings
impl UnwindSafe for AudioSettings
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
§fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
§impl<T> FunctionArg for Twhere
T: Type,
impl<T> FunctionArg for Twhere
T: Type,
§fn to_datatype(type_map: &mut TypeCollection) -> Option<DataType>
fn to_datatype(type_map: &mut TypeCollection) -> Option<DataType>
Gets the type of an argument as a [
DataType]. Read more§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>
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.