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

Plays back a Node with PlayHeadState and ProcessState. More...

Public Member Functions

 TracktionNodePlayer (ProcessState &processStateToUse)
 Creates an NodePlayer to process a Node. More...
 
 TracktionNodePlayer (ProcessState &processStateToUse, tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPoolCreator poolCreator)
 Creates an NodePlayer to process a Node. More...
 
 TracktionNodePlayer (std::unique_ptr< tracktion::graph::Node > node, ProcessState &processStateToUse, double sampleRate, int blockSize, tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPoolCreator poolCreator)
 Creates an NodePlayer to process a Node. More...
 
void setNumThreads (size_t numThreads)
 Sets the number of threads to use for rendering. More...
 
tracktion::graph::NodegetNode ()
 
void setNode (std::unique_ptr< tracktion::graph::Node > newNode)
 
void setNode (std::unique_ptr< tracktion::graph::Node > newNode, double sampleRateToUse, int blockSizeToUse)
 
void prepareToPlay (double sampleRateToUse, int blockSizeToUse)
 
int process (const tracktion::graph::Node::ProcessContext &pc)
 Processes a block of audio and MIDI data. More...
 
void clearNode ()
 Clears the Node currently playing. More...
 
double getSampleRate () const
 Returns the current sample rate. More...
 
void enablePooledMemoryAllocations (bool enablePooledMemory)
 

Detailed Description

Plays back a Node with PlayHeadState and ProcessState.

Constructor & Destructor Documentation

◆ TracktionNodePlayer() [1/3]

tracktion::engine::TracktionNodePlayer::TracktionNodePlayer ( ProcessState processStateToUse)

Creates an NodePlayer to process a Node.

◆ TracktionNodePlayer() [2/3]

tracktion::engine::TracktionNodePlayer::TracktionNodePlayer ( ProcessState processStateToUse,
tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPoolCreator  poolCreator 
)

Creates an NodePlayer to process a Node.

◆ TracktionNodePlayer() [3/3]

tracktion::engine::TracktionNodePlayer::TracktionNodePlayer ( std::unique_ptr< tracktion::graph::Node node,
ProcessState processStateToUse,
double  sampleRate,
int  blockSize,
tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPoolCreator  poolCreator 
)

Member Function Documentation

◆ setNumThreads()

void tracktion::engine::TracktionNodePlayer::setNumThreads ( size_t  numThreads)

Sets the number of threads to use for rendering.

This can be 0 in which case only the process calling thread will be used for processing. N.B. this will pause processing whilst updating the threads so there will be a gap in the audio.

References tracktion::graph::LockFreeMultiThreadedNodePlayer::setNumThreads().

◆ getNode()

tracktion::graph::Node* tracktion::engine::TracktionNodePlayer::getNode ( )

◆ setNode() [1/2]

void tracktion::engine::TracktionNodePlayer::setNode ( std::unique_ptr< tracktion::graph::Node newNode)

◆ setNode() [2/2]

void tracktion::engine::TracktionNodePlayer::setNode ( std::unique_ptr< tracktion::graph::Node newNode,
double  sampleRateToUse,
int  blockSizeToUse 
)

◆ prepareToPlay()

void tracktion::engine::TracktionNodePlayer::prepareToPlay ( double  sampleRateToUse,
int  blockSizeToUse 
)

◆ process()

int tracktion::engine::TracktionNodePlayer::process ( const tracktion::graph::Node::ProcessContext pc)

Processes a block of audio and MIDI data.

Returns the number of times a node was checked but unable to be processed.

References tracktion::graph::PlayHeadState::playHead, tracktion::graph::Node::ProcessContext::referenceSampleRange, and tracktion::graph::PlayHead::setReferenceSampleRange().

◆ clearNode()

void tracktion::engine::TracktionNodePlayer::clearNode ( )

Clears the Node currently playing.

References tracktion::graph::LockFreeMultiThreadedNodePlayer::clearNode().

◆ getSampleRate()

double tracktion::engine::TracktionNodePlayer::getSampleRate ( ) const

Returns the current sample rate.

References tracktion::graph::LockFreeMultiThreadedNodePlayer::getSampleRate().

◆ enablePooledMemoryAllocations()

void tracktion::engine::TracktionNodePlayer::enablePooledMemoryAllocations ( bool  enablePooledMemory)

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