|
tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation |
Public Member Functions | |
| ThreadPoolCV (LockFreeMultiThreadedNodePlayer &p) | |
| void | createThreads (size_t numThreads, juce::AudioWorkgroup workgroupToUse) override |
| Subclasses should implement this to create the given number of threads. | |
| void | clearThreads () override |
| Subclasses should implement this to clear all the threads. | |
| void | signalOne () override |
| Called by the player when a Node becomes available to process. | |
| void | signal (int numToSignal) override |
| Called by the player when more than one Node becomes available to process. | |
| void | signalAll () override |
| Called by the player when more than one Node becomes available to process. | |
| void | wait () |
| void | waitForFinalNode () override |
| Called by the player when the audio thread has no free Nodes to process. | |
Public Member Functions inherited from tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool | |
| ThreadPool (LockFreeMultiThreadedNodePlayer &p) | |
| Constructs a ThreadPool for a given LockFreeMultiThreadedNodePlayer. | |
| virtual | ~ThreadPool ()=default |
| Destructor. | |
| void | signalShouldExit () |
| Signals the pool that all the threads should exit. | |
| void | resetExitSignal () |
| Signals the pool that all the threads should continue to run and not exit. | |
| bool | shouldExit () const |
| Returns true if all the threads should exit. | |
| bool | shouldWait () |
| Returns true if there are no free Nodes to be processed and the calling thread should wait until there are Nodes ready. | |
| bool | isFinalNodeReady () |
| Returns true if all the Nodes have been processed. | |
| bool | process () |
| Process the next chain of Nodes. | |
| void | setCurrentNode (LockFreeMultiThreadedNodePlayer::PreparedNode *nodeInUse) |
| Sets the current PreparedNode in use. | |
Additional Inherited Members | |
Public Attributes inherited from tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool | |
| LockFreeMultiThreadedNodePlayer & | player |
Definition at line 42 of file tracktion_NodePlayerThreadPools.cpp.
| tracktion::graph::ThreadPoolCV::ThreadPoolCV | ( | LockFreeMultiThreadedNodePlayer & | p | ) |
Definition at line 44 of file tracktion_NodePlayerThreadPools.cpp.
|
overridevirtual |
Subclasses should implement this to clear all the threads.
Implements tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool.
Definition at line 69 of file tracktion_NodePlayerThreadPools.cpp.
|
overridevirtual |
Subclasses should implement this to create the given number of threads.
Implements tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool.
Definition at line 49 of file tracktion_NodePlayerThreadPools.cpp.
|
overridevirtual |
Called by the player when more than one Node becomes available to process.
Subclasses should use this to try and get a thread to call process as soon as possible.
Implements tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool.
Definition at line 89 of file tracktion_NodePlayerThreadPools.cpp.
|
overridevirtual |
Called by the player when more than one Node becomes available to process.
Subclasses should use this to try and get a thread to call process as soon as possible.
Implements tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool.
Definition at line 100 of file tracktion_NodePlayerThreadPools.cpp.
|
overridevirtual |
Called by the player when a Node becomes available to process.
Subclasses should use this to try and get a thread to call process as soon as possible.
Implements tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool.
Definition at line 79 of file tracktion_NodePlayerThreadPools.cpp.
| void tracktion::graph::ThreadPoolCV::wait | ( | ) |
Definition at line 110 of file tracktion_NodePlayerThreadPools.cpp.
|
overridevirtual |
Called by the player when the audio thread has no free Nodes to process.
Subclasses should can use this to either spin, pause or wait until a Node does become free or isFinalNodeReady returns true.
Implements tracktion::graph::LockFreeMultiThreadedNodePlayer::ThreadPool.
Definition at line 131 of file tracktion_NodePlayerThreadPools.cpp.