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

« « « Anklang Documentation
Loading...
Searching...
No Matches
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
11namespace tracktion { inline namespace engine
12{
13
14//==============================================================================
15//==============================================================================
20 private juce::Timer
21{
22public:
23 MelodyneNode (AudioClipBase&, tracktion::graph::PlayHead&, bool isOfflineRender);
24 ~MelodyneNode() override;
25
26 //==============================================================================
30 bool isReadyToProcess() override;
31 void process (ProcessContext&) override;
32
33private:
34 //==============================================================================
35 class MelodynePlayhead;
36
37 AudioClipBase& clip;
39 LiveClipLevel clipLevel;
40 Clip::Ptr clipPtr;
41 MelodyneFileReader::Ptr melodyneProxy;
42 const AudioFileInfo fileInfo;
43 juce::MidiBuffer midiMessages;
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
Base class for Clips that produce some kind of audio e.g.
This class is a necessary bodge due to ARA needing to be told that we're playing, even if we aren't,...
Plays back a Melodyne plugin.
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.
void process(ProcessContext &) override
Called when the node is to be processed.
void prepareToPlay(const tracktion::graph::PlaybackInitialisationInfo &) override
Called once before playback begins for each node.
bool isReadyToProcess() override
Should return true when this node is ready to be processed.
Main graph Node processor class.
Struct to describe a single iteration of a process call.
Converts a monotonically increasing reference range in to a timeline range.
Provides a thread-safe way to share a clip's levels with an audio engine without worrying about the C...
Holds some really basic properties of a node.
Passed into Nodes when they are being initialised, to give them useful contextual information that th...