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

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_ContainerClipNode.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
14//==============================================================================
15//==============================================================================
20{
21public:
22 ContainerClipNode (ProcessState& editProcessState,
23 EditItemID containerClipID,
24 BeatRange clipPosition,
25 BeatDuration clipOffset,
26 BeatRange clipLoopRange,
28
29 //==============================================================================
34 bool isReadyToProcess() override;
35 void process (ProcessContext&) override;
36
37private:
38 //==============================================================================
39 const EditItemID containerClipID;
40 const BeatRange clipPosition, loopRange;
41 const BeatDuration clipOffset;
43
45 NodeProperties nodeProperties { input->getNodeProperties() };
46
47 struct PlayerContext
48 {
49 graph::PlayHead playHead;
50 graph::PlayHeadState playHeadState { playHead };
51 ProcessState processState { playHeadState };
52 TracktionNodePlayer player { processState };
53 };
54
56};
57
58}} // namespace tracktion { inline namespace engine
void prepareToPlay(const tracktion::graph::PlaybackInitialisationInfo &) override
Called once before playback begins for each node.
void process(ProcessContext &) override
Called when the node is to be processed.
std::vector< Node * > getInternalNodes() override
Can return Nodes that are internal to this Node but don't make up the main graph constructed from get...
tracktion::graph::NodeProperties getNodeProperties() override
Should return the properties of the node.
std::vector< 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.
Base class for Nodes that provides information about the current process call.
Plays back a Node with PlayHeadState and ProcessState.
Main graph Node processor class.
Struct to describe a single iteration of a process call.
Determines how this block releates to other previous render blocks and if the play head has jumped in...
Converts a monotonically increasing reference range in to a timeline range.
Represents a duration in beats.
ID for objects of type EditElement - e.g.
Holds the state of a process call.
Holds some really basic properties of a node.
Passed into Nodes when they are being initialised, to give them useful contextual information that th...