|
TracktionEngine
|
Plays back a Node with PlayHeadState and ProcessState. More...
#include <tracktion_TracktionNodePlayer.h>
Public Member Functions | |
| TracktionNodePlayer (ProcessState &processStateToUse) | |
| Creates an NodePlayer to process a Node. | |
| TracktionNodePlayer (ProcessState &processStateToUse, tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPoolCreator poolCreator, juce::AudioWorkgroup audioWorkgroup={}) | |
| Creates an NodePlayer to process a Node. | |
| 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. | |
| void | setNumThreads (size_t numThreads) |
| Sets the number of threads to use for rendering. | |
| tracktion::graph::Node * | getNode () |
| 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. | |
| void | enablePooledMemoryAllocations (bool enablePooledMemory) |
| void | enableNodeMemorySharing (bool enableNodeMemorySharing) |
| void | setLatencyCompensationEnabled (bool shouldEnable) |
| Enables or disables latency compensation - it is enabled by default. | |
Plays back a Node with PlayHeadState and ProcessState.
| tracktion::engine::TracktionNodePlayer::TracktionNodePlayer | ( | ProcessState & | processStateToUse | ) |
Creates an NodePlayer to process a Node.
| tracktion::engine::TracktionNodePlayer::TracktionNodePlayer | ( | ProcessState & | processStateToUse, |
| tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPoolCreator | poolCreator, | ||
| juce::AudioWorkgroup | audioWorkgroup = {} |
||
| ) |
Creates an NodePlayer to process a Node.
| tracktion::engine::TracktionNodePlayer::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.
References tracktion::graph::LockFreeMultiThreadedNodePlayer::setNode().
| 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().
| tracktion::graph::Node * tracktion::engine::TracktionNodePlayer::getNode | ( | ) |
| void tracktion::engine::TracktionNodePlayer::setNode | ( | std::unique_ptr< tracktion::graph::Node > | newNode | ) |
| void tracktion::engine::TracktionNodePlayer::setNode | ( | std::unique_ptr< tracktion::graph::Node > | newNode, |
| double | sampleRateToUse, | ||
| int | blockSizeToUse | ||
| ) |
| void tracktion::engine::TracktionNodePlayer::prepareToPlay | ( | double | sampleRateToUse, |
| int | blockSizeToUse | ||
| ) |
| 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().
| void tracktion::engine::TracktionNodePlayer::clearNode | ( | ) |
Clears the Node currently playing.
References tracktion::graph::LockFreeMultiThreadedNodePlayer::clearNode().
| double tracktion::engine::TracktionNodePlayer::getSampleRate | ( | ) | const |
Returns the current sample rate.
References tracktion::graph::LockFreeMultiThreadedNodePlayer::getSampleRate().
| void tracktion::engine::TracktionNodePlayer::enablePooledMemoryAllocations | ( | bool | enablePooledMemory | ) |
| void tracktion::engine::TracktionNodePlayer::enableNodeMemorySharing | ( | bool | enableNodeMemorySharing | ) |
References enableNodeMemorySharing(), and tracktion::graph::LockFreeMultiThreadedNodePlayer::enableNodeMemorySharing().
Referenced by enableNodeMemorySharing().
| void tracktion::engine::TracktionNodePlayer::setLatencyCompensationEnabled | ( | bool | shouldEnable | ) |
Enables or disables latency compensation - it is enabled by default.
References tracktion::graph::LockFreeMultiThreadedNodePlayer::setLatencyCompensationEnabled().