|
tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation |
Sends an input Node to a Rack bus handling the channel mapping and channel gain levels. More...
#include "tracktion_RackInstanceNode.h"
Public Types | |
| using | ChannelMap = std::array< std::tuple< int, int, AutomatableParameter::Ptr >, 2 > |
Public Member Functions | |
| RackInstanceNode (std::unique_ptr< Node >, ChannelMap channelMap) | |
| Creates a RackInstanceNode that maps an input node channel to an output channel and applies a gain parameter to each mapped channel. | |
| std::vector< Node * > | getDirectInputNodes () override |
| Should return all the inputs directly feeding in to this node. | |
| tracktion::graph::NodeProperties | getNodeProperties () override |
| Should return the properties of the node. | |
| void | prepareToPlay (const tracktion::graph::PlaybackInitialisationInfo &) override |
| Called once before playback begins for each node. | |
| bool | isReadyToProcess () override |
| Should return true when this node is ready to be processed. | |
| void | preProcess (choc::buffer::FrameCount, juce::Range< int64_t >) override |
| Called when the node is to be processed, just before process. | |
| void | process (ProcessContext &) override |
| Called when the node is to be processed. | |
Public Member Functions inherited from tracktion::graph::Node | |
| 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 (Node &, const std::vector< Node * > &, TransformCache &) |
| 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 |
| int | numOutputNodes |
Protected Member Functions inherited from tracktion::graph::Node | |
| virtual void | prefetchBlock (juce::Range< int64_t >) |
| Called before once on all Nodes before they are processed. | |
| 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. | |
Sends an input Node to a Rack bus handling the channel mapping and channel gain levels.
Definition at line 17 of file tracktion_RackInstanceNode.h.
| using tracktion::engine::RackInstanceNode::ChannelMap = std::array<std::tuple<int, int, AutomatableParameter::Ptr>, 2> |
Definition at line 20 of file tracktion_RackInstanceNode.h.
| tracktion::engine::RackInstanceNode::RackInstanceNode | ( | std::unique_ptr< Node > | inputNode, |
| ChannelMap | channelMap | ||
| ) |
Creates a RackInstanceNode that maps an input node channel to an output channel and applies a gain parameter to each mapped channel.
Definition at line 15 of file tracktion_RackInstanceNode.cpp.
|
overridevirtual |
Should return all the inputs directly feeding in to this node.
Reimplemented from tracktion::graph::Node.
Definition at line 32 of file tracktion_RackInstanceNode.cpp.
|
overridevirtual |
Should return the properties of the node.
This should not be called until after initialise.
Implements tracktion::graph::Node.
Definition at line 37 of file tracktion_RackInstanceNode.cpp.
|
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.
Definition at line 63 of file tracktion_RackInstanceNode.cpp.
|
overridevirtual |
Called once before playback begins for each node.
Use this to allocate buffers etc. This step can be used to modify the topology of the graph (i.e. add/remove nodes). However, if you do this, you must make sure to call initialise on them so they are fully prepared for processing.
Reimplemented from tracktion::graph::Node.
Definition at line 47 of file tracktion_RackInstanceNode.cpp.
|
overridevirtual |
Called when the node is to be processed, just before process.
You shouldn't normally have to use this but it gives Nodes an opportunity to perform optimisations like steal input buffers from source if appropriate.
Reimplemented from tracktion::graph::Node.
Definition at line 68 of file tracktion_RackInstanceNode.cpp.
|
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.
Definition at line 74 of file tracktion_RackInstanceNode.cpp.