Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
graph_runtime_plan.hpp File Reference
#include <pulp/graph/graph_types.hpp>
#include <cstdint>
#include <span>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::graph::GraphRuntimeLimits
struct  pulp::graph::GraphRuntimeNodeSpec
struct  pulp::graph::GraphRuntimeAutomationSpec
struct  pulp::graph::GraphRuntimeConnectionSpec
struct  pulp::graph::GraphRuntimeNodePlan
struct  pulp::graph::GraphRuntimeConnectionPlan
struct  pulp::graph::GraphRuntimePlan
struct  pulp::graph::GraphRuntimePlanError
struct  pulp::graph::GraphRuntimePlanResult

Namespaces

namespace  pulp
namespace  pulp::graph

Enumerations

enum class  pulp::graph::GraphRuntimeNodeKind : std::uint8_t {
  pulp::graph::AudioInput , pulp::graph::AudioOutput , pulp::graph::Processor , pulp::graph::Utility ,
  pulp::graph::MidiInput , pulp::graph::MidiOutput , pulp::graph::Custom , pulp::graph::SpectralAnalysis ,
  pulp::graph::SpectralStage , pulp::graph::SpectralSynthesis
}
enum class  pulp::graph::GraphRuntimeConnectionKind : std::uint8_t {
  pulp::graph::Audio , pulp::graph::Event , pulp::graph::Automation , pulp::graph::Spectral ,
  pulp::graph::Trigger
}
enum class  pulp::graph::GraphRuntimePlanErrorCode : std::uint8_t {
  pulp::graph::None , pulp::graph::InvalidLimits , pulp::graph::TooManyNodes , pulp::graph::TooManyConnections ,
  pulp::graph::TooManyPorts , pulp::graph::InvalidNodeId , pulp::graph::DuplicateNodeId , pulp::graph::InvalidNodePortCount ,
  pulp::graph::UnknownSourceNode , pulp::graph::UnknownDestinationNode , pulp::graph::SourcePortOutOfRange , pulp::graph::DestinationPortOutOfRange ,
  pulp::graph::CycleDetected , pulp::graph::AllocationFailed , pulp::graph::UnsupportedTrigger , pulp::graph::NonAudioFeedback ,
  pulp::graph::InvalidConnectionKind
}

Functions

template<class Connection>
constexpr bool pulp::graph::is_event (const Connection &c) noexcept
template<class Connection>
constexpr bool pulp::graph::is_automation_conn (const Connection &c) noexcept
template<class Connection>
constexpr bool pulp::graph::carries_audio (const Connection &c) noexcept
template<class Connection>
constexpr bool pulp::graph::is_spectral (const Connection &c) noexcept
GraphRuntimePlanResult pulp::graph::build_graph_runtime_plan (std::span< const GraphRuntimeNodeSpec > nodes, std::span< const GraphRuntimeConnectionSpec > connections, GraphRuntimeLimits limits={})