AUDIO
Source snapshot · 12 October 2026

Native AAX generated short-MIDI output

Failure, delivery and lifecycle

Callback admission begins before GetNodeBuffer and lasts through the final Post. Nested registered callback, direct owner entry, stage/delivery/invalidate attempts reject Busy without touching active buffers/getters/DSP/diagnostics/packet bytes. CONTROL joins AUDIO before lifecycle/state/diagnostic copies; readiness doesn't make arbitrary concurrent control access legal. Failed stage invalidates delivery readiness while previous bytes remain. Delivery consumes readiness before a host call, including empty/null-node batches, and stops on first refusal or throw. There is no stale replay or automatic retry. Earlier accepted posts are final. Attempted/returned/posted counts and exact returned AAX_Result are retained; throw means attempted/not-returned without an invented SDK error. hasStatus means returned>0 and status is the last result actually returned. After a later throw it may retain preceding success0; Exception with attempted>returned marks the unreturned latest attempt, not that preceding status.

Native success consumes global queue intent before output delivery. A late unrepresentable generated record posts none but cannot roll back DSP/history, complete state or dequeued controls. A host refusal likewise cannot restore previous history/posts. Backend error/panic remains fail-closed. Local stage/host failure keeps native prepared for a fresh block; reset/reprepare/deactivate clear readiness. No guessed compensation, note-off cleanup or voice lifetime policy. Owner0/1/2 outcome, actual native status/report and stage/SDK diagnostics are separate. Native status is known for the block only if nativeReturned is true; SDK status only if delivery.hasStatus. Latest atomic native status can be older than a rejected preflight. Copy non-atomic diagnostics only after stop/join. Smaller explicit generated capacities may lead to native failure after complete state apply; owner does not infer one-output-per-input for arbitrary processors. The actual reference profile uses1024 input/output capacity so accepted notes fit.