Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::format::GraphRuntimeAutomationScratch Class Reference

Pre-allocated scratch backing the routing path's parameter-automation edges. More...

#include <graph_runtime_executor.hpp>

Classes

struct  PreparedStats
struct  SparseAccum

Public Member Functions

bool reset (const graph::GraphRuntimePlan &plan, std::uint32_t max_frames)
bool reset (const graph::GraphRuntimePlan &plan, std::span< const GraphRuntimeNodeBinding > bindings, std::uint32_t max_frames)
void clear () noexcept
std::uint32_t node_count () const noexcept
std::uint32_t connection_count () const noexcept
std::uint32_t max_frames () const noexcept
const PreparedStats & prepared_stats () const noexcept
state::ParameterEventQueue * events (std::uint32_t node_index) noexcept
float & slew_last (std::uint32_t conn_index) noexcept
bool slew_primed (std::uint32_t conn_index) const noexcept
void set_slew_primed (std::uint32_t conn_index, bool v) noexcept
std::uint32_t dense_param_count (std::uint32_t node_index) const noexcept
std::uint32_t dense_param_id (std::uint32_t node_index, std::uint32_t i) const noexcept
float * dense_buffer (std::uint32_t node_index, std::uint32_t i) noexcept
std::span< float > dense_lo (std::uint32_t node_index) noexcept
std::span< float > dense_hi (std::uint32_t node_index) noexcept
std::span< std::uint8_t > dense_replace (std::uint32_t node_index) noexcept
std::span< std::uint8_t > dense_add (std::uint32_t node_index) noexcept
std::span< std::uint32_t > dense_touched (std::uint32_t node_index) noexcept
std::span< AudioRateModulationView > dense_views (std::uint32_t node_index) noexcept
std::uint32_t dense_view_count (std::uint32_t node_index) const noexcept
void set_dense_view_count (std::uint32_t node_index, std::uint32_t count) noexcept
std::span< SparseAccum > sparse_accum (std::uint32_t node_index) noexcept
bool fits (std::uint32_t node_count, std::uint32_t connection_count, std::uint32_t frames) const noexcept

Static Public Attributes

static constexpr std::uint32_t kMaxDenseLanesPerNode = 64
static constexpr std::uint32_t kMaxDenseLanesPerGraph = 256
static constexpr std::uint32_t kMaxDenseFrames = 16384

Detailed Description

Pre-allocated scratch backing the routing path's parameter-automation edges.

Per node: one ParameterEventQueue (the automation events handed to the plugin). Per connection: the persisted per-source slew state (last delivered value + primed flag) an automation edge ramps from across blocks. Both are sized off-RT from the snapshot; the executor's automation gather fills a node's queue from its inbound automation connections before the node runs.

Member Function Documentation

◆ clear()

void pulp::format::GraphRuntimeAutomationScratch::clear ( )
noexcept

◆ connection_count()

std::uint32_t pulp::format::GraphRuntimeAutomationScratch::connection_count ( ) const
inlinenoexcept

◆ dense_add()

std::span< std::uint8_t > pulp::format::GraphRuntimeAutomationScratch::dense_add ( std::uint32_t node_index)
inlinenoexcept

◆ dense_buffer()

float * pulp::format::GraphRuntimeAutomationScratch::dense_buffer ( std::uint32_t node_index,
std::uint32_t i )
inlinenoexcept

◆ dense_hi()

std::span< float > pulp::format::GraphRuntimeAutomationScratch::dense_hi ( std::uint32_t node_index)
inlinenoexcept

◆ dense_lo()

std::span< float > pulp::format::GraphRuntimeAutomationScratch::dense_lo ( std::uint32_t node_index)
inlinenoexcept

◆ dense_param_count()

std::uint32_t pulp::format::GraphRuntimeAutomationScratch::dense_param_count ( std::uint32_t node_index) const
inlinenoexcept

◆ dense_param_id()

std::uint32_t pulp::format::GraphRuntimeAutomationScratch::dense_param_id ( std::uint32_t node_index,
std::uint32_t i ) const
inlinenoexcept

◆ dense_replace()

std::span< std::uint8_t > pulp::format::GraphRuntimeAutomationScratch::dense_replace ( std::uint32_t node_index)
inlinenoexcept

◆ dense_touched()

std::span< std::uint32_t > pulp::format::GraphRuntimeAutomationScratch::dense_touched ( std::uint32_t node_index)
inlinenoexcept

◆ dense_view_count()

std::uint32_t pulp::format::GraphRuntimeAutomationScratch::dense_view_count ( std::uint32_t node_index) const
inlinenoexcept

◆ dense_views()

std::span< AudioRateModulationView > pulp::format::GraphRuntimeAutomationScratch::dense_views ( std::uint32_t node_index)
inlinenoexcept

◆ events()

state::ParameterEventQueue * pulp::format::GraphRuntimeAutomationScratch::events ( std::uint32_t node_index)
inlinenoexcept

◆ fits()

bool pulp::format::GraphRuntimeAutomationScratch::fits ( std::uint32_t node_count,
std::uint32_t connection_count,
std::uint32_t frames ) const
inlinenoexcept

◆ max_frames()

std::uint32_t pulp::format::GraphRuntimeAutomationScratch::max_frames ( ) const
inlinenoexcept

◆ node_count()

std::uint32_t pulp::format::GraphRuntimeAutomationScratch::node_count ( ) const
inlinenoexcept

◆ prepared_stats()

const PreparedStats & pulp::format::GraphRuntimeAutomationScratch::prepared_stats ( ) const
inlinenoexcept

◆ reset() [1/2]

bool pulp::format::GraphRuntimeAutomationScratch::reset ( const graph::GraphRuntimePlan & plan,
std::span< const GraphRuntimeNodeBinding > bindings,
std::uint32_t max_frames )

◆ reset() [2/2]

bool pulp::format::GraphRuntimeAutomationScratch::reset ( const graph::GraphRuntimePlan & plan,
std::uint32_t max_frames )

◆ set_dense_view_count()

void pulp::format::GraphRuntimeAutomationScratch::set_dense_view_count ( std::uint32_t node_index,
std::uint32_t count )
inlinenoexcept

◆ set_slew_primed()

void pulp::format::GraphRuntimeAutomationScratch::set_slew_primed ( std::uint32_t conn_index,
bool v )
inlinenoexcept

◆ slew_last()

float & pulp::format::GraphRuntimeAutomationScratch::slew_last ( std::uint32_t conn_index)
inlinenoexcept

◆ slew_primed()

bool pulp::format::GraphRuntimeAutomationScratch::slew_primed ( std::uint32_t conn_index) const
inlinenoexcept

◆ sparse_accum()

std::span< SparseAccum > pulp::format::GraphRuntimeAutomationScratch::sparse_accum ( std::uint32_t node_index)
inlinenoexcept

Member Data Documentation

◆ kMaxDenseFrames

std::uint32_t pulp::format::GraphRuntimeAutomationScratch::kMaxDenseFrames = 16384
staticconstexpr

◆ kMaxDenseLanesPerGraph

std::uint32_t pulp::format::GraphRuntimeAutomationScratch::kMaxDenseLanesPerGraph = 256
staticconstexpr

◆ kMaxDenseLanesPerNode

std::uint32_t pulp::format::GraphRuntimeAutomationScratch::kMaxDenseLanesPerNode = 64
staticconstexpr

The documentation for this class was generated from the following file: