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

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
tracktion::engine::AudioNode Class Referenceabstract

Base class for nodes in an audio playback graph. More...

#include "tracktion_AudioNode.h"

Inheritance diagram for tracktion::engine::AudioNode:
tracktion::engine::CombiningAudioNode tracktion::engine::PluginAudioNode tracktion::engine::SingleInputAudioNode tracktion::engine::SubSampleWaveAudioNode tracktion::engine::WaveAudioNode tracktion::engine::FadeInOutAudioNode tracktion::engine::MuteAudioNode tracktion::engine::SpeedRampAudioNode tracktion::engine::TimedMutingAudioNode

Public Types

using VisitorFn = std::function< void(AudioNode &)>
 

Public Member Functions

virtual void getAudioNodeProperties (AudioNodeProperties &)=0
 
virtual void prepareAudioNodeToPlay (const PlaybackInitialisationInfo &)=0
 tells the node to initialise itself ready for playing from the given time.
 
virtual bool purgeSubNodes (bool keepAudio, bool keepMidi)=0
 Tells the node to delete any sub-nodes that don't produce the required type of output.
 
virtual void releaseAudioNodeResources ()=0
 tells the node that play has stopped, and it can free up anything it no longer needs.
 
virtual void visitNodes (const VisitorFn &)=0
 
virtual juce::ReferenceCountedObjectPtr< PlugingetPlugin () const
 
virtual void prepareForNextBlock (const AudioRenderContext &)
 
virtual bool isReadyToRender ()=0
 
virtual void renderOver (const AudioRenderContext &)=0
 
virtual void renderAdding (const AudioRenderContext &)=0
 
void callRenderAdding (const AudioRenderContext &)
 
void callRenderOver (const AudioRenderContext &)
 

Static Public Member Functions

template<typename CallbackType >
static void invokeSplitRender (const AudioRenderContext &rc, CallbackType &target)
 

Detailed Description

Base class for nodes in an audio playback graph.

Definition at line 172 of file tracktion_AudioNode.h.

Member Typedef Documentation

◆ VisitorFn

Definition at line 198 of file tracktion_AudioNode.h.

Constructor & Destructor Documentation

◆ AudioNode()

tracktion::engine::AudioNode::AudioNode ( )

Definition at line 14 of file tracktion_AudioNode.cpp.

◆ ~AudioNode()

tracktion::engine::AudioNode::~AudioNode ( )
virtual

Definition at line 18 of file tracktion_AudioNode.cpp.

Member Function Documentation

◆ callRenderAdding()

void tracktion::engine::AudioNode::callRenderAdding ( const AudioRenderContext rc)

Definition at line 22 of file tracktion_AudioNode.cpp.

◆ callRenderOver()

void tracktion::engine::AudioNode::callRenderOver ( const AudioRenderContext rc)

Definition at line 47 of file tracktion_AudioNode.cpp.

◆ getPlugin()

virtual juce::ReferenceCountedObjectPtr< Plugin > tracktion::engine::AudioNode::getPlugin ( ) const
virtual

Definition at line 201 of file tracktion_AudioNode.h.

◆ invokeSplitRender()

template<typename CallbackType >
static void tracktion::engine::AudioNode::invokeSplitRender ( const AudioRenderContext rc,
CallbackType &  target 
)
static

Definition at line 215 of file tracktion_AudioNode.h.

◆ prepareAudioNodeToPlay()

virtual void tracktion::engine::AudioNode::prepareAudioNodeToPlay ( const PlaybackInitialisationInfo )
pure virtual

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

Implemented in tracktion::engine::SingleInputAudioNode, tracktion::engine::CombiningAudioNode, tracktion::engine::WaveAudioNode, tracktion::engine::PluginAudioNode, and tracktion::engine::SubSampleWaveAudioNode.

◆ prepareForNextBlock()

virtual void tracktion::engine::AudioNode::prepareForNextBlock ( const AudioRenderContext )
virtual

Definition at line 204 of file tracktion_AudioNode.h.

◆ purgeSubNodes()

virtual bool tracktion::engine::AudioNode::purgeSubNodes ( bool  keepAudio,
bool  keepMidi 
)
pure virtual

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.

Implemented in tracktion::engine::SingleInputAudioNode, tracktion::engine::CombiningAudioNode, tracktion::engine::PluginAudioNode, tracktion::engine::WaveAudioNode, and tracktion::engine::SubSampleWaveAudioNode.

◆ releaseAudioNodeResources()

virtual void tracktion::engine::AudioNode::releaseAudioNodeResources ( )
pure virtual

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