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

An AudioNode that plays back a wave file. More...

Inheritance diagram for tracktion::engine::WaveAudioNode:

Public Member Functions

 WaveAudioNode (const AudioFile &file, legacy::EditTimeRange editTime, double offset, legacy::EditTimeRange loopSection, LiveClipLevel level, double speedRatio, const juce::AudioChannelSet &channelsToUse)
 offset is a time added to the start of the file, e.g. More...
 
 ~WaveAudioNode () override
 
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 editTime)
 
- 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 plays back a wave file.

Constructor & Destructor Documentation

◆ WaveAudioNode()

tracktion::engine::WaveAudioNode::WaveAudioNode ( const AudioFile file,
legacy::EditTimeRange  editTime,
double  offset,
legacy::EditTimeRange  loopSection,
LiveClipLevel  level,
double  speedRatio,
const juce::AudioChannelSet &  channelsToUse 
)

offset is a time added to the start of the file, e.g.

an offset of 10.0 would produce ten seconds of silence followed by the file.

gain may be 0, or a pointer to a floating point value which is referred to as the gain to use when converting the file contents to floating point. e.g. gain of 2.0f will double the values returned.

◆ ~WaveAudioNode()

tracktion::engine::WaveAudioNode::~WaveAudioNode ( )
override

Member Function Documentation

◆ getAudioNodeProperties()

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

◆ visitNodes()

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

◆ purgeSubNodes()

bool tracktion::engine::WaveAudioNode::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::WaveAudioNode::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::WaveAudioNode::isReadyToRender ( )
overridevirtual

◆ releaseAudioNodeResources()

void tracktion::engine::WaveAudioNode::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::WaveAudioNode::renderOver ( const AudioRenderContext )
overridevirtual

◆ renderAdding()

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

◆ prepareForNextBlock()

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

Reimplemented from tracktion::engine::AudioNode.

◆ renderSection()

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

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