TracktionEngine
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
tracktion_Node.h File Reference

Classes

struct  graph::NodeBuffer
 Holds a view over some data and optionally some storage for that data. More...
 
struct  graph::NodeAndID
 A Node and its ID cached for quick lookup (without having to traverse the graph). More...
 
struct  graph::NodeGraph
 Holds a graph in an order ready for processing and a sorted map for quick lookups. More...
 
struct  graph::PlaybackInitialisationInfo
 Passed into Nodes when they are being initialised, to give them useful contextual information that they may need. More...
 
struct  graph::NodeProperties
 Holds some really basic properties of a node. More...
 
struct  graph::NodeOptimisations
 Holds some hints that might be used by the Node or players to improve efficiency. More...
 
class  graph::TransformCache
 
class  graph::Node
 Main graph Node processor class. More...
 
struct  graph::Node::AudioAndMidiBuffer
 Contains the buffers for a processing operation. More...
 
struct  graph::Node::TransformOptions
 
struct  graph::Node::ProcessContext
 Struct to describe a single iteration of a process call. More...
 
struct  graph::detail::VisitNodesWithRecord
 
struct  graph::detail::VisitNodesWithRecordBFS
 

Namespaces

namespace  graph
 
namespace  graph::detail
 

Enumerations

enum class  graph::TransformResult { graph::none , graph::connectionsMade , graph::nodesDeleted }
 Enum to signify the result of the transform function. More...
 
enum class  graph::ClearBuffers : std::uint8_t { graph::no , graph::yes }
 
enum class  graph::AllocateAudioBuffer : std::uint8_t { graph::no , graph::yes }
 
enum class  graph::ShareOutputBuffer : std::uint8_t { graph::no , graph::yes }
 
enum class  graph::VertexOrdering {
  graph::preordering , graph::postordering , graph::reversePreordering , graph::reversePostordering ,
  graph::bfsPreordering , graph::bfsReversePreordering
}
 Specifies the ordering algorithm. More...
 

Functions

template<typename NodeType , typename... Args>
std::unique_ptr< Nodegraph::makeNode (Args &&... args)
 Creates a node of the given type and returns it as the base Node class.
 
bool graph::operator< (NodeAndID n1, NodeAndID n2)
 Compares two NodeAndIDs.
 
bool graph::operator== (NodeAndID n1, NodeAndID n2)
 Compares two NodeAndIDs.
 
std::unique_ptr< NodeGraphgraph::createNodeGraph (std::unique_ptr< Node >, bool disableLatencyCompensation)
 Transforms a Node and then returns a NodeGraph of it ready to be initialised.
 
template<typename Visitor >
void graph::visitNodes (Node &, Visitor &&, bool preordering)
 Should call the visitor for any direct inputs to the node exactly once.
 
template<typename Visitor >
void graph::visitNodesBFS (Node &node, Visitor &&visitor)
 
void graph::addNodesRecursive (std::vector< NodeAndID > &nodeMap, Node &n)
 
std::vector< NodeAndIDgraph::createNodeMap (const std::vector< Node * > &nodes)