pub struct ParamInfo {
pub id: u32,
pub name: &'static str,
pub short_name: &'static str,
pub group: &'static str,
pub range: ParamRange,
pub default_plain: f64,
pub flags: ParamFlags,
pub unit: ParamUnit,
pub kind: ParamValueKind,
pub midi_map: Option<MidiSource>,
pub midi_channel: Option<u8>,
}Expand description
Metadata for a single parameter, used by format wrappers.
Copy because every field is POD (&'static str, scalars,
bitflags, the ParamRange / ParamUnit enums). Lets the
audio path pass param_infos[i] by value without clone() noise.
Fields§
§id: u32§name: &'static str§short_name: &'static str§group: &'static str§range: ParamRange§default_plain: f64§flags: ParamFlags§unit: ParamUnit§kind: ParamValueKindWhich *Param type backs this entry. Drives display rounding
(IntParam skips fractional digits) and value_text parsing,
independently of ParamRange - a FloatParam declared with
range = "discrete(...)" should still format as a float, so
inferring kind from range alone is wrong.
midi_map: Option<MidiSource>Optional MIDI-learn hint (#[param(midi_cc = …)] /
midi_source / midi_channel). Stored on the info list for
tooling / future use. Not consumed by CLAP / VST3 / LV2
wrappers today — hosts own MIDI mapping.
midi_channel: Option<u8>Optional channel scope for Self::midi_map, wire channel
0..=15. None = any channel.