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

« « « Anklang Documentation
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
tracktion::engine::CombiningAudioNode Class Reference

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

#include "tracktion_CombiningAudioNode.h"

Inheritance diagram for tracktion::engine::CombiningAudioNode:
tracktion::engine::AudioNode

Classes

struct  TimedAudioNode
 

Public Member Functions

void addInput (legacy::EditTimeRange time, AudioNode *inputNode)
 Adds an input node to be played.
 
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.
 
void prepareAudioNodeToPlay (const PlaybackInitialisationInfo &) override
 tells the node to initialise itself ready for playing from the given time.
 
bool isReadyToRender () override
 
void releaseAudioNodeResources () override
 tells the node that play has stopped, and it can free up anything it no longer needs.
 
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
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.

Definition at line 27 of file tracktion_CombiningAudioNode.h.

Constructor & Destructor Documentation

◆ CombiningAudioNode()

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

Definition at line 71 of file tracktion_CombiningAudioNode.cpp.

◆ ~CombiningAudioNode()

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

Definition at line 72 of file tracktion_CombiningAudioNode.cpp.

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.

Definition at line 74 of file tracktion_CombiningAudioNode.cpp.

◆ clear()

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

Definition at line 127 of file tracktion_CombiningAudioNode.cpp.

◆ getAudioNodeProperties()

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

Implements tracktion::engine::AudioNode.

Definition at line 135 of file tracktion_CombiningAudioNode.cpp.

◆ isReadyToRender()

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

Implements tracktion::engine::AudioNode.

Definition at line 178 of file tracktion_CombiningAudioNode.cpp.

◆ 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.

Definition at line 168 of file tracktion_CombiningAudioNode.cpp.

◆ prepareForNextBlock()

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

Reimplemented from tracktion::engine::AudioNode.

Definition at line 223 of file tracktion_CombiningAudioNode.cpp.

◆ 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.

Definition at line 150 of file tracktion_CombiningAudioNode.cpp.

◆ 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.

Definition at line 187 of file tracktion_CombiningAudioNode.cpp.

◆ renderAdding()

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

Implements tracktion::engine::AudioNode.

Definition at line 198 of file tracktion_CombiningAudioNode.cpp.

◆ renderOver()

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

Implements tracktion::engine::AudioNode.

Definition at line 193 of file tracktion_CombiningAudioNode.cpp.

◆ renderSection()

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

Definition at line 206 of file tracktion_CombiningAudioNode.cpp.

◆ visitNodes()

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

Implements tracktion::engine::AudioNode.

Definition at line 142 of file tracktion_CombiningAudioNode.cpp.


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