pub struct DynamicsBandState {Show 14 fields
pub id: Option<u64>,
pub min_frequency: Option<u32>,
pub max_frequency: Option<u32>,
pub threshold_db: Option<f32>,
pub threshold_type: Option<ThresholdType>,
pub ratio: Option<f32>,
pub knee_width_db: Option<f32>,
pub attack: Option<i64>,
pub release: Option<i64>,
pub output_gain_db: Option<f32>,
pub input_gain_db: Option<f32>,
pub level_type: Option<LevelType>,
pub lookahead: Option<i64>,
pub linked_channels: Option<bool>,
/* private fields */
}
Expand description
State for a single band within an Element
with type
equal to DYNAMICS
.
Servers may include control band fields even if the values are not able to be changed by the
client (i.e. the bits are not set in supported_controls
).
Fields§
§id: Option<u64>
Unique ID for the band. Must match one of the id
s specified in
Dynamics
bands
.
min_frequency: Option<u32>
Minimum frequency for the band in Hz. This field could be 0, for instance for single band dynamics processing to specify (together with max_frequency) that the band is full range.
max_frequency: Option<u32>
Maximum frequency for the band in Hz. This field could be the Nyquist frequency, for instance for single band dynamics processing to specify (together with min_frequency) that the band is full range.
Required.
threshold_db: Option<f32>
The value beyond which the dynamics main processing starts (subject to the
knee_width_db
), in input dB.
Some signal processing like input_gain
and output_gain
are not affected by this value.
Required.
threshold_type: Option<ThresholdType>
Dynamics processing is applied ABOVE
or BELOW
the threshold.
Required for a server.
A client must not include this field in a SetElementState
if
DynamicsSupportedControls.THRESHOLD_TYPE
is not set in supported_controls
.
ratio: Option<f32>
The input-to-output dB ratio above or below (see threshold_type
) the knee region.
Required.
knee_width_db: Option<f32>
The width of the knee region, in input dB. If present, cannot be negative.
If not included, the width of the knee region is unspecified.
A value of zero is a “hard” knee; larger values lead to “softer” knees.
This knee is centered on threshold_db
.
Optional.
A client must not include this field in a SetElementState
if
DynamicsSupportedControls.KNEE_WIDTH
is not set in supported_controls
.
attack: Option<i64>
Attack time. If not included, the attack time is unspecified.
Optional.
A client must not include this field in a SetElementState
if
DynamicsSupportedControls.ATTACK
is not set in supported_controls
.
release: Option<i64>
Release time. If not included, the release time is unspecified.
Optional.
A client must not include this field in a SetElementState
if
DynamicsSupportedControls.RELEASE
is not set in supported_controls
.
output_gain_db: Option<f32>
Output (a.k.a. make up or post) gain value in dB. If not included, the output gain is unspecified.
Optional.
A client must not include this field in a SetElementState
if
DynamicsSupportedControls.OUTPUT_GAIN
is not set in supported_controls
.
input_gain_db: Option<f32>
input (a.k.a. pre) gain value in dB. If not included, the input gain is unspecified.
Optional.
A client must not include this field in a SetElementState
if
DynamicsSupportedControls.INPUT_GAIN
is not set in supported_controls
.
level_type: Option<LevelType>
Level type (peak or RMS). If not included, the level type is unspecified.
Optional.
A client must not include this field in a SetElementState
if
DynamicsSupportedControls.LEVEL_TYPE
is not set in supported_controls
.
lookahead: Option<i64>
Look-ahead time. If not included, the look-ahead time is unspecified.
Optional.
A client must not include this field in a SetElementState
if
DynamicsSupportedControls.LOOKAHEAD
is not set in supported_controls
.
linked_channels: Option<bool>
Linked channels (a.k.a. Stereo linked for 2-channel systems). If not included, the linked channels option is unspecified. If true, the dynamics response is applied to all channels. If false, each channel has its own dynamics response.
Optional.
A client must not include this field in a SetElementState
if
DynamicsSupportedControls.LINKED_CHANNELS
is not set in supported_controls
.
Trait Implementations§
Source§impl Clone for DynamicsBandState
impl Clone for DynamicsBandState
Source§fn clone(&self) -> DynamicsBandState
fn clone(&self) -> DynamicsBandState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for DynamicsBandState
impl Debug for DynamicsBandState
Source§impl<D: ResourceDialect> Decode<DynamicsBandState, D> for DynamicsBandState
impl<D: ResourceDialect> Decode<DynamicsBandState, D> for DynamicsBandState
Source§impl Default for DynamicsBandState
impl Default for DynamicsBandState
Source§fn default() -> DynamicsBandState
fn default() -> DynamicsBandState
Source§impl<D: ResourceDialect> Encode<DynamicsBandState, D> for &DynamicsBandState
impl<D: ResourceDialect> Encode<DynamicsBandState, D> for &DynamicsBandState
Source§impl PartialEq for DynamicsBandState
impl PartialEq for DynamicsBandState
Source§impl TypeMarker for DynamicsBandState
impl TypeMarker for DynamicsBandState
Source§type Owned = DynamicsBandState
type Owned = DynamicsBandState
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.Source§impl ValueTypeMarker for DynamicsBandState
impl ValueTypeMarker for DynamicsBandState
Source§type Borrowed<'a> = &'a DynamicsBandState
type Borrowed<'a> = &'a DynamicsBandState
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read moreimpl Persistable for DynamicsBandState
impl StructuralPartialEq for DynamicsBandState
Auto Trait Implementations§
impl Freeze for DynamicsBandState
impl RefUnwindSafe for DynamicsBandState
impl Send for DynamicsBandState
impl Sync for DynamicsBandState
impl Unpin for DynamicsBandState
impl UnwindSafe for DynamicsBandState
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)