Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
signal_graph_executor_routing.hpp File Reference
#include <pulp/audio/buffer.hpp>
#include <pulp/format/graph_runtime_executor.hpp>
#include <pulp/host/custom_node_events.hpp>
#include <pulp/host/signal_graph_executor_contract.hpp>
#include <pulp/host/graph_types.hpp>
#include <pulp/host/parameter_event_queue.hpp>
#include <pulp/midi/buffer.hpp>
#include <atomic>
#include <cstdint>
#include <functional>
#include <memory>
#include <span>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::host::PluginRoutingScratch
struct  pulp::host::PluginBindingContext
struct  pulp::host::PluginBindingContext::PendingParameterEventSequences
struct  pulp::host::ParameterEventInjectionBinding
struct  pulp::host::CustomBindingContext
struct  pulp::host::SignalGraphExecutorRouting
struct  pulp::host::ExecutorSnapshotBinders
class  pulp::host::ExecutorSnapshotBinders::SpectralResolver

Namespaces

namespace  pulp
namespace  pulp::audio
namespace  pulp::host
 Bounded event contracts shared by host ingress and graph-authored nodes.

Functions

void pulp::host::reset_plugin_parameter_event_sequences (std::span< PluginBindingContext > contexts) noexcept
void pulp::host::commit_plugin_parameter_event_sequences (std::span< PluginBindingContext > contexts) noexcept
bool pulp::host::signal_graph_topology_executor_eligible (std::span< const GraphNode > nodes, std::span< const Connection > connections)
bool pulp::host::signal_graph_executor_eligible (const SignalGraph &graph)
int pulp::host::calculate_lowerable_graph_latency_samples (std::span< const GraphNode > nodes, std::span< const Connection > connections, const std::function< int(NodeId)> &custom_latency_for)
bool pulp::host::build_executor_snapshot (std::span< const GraphNode > nodes, std::span< const Connection > connections, const ExecutorSnapshotBinders &binders, std::vector< PluginBindingContext > &plugin_ctx, PluginRoutingScratch &scratch, format::GraphRuntimeSnapshot &out, bool parallel_safe=false, std::vector< CustomBindingContext > *custom_ctx=nullptr)
bool pulp::host::build_executor_snapshot (std::span< const GraphNode > nodes, std::span< const Connection > connections, const std::function< std::atomic< float > *(NodeId)> &gain_for, const std::function< PluginSlot *(NodeId)> &plugin_for, std::vector< PluginBindingContext > &plugin_ctx, PluginRoutingScratch &scratch, format::GraphRuntimeSnapshot &out, bool parallel_safe=false, const std::function< audio::AudioProcessLoadMeasurer *(NodeId)> &load_for={}, std::vector< CustomBindingContext > *custom_ctx=nullptr, const std::function< const CustomNodeProcessFn *(NodeId)> &custom_for={}, const std::function< const CustomNodeTransportProcessFn *(NodeId)> &custom_transport_for={}, const std::function< int(NodeId)> &plugin_latency_for={}, const std::function< const std::vector< HostParamInfo > *(NodeId)> &plugin_params_for={}, const std::function< ParameterEventInjectionBinding(NodeId)> &parameter_events_for={})
bool pulp::host::build_signal_graph_executor_routing (const SignalGraph &graph, SignalGraphExecutorRouting &out)