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

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

Public Member Functions

 MultiThreadedNodePlayer (ProcessState &processStateToUse)
 Creates an NodePlayer to process a Node. More...
 
 MultiThreadedNodePlayer (std::unique_ptr< tracktion::graph::Node > node, ProcessState &processStateToUse, double sampleRate, int blockSize)
 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...
 

Detailed Description

Plays back a Node with PlayHeadState and ProcessState.

Constructor & Destructor Documentation

◆ MultiThreadedNodePlayer() [1/2]

tracktion::engine::MultiThreadedNodePlayer::MultiThreadedNodePlayer ( ProcessState processStateToUse)

Creates an NodePlayer to process a Node.

◆ MultiThreadedNodePlayer() [2/2]

tracktion::engine::MultiThreadedNodePlayer::MultiThreadedNodePlayer ( std::unique_ptr< tracktion::graph::Node node,
ProcessState processStateToUse,
double  sampleRate,
int  blockSize 
)

Member Function Documentation

◆ setNumThreads()

void tracktion::engine::MultiThreadedNodePlayer::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::MultiThreadedNodePlayer::setNumThreads().

◆ getNode()

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

◆ setNode() [1/2]

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

◆ setNode() [2/2]

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

◆ prepareToPlay()

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

◆ process()

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

◆ clearNode()

void tracktion::engine::MultiThreadedNodePlayer::clearNode ( )

Clears the Node currently playing.

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

◆ getSampleRate()

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

Returns the current sample rate.

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


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