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

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_RackReturnNode.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
18{
19public:
24 std::function<float()> wetGainFunc,
25 Node* dryNode,
26 std::function<float()> dryGainFunc);
27
32 bool isReadyToProcess() override;
33 void preProcess (choc::buffer::FrameCount, juce::Range<int64_t>) override;
34 void process (ProcessContext&) override;
35
36private:
37 //==============================================================================
38 std::unique_ptr<Node> wetInput, dryLatencyNode;
39 Node* dryInput = nullptr;
40 std::function<float()> wetGainFunction, dryGainFunction;
41 float lastWetGain = 0.0f, lastDryGain = 0.0f;
42 bool hasTransformed = false, canUseWetSourceBuffers = false;
43};
44
45}} // namespace tracktion { inline namespace engine
Sends an input Node to a Rack bus handling the channel mapping and channel gain levels.
tracktion::graph::NodeProperties getNodeProperties() override
Should return the properties of the node.
void preProcess(choc::buffer::FrameCount, juce::Range< int64_t >) override
Called when the node is to be processed, just before process.
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.
TransformResult transform(Node &, const std::vector< Node * > &, TransformCache &) override
Called after construction to give the node a chance to modify its topology.
Main graph Node processor class.
Struct to describe a single iteration of a process call.
typedef float
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...