Sample-timed UMP representation¶
Foundation EventData::Ump stores one framed packet without allocation and shares
ordered offset/capacity validation with other events. ParameterEvents retains
its MIDI 1-only translate_midi; translate_midi_ump explicitly includes CLAP
MIDI2 events. MainBusBridge uses the combined path when a selected input port
is present. UMP data words remain exact, including opaque reserved types; semantic
validation and negotiated protocol are processor responsibilities.
Generated UMP requires a selected output port, uses the existing whole-stream representability check and accepted-prefix rejection policy, and canonicalizes unused CLAP array words. This supplies packet transport, not MIDI 2 synthesis. The sine and gain reference dialect advertisements remain MIDI 1-only. An all-message-type echo fixture checks timing, port routing, words, unused padding, parameter-only flush, ignored-event timing and 10,000 prepared callbacks with zero framework heap operations. No MIDI 2 DAW/device support is inferred from this test.