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_MelodyneNode.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
MelodyneNode
final :
public
tracktion::graph::Node
,
20
private
juce::Timer
21
{
22
public
:
23
MelodyneNode
(
AudioClipBase
&,
tracktion::graph::PlayHead
&,
bool
isOfflineRender);
24
~MelodyneNode
()
override
;
25
26
//==============================================================================
27
tracktion::graph::NodeProperties
getNodeProperties
()
override
;
28
std::vector<Node*>
getDirectInputNodes
()
override
;
29
void
prepareToPlay
(
const
tracktion::graph::PlaybackInitialisationInfo
&)
override
;
30
bool
isReadyToProcess
()
override
;
31
void
process
(
ProcessContext
&)
override
;
32
33
private
:
34
//==============================================================================
35
class
MelodynePlayhead
;
36
37
AudioClipBase
& clip;
38
tracktion::graph::PlayHead
& playHead;
39
LiveClipLevel
clipLevel;
40
Clip::Ptr
clipPtr;
41
MelodyneFileReader::Ptr
melodyneProxy;
42
const
AudioFileInfo
fileInfo;
43
juce::MidiBuffer
midiMessages;
44
juce::PluginDescription
desc;
45
std::unique_ptr<MelodynePlayhead>
playhead;
46
bool
isOfflineRender =
false
;
47
std::atomic<bool>
analysingContent {
true
};
48
49
//==============================================================================
50
void
updateAnalysingState();
51
void
timerCallback()
override
;
52
};
53
54
}}
// namespace tracktion { inline namespace engine
std::atomic
juce::MidiBuffer
juce::PluginDescription
juce::ReferenceCountedObjectPtr< Clip >
juce::Timer
tracktion::engine::AudioClipBase
Base class for Clips that produce some kind of audio e.g.
Definition
tracktion_AudioClipBase.h:34
tracktion::engine::MelodyneNode::MelodynePlayhead
This class is a necessary bodge due to ARA needing to be told that we're playing, even if we aren't,...
Definition
tracktion_MelodyneNode.cpp:20
tracktion::engine::MelodyneNode
Plays back a Melodyne plugin.
Definition
tracktion_MelodyneNode.h:21
tracktion::engine::MelodyneNode::getNodeProperties
tracktion::graph::NodeProperties getNodeProperties() override
Should return the properties of the node.
Definition
tracktion_MelodyneNode.cpp:129
tracktion::engine::MelodyneNode::getDirectInputNodes
std::vector< Node * > getDirectInputNodes() override
Should return all the inputs directly feeding in to this node.
Definition
tracktion_MelodyneNode.cpp:142
tracktion::engine::MelodyneNode::process
void process(ProcessContext &) override
Called when the node is to be processed.
Definition
tracktion_MelodyneNode.cpp:179
tracktion::engine::MelodyneNode::prepareToPlay
void prepareToPlay(const tracktion::graph::PlaybackInitialisationInfo &) override
Called once before playback begins for each node.
Definition
tracktion_MelodyneNode.cpp:147
tracktion::engine::MelodyneNode::isReadyToProcess
bool isReadyToProcess() override
Should return true when this node is ready to be processed.
Definition
tracktion_MelodyneNode.cpp:171
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::graph::PlayHead
Converts a monotonically increasing reference range in to a timeline range.
Definition
tracktion_PlayHead.h:52
tracktion
Definition
tracktion_AudioReader.h:23
tracktion::engine::AudioFileInfo
Definition
tracktion_AudioFile.h:18
tracktion::engine::LiveClipLevel
Provides a thread-safe way to share a clip's levels with an audio engine without worrying about the C...
Definition
tracktion_Clip.h:28
tracktion::graph::NodeProperties
Holds some really basic properties of a node.
Definition
tracktion_Node.h:152
tracktion::graph::PlaybackInitialisationInfo
Passed into Nodes when they are being initialised, to give them useful contextual information that th...
Definition
tracktion_Node.h:140
std::unique_ptr
std::vector
« « « Anklang Documentation