── Opt-in DSP-state carry across a hot-reload (reload lane, item 1.6) ── On a hot-reload the new processor binds to the live StateStore (params + values preserved), but its DSP-internal state — delay lines, filter history, reverb tails, oscillator phase — starts COLD. More...
#include <processor.hpp>
Public Attributes | |
| std::vector< int > | inputs |
| std::vector< int > | outputs |
── Opt-in DSP-state carry across a hot-reload (reload lane, item 1.6) ── On a hot-reload the new processor binds to the live StateStore (params + values preserved), but its DSP-internal state — delay lines, filter history, reverb tails, oscillator phase — starts COLD.
Override this pair to carry that state so a delay's repeats or an LFO's phase survive the swap seamlessly instead of resetting (the crossfade masks a cold start, but the tail itself is otherwise lost).
Contract:
NOTE: the two virtuals are DECLARED at the end of this class (after process(ProcessBuffers&)) — not here — to keep the Processor vtable additive-only (node_abi_gate): new virtuals must be appended after every pre-existing one. See the appended block below. Proposed bus layout passed to is_bus_layout_supported().
Each entry's index matches the descriptor's input_buses / output_buses index, and each value is the number of channels the host is proposing for that bus. Sidechain buses appear at index 1 (input side) when the descriptor declared one. Empty per-side vectors mean "the host did not propose buses on that side" (rare; treat as 'no opinion').
Format adapters call this on the host thread before applying the layout. Returning false rejects the proposal and the adapter is expected to refuse the host's setBusArrangements / equivalent call.
| std::vector<int> pulp::format::Processor::BusesLayout::inputs |
| std::vector<int> pulp::format::Processor::BusesLayout::outputs |