Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
step_edit_reducer.hpp File Reference
#include <optional>
#include <type_traits>
#include <pulp/state/sequencer_state_channel.hpp>

Go to the source code of this file.

Namespaces

namespace  pulp
namespace  pulp::state
 SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the bulk, observable state a step sequencer / mod-matrix / pattern engine holds outside its automatable parameter set (e.g.

Functions

template<class Config>
std::optional< AppliedEditT< Config > > pulp::state::apply_step_edit (SnapshotT< Config > &snapshot, const StepEditCommandT< Config > &cmd, EngineSequence &engine_seq)
 Reference reducer for the StepCell grid. Returns nullopt only for a no-op.
template<class Config, class Reducer>
void pulp::state::drain_and_apply (SequencerStateChannelT< Config > &channel, SnapshotT< Config > &snapshot, Epoch &epoch, EngineSequence &engine_seq, Reducer &&reduce)
 Drain the command FIFO and apply each command with reduce, publishing the echoes.
template<class Config>
void pulp::state::drain_and_apply (SequencerStateChannelT< Config > &channel, SnapshotT< Config > &snapshot, Epoch &epoch, EngineSequence &engine_seq)
 Convenience overload using the reference StepCell reducer.