TracktionEngine
Classes | Namespaces | Enumerations | Functions
tracktion_Node.h File Reference

Classes

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

Namespaces

 tracktion
 
 tracktion::graph
 
 tracktion::graph::detail
 

Enumerations

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

Functions

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