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

#include <graph_runtime_executor.hpp>

Public Member Functions

 GraphRuntimeExecutor ()=default
 GraphRuntimeExecutor (const GraphRuntimeExecutor &)=delete
GraphRuntimeExecutor & operator= (const GraphRuntimeExecutor &)=delete
GraphRuntimeExecutorResult process (ProcessBlock &block, const GraphRuntimeSnapshot &snapshot, std::span< const graph::GraphTimedCommand > commands={}, std::span< GraphRuntimeCommandDecision > command_results={}, GraphRuntimeCommandHandler command_handler={}, GraphRuntimeEventSink event_sink={}) noexcept
template<std::size_t CommandCapacity, std::size_t EventCapacity, std::size_t MidiOutputCapacity>
GraphRuntimeExecutorResult process (ProcessBlock &block, const GraphRuntimeSnapshot &snapshot, graph::GraphRuntimeQueues< CommandCapacity, EventCapacity, MidiOutputCapacity > &queues, GraphRuntimeCommandHandler command_handler={}) noexcept
GraphRuntimeExecutorResult process_routed (ProcessBlock &block, const GraphRuntimeSnapshot &snapshot, GraphRuntimeBufferPool &pool, GraphRuntimeMidiScratch *midi=nullptr, GraphRuntimeAutomationScratch *automation=nullptr, std::span< const graph::GraphTimedCommand > commands={}, std::span< GraphRuntimeCommandDecision > command_results={}, GraphRuntimeCommandHandler command_handler={}, GraphRuntimeEventSink event_sink={}, std::span< const std::uint8_t > skip_mask={}, GraphRuntimeAudioEdgeProbe *audio_probe=nullptr) noexcept
GraphRuntimeExecutorResult process_parallel (ProcessBlock &block, const GraphRuntimeSnapshot &snapshot, const graph::GraphRuntimeLevelization &levels, GraphRuntimeBufferPool &pool, GraphRuntimeWorkerPool &workers, GraphRuntimeMidiScratch *midi=nullptr, GraphRuntimeAutomationScratch *automation=nullptr, std::span< const graph::GraphTimedCommand > commands={}, std::span< GraphRuntimeCommandDecision > command_results={}, GraphRuntimeCommandHandler command_handler={}, GraphRuntimeEventSink event_sink={}) noexcept
GraphRuntimeExecutorStats stats () const noexcept
void reset_stats () noexcept
void set_parallel_min_work_units (std::uint64_t channel_samples) noexcept
std::uint64_t parallel_min_work_units () const noexcept
void set_node_load_timing (bool enabled) noexcept
bool node_load_timing () const noexcept

Static Public Attributes

static constexpr std::size_t kMaxInlineCommandCapacity = 256
static constexpr std::uint32_t kMaxRoutedPortsPerNode = 64

Constructor & Destructor Documentation

◆ GraphRuntimeExecutor() [1/2]

pulp::format::GraphRuntimeExecutor::GraphRuntimeExecutor ( )
default

◆ GraphRuntimeExecutor() [2/2]

pulp::format::GraphRuntimeExecutor::GraphRuntimeExecutor ( const GraphRuntimeExecutor & )
delete

Member Function Documentation

◆ node_load_timing()

bool pulp::format::GraphRuntimeExecutor::node_load_timing ( ) const
inlinenoexcept

◆ operator=()

GraphRuntimeExecutor & pulp::format::GraphRuntimeExecutor::operator= ( const GraphRuntimeExecutor & )
delete

◆ parallel_min_work_units()

std::uint64_t pulp::format::GraphRuntimeExecutor::parallel_min_work_units ( ) const
inlinenoexcept

◆ process() [1/2]

template<std::size_t CommandCapacity, std::size_t EventCapacity, std::size_t MidiOutputCapacity>
GraphRuntimeExecutorResult pulp::format::GraphRuntimeExecutor::process ( ProcessBlock & block,
const GraphRuntimeSnapshot & snapshot,
graph::GraphRuntimeQueues< CommandCapacity, EventCapacity, MidiOutputCapacity > & queues,
GraphRuntimeCommandHandler command_handler = {} )
inlinenoexcept

◆ process() [2/2]

GraphRuntimeExecutorResult pulp::format::GraphRuntimeExecutor::process ( ProcessBlock & block,
const GraphRuntimeSnapshot & snapshot,
std::span< const graph::GraphTimedCommand > commands = {},
std::span< GraphRuntimeCommandDecision > command_results = {},
GraphRuntimeCommandHandler command_handler = {},
GraphRuntimeEventSink event_sink = {} )
noexcept

◆ process_parallel()

GraphRuntimeExecutorResult pulp::format::GraphRuntimeExecutor::process_parallel ( ProcessBlock & block,
const GraphRuntimeSnapshot & snapshot,
const graph::GraphRuntimeLevelization & levels,
GraphRuntimeBufferPool & pool,
GraphRuntimeWorkerPool & workers,
GraphRuntimeMidiScratch * midi = nullptr,
GraphRuntimeAutomationScratch * automation = nullptr,
std::span< const graph::GraphTimedCommand > commands = {},
std::span< GraphRuntimeCommandDecision > command_results = {},
GraphRuntimeCommandHandler command_handler = {},
GraphRuntimeEventSink event_sink = {} )
noexcept

◆ process_routed()

GraphRuntimeExecutorResult pulp::format::GraphRuntimeExecutor::process_routed ( ProcessBlock & block,
const GraphRuntimeSnapshot & snapshot,
GraphRuntimeBufferPool & pool,
GraphRuntimeMidiScratch * midi = nullptr,
GraphRuntimeAutomationScratch * automation = nullptr,
std::span< const graph::GraphTimedCommand > commands = {},
std::span< GraphRuntimeCommandDecision > command_results = {},
GraphRuntimeCommandHandler command_handler = {},
GraphRuntimeEventSink event_sink = {},
std::span< const std::uint8_t > skip_mask = {},
GraphRuntimeAudioEdgeProbe * audio_probe = nullptr )
noexcept

◆ reset_stats()

void pulp::format::GraphRuntimeExecutor::reset_stats ( )
noexcept

◆ set_node_load_timing()

void pulp::format::GraphRuntimeExecutor::set_node_load_timing ( bool enabled)
inlinenoexcept

◆ set_parallel_min_work_units()

void pulp::format::GraphRuntimeExecutor::set_parallel_min_work_units ( std::uint64_t channel_samples)
inlinenoexcept

◆ stats()

GraphRuntimeExecutorStats pulp::format::GraphRuntimeExecutor::stats ( ) const
noexcept

Member Data Documentation

◆ kMaxInlineCommandCapacity

std::size_t pulp::format::GraphRuntimeExecutor::kMaxInlineCommandCapacity = 256
staticconstexpr

◆ kMaxRoutedPortsPerNode

std::uint32_t pulp::format::GraphRuntimeExecutor::kMaxRoutedPortsPerNode = 64
staticconstexpr

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