class DynamicsBandState

Defined at line 563 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/natural_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 (Storage_ storage)
void DynamicsBandState ()

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

void DynamicsBandState (DynamicsBandState && )

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

void DynamicsBandState (const DynamicsBandState & other)
DynamicsBandState & operator= (DynamicsBandState && )

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

DynamicsBandState & operator= (const DynamicsBandState & other)
bool operator== (const DynamicsBandState & other)
bool operator!= (const DynamicsBandState & other)
bool IsEmpty ()
const std::optional<uint64_t> & id ()

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

`Dynamics` `bands`.

::std::optional<uint64_t> & id ()

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

`Dynamics` `bands`.

DynamicsBandState & id (std::optional<uint64_t> value)

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

`Dynamics` `bands`.

const std::optional<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.

::std::optional<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.

DynamicsBandState & min_frequency (std::optional<uint32_t> value)

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.

const std::optional<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.

::std::optional<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.

DynamicsBandState & max_frequency (std::optional<uint32_t> value)

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.

const std::optional<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.

::std::optional<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.

DynamicsBandState & threshold_db (std::optional<float> value)

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.

const std::optional< ::fuchsia_hardware_audio_signalprocessing::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`.

::std::optional< ::fuchsia_hardware_audio_signalprocessing::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`.

DynamicsBandState & threshold_type (std::optional< ::fuchsia_hardware_audio_signalprocessing::ThresholdType> value)

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`.

const std::optional<float> & ratio ()

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

Required. Must be finite.

::std::optional<float> & ratio ()

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

Required. Must be finite.

DynamicsBandState & ratio (std::optional<float> value)

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

Required. Must be finite.

const std::optional<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`.

::std::optional<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`.

DynamicsBandState & knee_width_db (std::optional<float> value)

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`.

const std::optional<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`.

::std::optional<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`.

DynamicsBandState & attack (std::optional<int64_t> value)

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`.

const std::optional<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`.

::std::optional<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`.

DynamicsBandState & release (std::optional<int64_t> value)

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`.

const std::optional<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`.

::std::optional<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`.

DynamicsBandState & output_gain_db (std::optional<float> value)

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`.

const std::optional<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`.

::std::optional<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`.

DynamicsBandState & input_gain_db (std::optional<float> value)

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`.

const std::optional< ::fuchsia_hardware_audio_signalprocessing::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`.

::std::optional< ::fuchsia_hardware_audio_signalprocessing::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`.

DynamicsBandState & level_type (std::optional< ::fuchsia_hardware_audio_signalprocessing::LevelType> value)

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`.

const std::optional<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`.

::std::optional<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`.

DynamicsBandState & lookahead (std::optional<int64_t> value)

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`.

const std::optional<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`.

::std::optional<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`.

DynamicsBandState & linked_channels (std::optional<bool> value)

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`.

void DynamicsBandState (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits