Borrowed CLAP metadata registration¶
ravet-clap::ClapParameterRegistration validates a portable schema with an
ordered array of ClapParameterOptions, then provides complete count/info
metadata for a product's PluginMainThreadParams implementation. Preparation
borrows storage, without allocation; repeated metadata reads are heap-free.
Physical f32 bounds/defaults promote exactly to CLAP f64 plain values, including
continuous logarithmic schemas. Normalized editor mappings remain separate.
There are 0..1024 parameters. Names must fit 255 UTF-8 bytes and module paths
1023 bytes without NUL; the CLAP invalid ID is rejected. Discrete schemas need
unit-spaced integer bounds; fractional/coarser steps require an explicit separate
wire mapping. At most one bypass is allowed, with stepped 0/1 range. Automatable
flags come from the schema; requires_process is explicit consumer policy.
Explicit global/scoped modulation/automation flags are described below. No
cookies, value storage, display formatting, flush,
rescan or lifecycle scheduler is generated. The gain reference consumes the
registration and advertises that active gain/bypass changes require processing.
Acceptance checks complete metadata, continuous/logarithmic/negative integer ranges, exact flags, wire/string/ID/bypass/capacity rejection, 10,000 heap-free reads and the linked actual gain host extension. See decision 0073.