|
TracktionEngine
|
Takes a non-owning input node and simply forwards its outputs on. More...
#include <tracktion_TestNodes.h>
Public Member Functions | |
| ForwardingNode (tracktion::graph::Node *inputNode, std::optional< size_t > nodeIDToUse={}) | |
| ForwardingNode (std::shared_ptr< tracktion::graph::Node > inputNode, std::optional< size_t > nodeIDToUse={}) | |
| tracktion::graph::NodeProperties | getNodeProperties () override |
| Should return the properties of the node. | |
| std::vector< tracktion::graph::Node * > | getDirectInputNodes () override |
| Should return all the inputs directly feeding in to this node. | |
| bool | isReadyToProcess () override |
| Should return true when this node is ready to be processed. | |
| void | process (ProcessContext &pc) override |
| Called when the node is to be processed. | |
Public Member Functions inherited from tracktion::graph::Node | |
| Node ()=default | |
| virtual | ~Node ()=default |
| void | initialise (const PlaybackInitialisationInfo &) |
| Call once after the graph has been constructed to initialise buffers etc. | |
| void | prepareForNextBlock (juce::Range< int64_t > referenceSampleRange) |
| Call before processing the next block, used to reset the process status. | |
| void | process (choc::buffer::FrameCount numSamples, juce::Range< int64_t > referenceSampleRange) |
| Call to process the node, which will in turn call the process method with the buffers to fill. | |
| bool | hasProcessed () const |
| Returns true if this node has processed and its outputs can be retrieved. | |
| AudioAndMidiBuffer | getProcessedOutput () |
| Returns the processed audio and MIDI output. | |
| virtual TransformResult | transform (TransformOptions &) |
| Called after construction to give the node a chance to modify its topology. | |
| virtual std::vector< Node * > | getInternalNodes () |
| Can return Nodes that are internal to this Node but don't make up the main graph constructed from getDirectInputNodes(). | |
| void | retain () |
| Retains the buffers so they won't be deallocated after the Node has processed. | |
| void | release () |
| Releases the buffers allowing internal storage to be deallocated. | |
| virtual size_t | getAllocatedBytes () const |
| void | enablePreProcess (bool) |
Additional Inherited Members | |
Public Attributes inherited from tracktion::graph::Node | |
| void * | internal = nullptr |
| int | numOutputNodes = -1 |
Protected Member Functions inherited from tracktion::graph::Node | |
| virtual void | prepareToPlay (const PlaybackInitialisationInfo &) |
| Called once before playback begins for each node. | |
| virtual void | prefetchBlock (juce::Range< int64_t >) |
| Called before once on all Nodes before they are processed. | |
| virtual void | preProcess (choc::buffer::FrameCount, juce::Range< int64_t >) |
| Called when the node is to be processed, just before process. | |
| void | setOptimisations (NodeOptimisations) |
| This can be called to provide some hints about allocating or playing back a Node to improve efficiency. | |
| void | setBufferViewToUse (Node *sourceNode, const choc::buffer::ChannelArrayView< float > &) |
| This can be called during prepareToPlay to set a BufferView to use which can improve efficiency. | |
| void | setAudioOutput (Node *sourceNode, const choc::buffer::ChannelArrayView< float > &) |
| This can be called during your process function to set a view to the output. | |
Takes a non-owning input node and simply forwards its outputs on.
| tracktion::graph::ForwardingNode::ForwardingNode | ( | tracktion::graph::Node * | inputNode, |
| std::optional< size_t > | nodeIDToUse = {} |
||
| ) |
| tracktion::graph::ForwardingNode::ForwardingNode | ( | std::shared_ptr< tracktion::graph::Node > | inputNode, |
| std::optional< size_t > | nodeIDToUse = {} |
||
| ) |
|
overridevirtual |
Should return the properties of the node.
This should not be called until after initialise.
Implements tracktion::graph::Node.
References tracktion::graph::Node::getNodeProperties().
|
overridevirtual |
Should return all the inputs directly feeding in to this node.
Reimplemented from tracktion::graph::Node.
|
overridevirtual |
Should return true when this node is ready to be processed.
This is usually when its input's output buffers are ready.
Implements tracktion::graph::Node.
References tracktion::graph::Node::hasProcessed().
|
overridevirtual |
Called when the node is to be processed.
This should add in to the buffers available making sure not to change their size at all.
Implements tracktion::graph::Node.
References tracktion::graph::Node::AudioAndMidiBuffer::audio, tracktion::graph::Node::ProcessContext::buffers, tracktion::graph::Node::getProcessedOutput(), and tracktion::graph::Node::AudioAndMidiBuffer::midi.