Global modulation signals¶
EventData::ParameterModulation { id, amount } carries a finite signed physical
amount separately from saved base values. A new amount replaces the previous
signal; the consumer implements combining, clipping, smoothing, reset and
persistence. Parameter graph filters include the matching ID; performance filters
exclude it. Complete worker queues preserve order and reject non-finite amounts.
CLAP input translation is opt-in through
with_global_parameter_modulation(true) on ParameterEvents, EffectBridge,
MainBusBridge or MultiBusBridge. Default input continues to ignore modulation.
Only global targets map; native amounts must narrow to finite f32, and flush
normalizes offsets to zero. Invalid whole input rejects before DSP. Generated
output maps global amounts without a MIDI port and preserves host prefix refusal.
Exporters must advertise compatible native flags and explicitly implement DSP;
no reference processor support or saved-state changes are synthesized. See
decision 0122.
ClapParameterOptions::global_modulation (default false) advertises the native
modulatable flag for global physical amounts. It does not enable bridge input or
implement DSP; exporters explicitly align the registration option with their
processor and bridge. Hosted node input/output independently opt in to cached
writable/modulatable maps. See the hosting guide
and decision 0123.