tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_InsertSendNode.h
Go to the documentation of this file.
1 /*
2 ,--. ,--. ,--. ,--.
3 ,-' '-.,--.--.,--,--.,---.| |,-.,-' '-.`--' ,---. ,--,--, Copyright 2024
4 '-. .-'| .--' ,-. | .--'| /'-. .-',--.| .-. || \ Tracktion Software
5 | | | | \ '-' \ `--.| \ \ | | | |' '-' '| || | Corporation
6 `---' `--' `--`--'`---'`--'`--' `---' `--' `---' `--''--' www.tracktion.com
7
8 Tracktion Engine uses a GPL/commercial licence - see LICENCE.md for details.
9*/
10
11namespace tracktion { inline namespace engine
12{
13
14class InsertSendNode;
15
16//==============================================================================
17//==============================================================================
19{
20public:
22 ~InsertNode() override;
23
24 InsertPlugin& getInsert() const { return owner; }
25 Node& getInputNode() { return *input; }
26
31 bool isReadyToProcess() override;
32 void process (ProcessContext&) override;
33
34private:
35 InsertPlugin& owner;
36 Plugin::Ptr plugin;
37
39 std::unique_ptr<Node> returnNode;
40 InsertSendNode* sendNode = nullptr;
41
42 bool isInitialised = false;
43};
44
45
46//==============================================================================
47//==============================================================================
53{
54public:
56
57 InsertPlugin& getInsert() { return owner; }
58 int getLatencyAtInput();
59
60 //==============================================================================
65 bool isReadyToProcess() override;
66 void process (ProcessContext&) override;
67
68private:
69 //==============================================================================
70 InsertPlugin& owner;
71 Plugin::Ptr plugin;
72 Node* input = nullptr;
73};
74
75}} // namespace tracktion { inline namespace engine
TransformResult transform(Node &, const std::vector< Node * > &, TransformCache &) override
Called after construction to give the node a chance to modify its topology.
tracktion::graph::NodeProperties getNodeProperties() override
Should return the properties of the node.
bool isReadyToProcess() override
Should return true when this node is ready to be processed.
void process(ProcessContext &) override
Called when the node is to be processed.
std::vector< Node * > getDirectInputNodes() override
Should return all the inputs directly feeding in to this node.
void prepareToPlay(const tracktion::graph::PlaybackInitialisationInfo &) override
Called once before playback begins for each node.
The send node picks up audio/MIDI data from the InsertPlugin and then its output will be sent to the ...
void process(ProcessContext &) override
Called when the node is to be processed.
TransformResult transform(Node &, const std::vector< Node * > &, TransformCache &) override
Called after construction to give the node a chance to modify its topology.
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.
bool isReadyToProcess() override
Should return true when this node is ready to be processed.
void prepareToPlay(const tracktion::graph::PlaybackInitialisationInfo &) override
Called once before playback begins for each node.
Main graph Node processor class.
Struct to describe a single iteration of a process call.
TransformResult
Enum to signify the result of the transform function.
Holds some really basic properties of a node.
Passed into Nodes when they are being initialised, to give them useful contextual information that th...