class DynamicsBandState

Defined at line 1270 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/wire_types.h

State for a single band within an `Element` with `type` equal to `DYNAMICS`.

`WatchElementState` may return control band fields, even if the values cannot be changed by the

client (i.e. the bits are not set in `supported_controls`).

Public Methods

void DynamicsBandState ()

Defined at line 1272 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/wire_types.h

void DynamicsBandState (const DynamicsBandState & other)

Defined at line 1273 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/wire_types.h

void DynamicsBandState (DynamicsBandState && other)

Defined at line 1275 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/wire_types.h

bool IsEmpty ()

Returns whether no field is set.

bool HasUnknownData ()

Returns whether the table references unknown fields.

::fidl::WireTableBuilder< ::fuchsia_hardware_audio_signalprocessing::wire::DynamicsBandState> Builder (::fidl::AnyArena & arena)

Return a builder that by defaults allocates of an arena.

::fidl::WireTableExternalBuilder< ::fuchsia_hardware_audio_signalprocessing::wire::DynamicsBandState> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio_signalprocessing::wire::DynamicsBandState>> frame)

Return a builder that relies on explicitly allocating |fidl::ObjectView|s.

uint64_t & id ()

Unique ID for the band. Must match one of the `id`s specified in

`Dynamics` `bands`.

bool has_id ()
uint32_t & min_frequency ()

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.

bool has_min_frequency ()
uint32_t & max_frequency ()

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.

bool has_max_frequency ()
float & threshold_db ()

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. Must be finite.

bool has_threshold_db ()
::fuchsia_hardware_audio_signalprocessing::wire::ThresholdType & threshold_type ()

Dynamics processing is applied `ABOVE` or `BELOW` the threshold.

Required for `WatchElementState`.

Disallowed in `SetElementState` if `DynamicsSupportedControls.THRESHOLD_TYPE` is not set

in `supported_controls`.

bool has_threshold_type ()
float & ratio ()

The input-to-output dB ratio above or below (see `threshold_type`) the knee region.

Required. Must be finite.

bool has_ratio ()
float & knee_width_db ()

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. If specified, must be finite.

Disallowed in `SetElementState` if `DynamicsSupportedControls.KNEE_WIDTH` is not set

in `supported_controls`.

bool has_knee_width_db ()
int64_t & attack ()

Attack time.

If not included, the attack time is unspecified.

Optional. If specified, must be non-negative.

Disallowed in `SetElementState` if `DynamicsSupportedControls.ATTACK` is not set

in `supported_controls`.

bool has_attack ()
int64_t & release ()

Release time.

If not included, the release time is unspecified.

Optional. If specified, must be non-negative.

Disallowed in `SetElementState` if `DynamicsSupportedControls.RELEASE` is not set

in `supported_controls`.

bool has_release ()
float & output_gain_db ()

Output (a.k.a. make up or post) gain value in dB.

If not included, the output gain is unspecified.

Optional. If specified, must be finite.

Disallowed in `SetElementState` if `DynamicsSupportedControls.OUTPUT_GAIN` is not set

in `supported_controls`.

bool has_output_gain_db ()
float & input_gain_db ()

Input (a.k.a. pre) gain value in dB.

If not included, the input gain is unspecified.

Optional. If specified, must be finite.

Disallowed in `SetElementState` if `DynamicsSupportedControls.INPUT_GAIN` is not set

in `supported_controls`.

bool has_input_gain_db ()
::fuchsia_hardware_audio_signalprocessing::wire::LevelType & level_type ()

Level type (peak or RMS).

If not included, the level type is unspecified.

Optional.

Disallowed in `SetElementState` if `DynamicsSupportedControls.LEVEL_TYPE` is not set

in `supported_controls`.

bool has_level_type ()
int64_t & lookahead ()

Look-ahead time.

If not included, the look-ahead time is unspecified.

Optional. If specified, must be non-negative.

Disallowed in `SetElementState` if `DynamicsSupportedControls.LOOKAHEAD` is not set

in `supported_controls`.

bool has_lookahead ()
bool & linked_channels ()

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.

Disallowed in `SetElementState` if `DynamicsSupportedControls.LINKED_CHANNELS` is not set

in `supported_controls`.

bool has_linked_channels ()
DynamicsBandState & set_id (::fidl::ObjectView<uint64_t> elem)
DynamicsBandState & set_id (std::nullptr_t )
DynamicsBandState & clear_id ()
DynamicsBandState & set_min_frequency (uint32_t elem)
DynamicsBandState & clear_min_frequency ()
DynamicsBandState & set_max_frequency (uint32_t elem)
DynamicsBandState & clear_max_frequency ()
DynamicsBandState & set_threshold_db (float elem)
DynamicsBandState & clear_threshold_db ()
DynamicsBandState & set_threshold_type (::fuchsia_hardware_audio_signalprocessing::wire::ThresholdType elem)
DynamicsBandState & clear_threshold_type ()
DynamicsBandState & set_ratio (float elem)
DynamicsBandState & clear_ratio ()
DynamicsBandState & set_knee_width_db (float elem)
DynamicsBandState & clear_knee_width_db ()
DynamicsBandState & set_attack (::fidl::ObjectView<int64_t> elem)
DynamicsBandState & set_attack (std::nullptr_t )
DynamicsBandState & clear_attack ()
DynamicsBandState & set_release (::fidl::ObjectView<int64_t> elem)
DynamicsBandState & set_release (std::nullptr_t )
DynamicsBandState & clear_release ()
DynamicsBandState & set_output_gain_db (float elem)
DynamicsBandState & clear_output_gain_db ()
DynamicsBandState & set_input_gain_db (float elem)
DynamicsBandState & clear_input_gain_db ()
DynamicsBandState & set_level_type (::fuchsia_hardware_audio_signalprocessing::wire::LevelType elem)
DynamicsBandState & clear_level_type ()
DynamicsBandState & set_lookahead (::fidl::ObjectView<int64_t> elem)
DynamicsBandState & set_lookahead (std::nullptr_t )
DynamicsBandState & clear_lookahead ()
DynamicsBandState & set_linked_channels (bool elem)
DynamicsBandState & clear_linked_channels ()
void DynamicsBandState (::fidl::AnyArena & allocator)
void DynamicsBandState (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio_signalprocessing::wire::DynamicsBandState>> && frame)

This constructor allows a user controlled allocation (not using a Arena).

It should only be used when performance is key.

As soon as the frame is given to the table, it must not be used directly or for another table.

void Allocate (::fidl::AnyArena & allocator)
void Init (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio_signalprocessing::wire::DynamicsBandState>> && frame_ptr)
DynamicsBandState & operator= (const DynamicsBandState & other)

Defined at line 1274 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/wire_types.h

DynamicsBandState & operator= (DynamicsBandState && other)

Defined at line 1276 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/wire_types.h

void ~DynamicsBandState ()

Defined at line 1278 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/wire_types.h

Friends

class WireTableBaseBuilder
class WireTableBaseBuilder