tracktion-engine
3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_engine
playback
graph
tracktion_FadeInOutNode.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
11
namespace
tracktion
{
inline
namespace
engine
12
{
13
14
//==============================================================================
15
//==============================================================================
19
class
FadeInOutNode
final :
public
Node
,
20
public
TracktionEngineNode
,
21
public
DynamicallyOffsettableNodeBase
22
{
23
public
:
24
FadeInOutNode
(
std::unique_ptr<tracktion::graph::Node>
input,
25
ProcessState
&,
26
TimeRange fadeIn, TimeRange fadeOut,
27
AudioFadeCurve::Type
fadeInType,
AudioFadeCurve::Type
fadeOutType,
28
bool
clearSamplesOutsideFade);
29
30
void
setDynamicOffsetTime
(
TimeDuration
)
override
;
31
32
//==============================================================================
33
tracktion::graph::NodeProperties
getNodeProperties
()
override
;
34
std::vector<Node*>
getDirectInputNodes
()
override
;
35
bool
isReadyToProcess
()
override
;
36
void
process
(
ProcessContext
&)
override
;
37
38
private
:
39
//==============================================================================
40
std::unique_ptr<tracktion::graph::Node>
input;
41
TimeRange fadeIn, fadeOut;
42
AudioFadeCurve::Type
fadeInType, fadeOutType;
43
bool
clearExtraSamples =
true
;
44
TimeDuration
dynamicOffset;
45
46
//==============================================================================
47
bool
renderingNeeded (TimeRange);
48
};
49
50
}}
// namespace tracktion { inline namespace engine
tracktion::engine::DynamicallyOffsettableNodeBase
Definition
tracktion_TracktionEngineNode.h:164
tracktion::engine::FadeInOutNode
A Node that fades in and out given time regions.
Definition
tracktion_FadeInOutNode.h:22
tracktion::engine::FadeInOutNode::getDirectInputNodes
std::vector< Node * > getDirectInputNodes() override
Should return all the inputs directly feeding in to this node.
Definition
tracktion_FadeInOutNode.cpp:146
tracktion::engine::FadeInOutNode::setDynamicOffsetTime
void setDynamicOffsetTime(TimeDuration) override
Sets an offset to be applied to all times in this node, effectively shifting it forwards or backwards...
Definition
tracktion_FadeInOutNode.cpp:133
tracktion::engine::FadeInOutNode::getNodeProperties
tracktion::graph::NodeProperties getNodeProperties() override
Should return the properties of the node.
Definition
tracktion_FadeInOutNode.cpp:138
tracktion::engine::FadeInOutNode::isReadyToProcess
bool isReadyToProcess() override
Should return true when this node is ready to be processed.
Definition
tracktion_FadeInOutNode.cpp:151
tracktion::engine::FadeInOutNode::process
void process(ProcessContext &) override
Called when the node is to be processed.
Definition
tracktion_FadeInOutNode.cpp:156
tracktion::engine::TracktionEngineNode
Base class for Nodes that provides information about the current process call.
Definition
tracktion_TracktionEngineNode.h:100
tracktion::graph::Node
Main graph Node processor class.
Definition
tracktion_Node.h:217
tracktion::graph::Node::ProcessContext
Struct to describe a single iteration of a process call.
Definition
tracktion_Node.h:303
tracktion
Definition
tracktion_AudioReader.h:23
tracktion::TimeDuration
Represents a duration in real-life time.
Definition
tracktion_Time.h:99
tracktion::engine::AudioFadeCurve::Type
Type
A enumeration of the curve classes available.
Definition
tracktion_AudioFadeCurve.h:47
tracktion::engine::ProcessState
Holds the state of a process call.
Definition
tracktion_TracktionEngineNode.h:20
tracktion::graph::NodeProperties
Holds some really basic properties of a node.
Definition
tracktion_Node.h:152
std::unique_ptr
std::vector
« « « Anklang Documentation