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

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

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

#include "tracktion_MultiThreadedNodePlayer.h"

Public Member Functions

 MultiThreadedNodePlayer (ProcessState &processStateToUse)
 Creates an NodePlayer to process a Node.
 
 MultiThreadedNodePlayer (std::unique_ptr< tracktion::graph::Node > node, ProcessState &processStateToUse, double sampleRate, int blockSize)
 Creates an NodePlayer to process a Node.
 
void setNumThreads (size_t numThreads)
 Sets the number of threads to use for rendering.
 
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.
 
void clearNode ()
 Clears the Node currently playing.
 
double getSampleRate () const
 Returns the current sample rate.
 

Detailed Description

Plays back a Node with PlayHeadState and ProcessState.

Definition at line 22 of file tracktion_MultiThreadedNodePlayer.h.

Constructor & Destructor Documentation

◆ MultiThreadedNodePlayer() [1/2]

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

Creates an NodePlayer to process a Node.

Definition at line 26 of file tracktion_MultiThreadedNodePlayer.h.

◆ MultiThreadedNodePlayer() [2/2]

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

Creates an NodePlayer to process a Node.

Definition at line 33 of file tracktion_MultiThreadedNodePlayer.h.

Member Function Documentation

◆ clearNode()

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

Clears the Node currently playing.

Definition at line 126 of file tracktion_MultiThreadedNodePlayer.h.

◆ getNode()

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

Definition at line 50 of file tracktion_MultiThreadedNodePlayer.h.

◆ getSampleRate()

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

Returns the current sample rate.

Definition at line 132 of file tracktion_MultiThreadedNodePlayer.h.

◆ prepareToPlay()

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

Definition at line 65 of file tracktion_MultiThreadedNodePlayer.h.

◆ process()

int tracktion::engine::MultiThreadedNodePlayer::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.

Definition at line 73 of file tracktion_MultiThreadedNodePlayer.h.

◆ setNode() [1/2]

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

Definition at line 55 of file tracktion_MultiThreadedNodePlayer.h.

◆ setNode() [2/2]

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

Definition at line 60 of file tracktion_MultiThreadedNodePlayer.h.

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

Definition at line 45 of file tracktion_MultiThreadedNodePlayer.h.


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