Vital
Loading...
Searching...
No Matches
vital::ValueDetails Struct Reference

Holds metadata about a single parameter (control) in the Vital synthesizer. More...

#include <synth_parameters.h>

Public Types

enum  ValueScale {
  kIndexed , kLinear , kQuadratic , kCubic ,
  kQuartic , kSquareRoot , kExponential
}
 Describes the scaling mode used to interpret and display parameter values. More...
 

Public Attributes

std::string name
 Unique parameter name/identifier.
 
int version_added = 0
 Version code when the parameter was introduced or changed.
 
mono_float min = 0.0f
 Minimum parameter value.
 
mono_float max = 1.0f
 Maximum parameter value.
 
mono_float default_value = 0.0f
 Default value for the parameter.
 
mono_float post_offset = 0.0f
 Offset applied after scaling (for certain scale types).
 
mono_float display_multiply = 1.0f
 Multiplier for converting internal values to display units.
 
ValueScale value_scale = kLinear
 The scaling mode of the parameter value.
 
bool display_invert = false
 If true, invert the displayed value range.
 
std::string display_units
 Units to display next to the parameter (e.g., "Hz", "dB").
 
std::string display_name
 Human-readable name for display in UI.
 
const std::string * string_lookup = nullptr
 Optional lookup table for indexed parameter names.
 
std::string local_description
 Local description or additional metadata.
 

Detailed Description

Holds metadata about a single parameter (control) in the Vital synthesizer.

The ValueDetails structure describes how a parameter should be scaled, displayed, and interpreted. This includes minimum/maximum values, default values, display names, units, and the scaling function to apply (linear, exponential, etc.). It also supports indexed parameters for stepping through discrete values (e.g., enumeration fields).

Member Enumeration Documentation

◆ ValueScale

Describes the scaling mode used to interpret and display parameter values.

Enumerator
kIndexed 

Parameter steps through discrete indexed values.

kLinear 

Parameter scales linearly between min and max.

kQuadratic 

Parameter value transformed by a quadratic curve.

kCubic 

Parameter value transformed by a cubic curve.

kQuartic 

Parameter value transformed by a quartic curve.

kSquareRoot 

Parameter value transformed by a square root function.

kExponential 

Parameter value transformed by an exponential function.

Member Data Documentation

◆ default_value

mono_float vital::ValueDetails::default_value = 0.0f

Default value for the parameter.

◆ display_invert

bool vital::ValueDetails::display_invert = false

If true, invert the displayed value range.

◆ display_multiply

mono_float vital::ValueDetails::display_multiply = 1.0f

Multiplier for converting internal values to display units.

◆ display_name

std::string vital::ValueDetails::display_name

Human-readable name for display in UI.

◆ display_units

std::string vital::ValueDetails::display_units

Units to display next to the parameter (e.g., "Hz", "dB").

◆ local_description

std::string vital::ValueDetails::local_description

Local description or additional metadata.

◆ max

mono_float vital::ValueDetails::max = 1.0f

Maximum parameter value.

◆ min

mono_float vital::ValueDetails::min = 0.0f

Minimum parameter value.

◆ name

std::string vital::ValueDetails::name

Unique parameter name/identifier.

◆ post_offset

mono_float vital::ValueDetails::post_offset = 0.0f

Offset applied after scaling (for certain scale types).

◆ string_lookup

const std::string* vital::ValueDetails::string_lookup = nullptr

Optional lookup table for indexed parameter names.

◆ value_scale

ValueScale vital::ValueDetails::value_scale = kLinear

The scaling mode of the parameter value.

◆ version_added

int vital::ValueDetails::version_added = 0

Version code when the parameter was introduced or changed.


The documentation for this struct was generated from the following file: