TracktionEngine
Public Member Functions | List of all members
tracktion::engine::CombiningAudioNode Class Reference

An AudioNode that mixes a sequence of clips of other nodes. More...

Inheritance diagram for tracktion::engine::CombiningAudioNode:

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< PlugingetPlugin () 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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ CombiningAudioNode()

tracktion::engine::CombiningAudioNode::CombiningAudioNode ( )

◆ ~CombiningAudioNode()

tracktion::engine::CombiningAudioNode::~CombiningAudioNode ( )
override

Member Function Documentation

◆ addInput()

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.

◆ clear()

void tracktion::engine::CombiningAudioNode::clear ( )

◆ getAudioNodeProperties()

void tracktion::engine::CombiningAudioNode::getAudioNodeProperties ( AudioNodeProperties )
overridevirtual

◆ visitNodes()

void tracktion::engine::CombiningAudioNode::visitNodes ( const VisitorFn )
overridevirtual

◆ purgeSubNodes()

bool tracktion::engine::CombiningAudioNode::purgeSubNodes ( bool  keepAudio,
bool  keepMidi 
)
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.

◆ prepareAudioNodeToPlay()

void tracktion::engine::CombiningAudioNode::prepareAudioNodeToPlay ( const PlaybackInitialisationInfo )
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.

◆ isReadyToRender()

bool tracktion::engine::CombiningAudioNode::isReadyToRender ( )
overridevirtual

◆ releaseAudioNodeResources()

void tracktion::engine::CombiningAudioNode::releaseAudioNodeResources ( )
overridevirtual

tells the node that play has stopped, and it can free up anything it no longer needs.

Implements tracktion::engine::AudioNode.

◆ renderOver()

void tracktion::engine::CombiningAudioNode::renderOver ( const AudioRenderContext )
overridevirtual

◆ renderAdding()

void tracktion::engine::CombiningAudioNode::renderAdding ( const AudioRenderContext )
overridevirtual

◆ prepareForNextBlock()

void tracktion::engine::CombiningAudioNode::prepareForNextBlock ( const AudioRenderContext )
overridevirtual

Reimplemented from tracktion::engine::AudioNode.

◆ renderSection()

void tracktion::engine::CombiningAudioNode::renderSection ( const AudioRenderContext ,
legacy::EditTimeRange   
)

The documentation for this class was generated from the following file: