TracktionEngine
|
An AudioNode that mixes a sequence of clips of other nodes. More...
Public Member Functions | |
CombiningAudioNode () | |
~CombiningAudioNode () override | |
void | addInput (legacy::EditTimeRange time, AudioNode *inputNode) |
Adds an input node to be played. More... | |
void | clear () |
void | getAudioNodeProperties (AudioNodeProperties &) override |
void | visitNodes (const VisitorFn &) override |
bool | purgeSubNodes (bool keepAudio, bool keepMidi) override |
Tells the node to delete any sub-nodes that don't produce the required type of output. More... | |
void | prepareAudioNodeToPlay (const PlaybackInitialisationInfo &) override |
tells the node to initialise itself ready for playing from the given time. More... | |
bool | isReadyToRender () override |
void | releaseAudioNodeResources () override |
tells the node that play has stopped, and it can free up anything it no longer needs. More... | |
void | renderOver (const AudioRenderContext &) override |
void | renderAdding (const AudioRenderContext &) override |
void | prepareForNextBlock (const AudioRenderContext &) override |
void | renderSection (const AudioRenderContext &, legacy::EditTimeRange) |
Public Member Functions inherited from tracktion::engine::AudioNode | |
AudioNode () | |
virtual | ~AudioNode () |
virtual juce::ReferenceCountedObjectPtr< Plugin > | getPlugin () const |
void | callRenderAdding (const AudioRenderContext &) |
void | callRenderOver (const AudioRenderContext &) |
Additional Inherited Members | |
Public Types inherited from tracktion::engine::AudioNode | |
using | VisitorFn = std::function< void(AudioNode &)> |
Static Public Member Functions inherited from tracktion::engine::AudioNode | |
template<typename CallbackType > | |
static void | invokeSplitRender (const AudioRenderContext &rc, CallbackType &target) |
An AudioNode that mixes a sequence of clips of other nodes.
This node takes a set of input AudioNodes with associated start + end times, and mixes together their output.
It initialises and releases its inputs as required according to its current play position.
tracktion::engine::CombiningAudioNode::CombiningAudioNode | ( | ) |
|
override |
void tracktion::engine::CombiningAudioNode::addInput | ( | legacy::EditTimeRange | time, |
AudioNode * | inputNode | ||
) |
Adds an input node to be played.
The offset is relative to the combining node's zero-time, so the input node's time of 0 is equal to its (start + offset) relative to the combiner node's start.
Any nodes passed-in will be deleted by this node when required.
void tracktion::engine::CombiningAudioNode::clear | ( | ) |
|
overridevirtual |
Implements tracktion::engine::AudioNode.
|
overridevirtual |
Implements tracktion::engine::AudioNode.
|
overridevirtual |
Tells the node to delete any sub-nodes that don't produce the required type of output.
This optimises out any unplayable bits of the audio graph. Returns true if this node should be kept, false if this node can itself be deleted.
Implements tracktion::engine::AudioNode.
|
overridevirtual |
tells the node to initialise itself ready for playing from the given time.
This call may be made more than once before releaseAudioNodeResources() is called
Implements tracktion::engine::AudioNode.
|
overridevirtual |
Implements tracktion::engine::AudioNode.
|
overridevirtual |
tells the node that play has stopped, and it can free up anything it no longer needs.
Implements tracktion::engine::AudioNode.
|
overridevirtual |
Implements tracktion::engine::AudioNode.
|
overridevirtual |
Implements tracktion::engine::AudioNode.
|
overridevirtual |
Reimplemented from tracktion::engine::AudioNode.
void tracktion::engine::CombiningAudioNode::renderSection | ( | const AudioRenderContext & | , |
legacy::EditTimeRange | |||
) |