|
tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation |
The base class that all generator jobs derive from. More...
#include "tracktion_RenderManager.h"
Classes | |
| struct | Listener |
Public Types | |
| using | Ptr = juce::ReferenceCountedObjectPtr< Job > |
Public Types inherited from juce::ThreadPoolJob | |
| enum | JobStatus |
Public Member Functions | |
| JobStatus | runJob () override |
| Performs the render. | |
| float | getCurrentTaskProgress () override |
| Returns the progress of the job. | |
| void | cancelJob () |
| Cancels the current job safely making sure any listeners are called appropriately. | |
| void | cleanUpDanglingJob () |
| Called during app shutdown by the manager on any jobs that haven't had a chance to recieve their async completion callbacks. | |
| void | incReferenceCount () noexcept |
| bool | decReferenceCountWithoutDeleting () noexcept |
| int | getReferenceCount () const noexcept |
| void | addListener (Listener *l) |
| void | removeListener (Listener *l) |
| virtual bool | setUpRender ()=0 |
| Subclasses should override this to set-up their render process. | |
| virtual bool | renderNextBlock ()=0 |
| During a render process this will be repeatedly called. | |
| virtual bool | completeRender ()=0 |
| This is called once after all the render blocks have completed. | |
Public Member Functions inherited from tracktion::engine::ThreadPoolJobWithProgress | |
| ThreadPoolJobWithProgress (const juce::String &name) | |
| virtual bool | canCancel () const |
| void | setManager (BackgroundJobManager &) |
| void | setName (const juce::String &newName) |
| Sets the job's name but also updates the manager so the list will reflect it. | |
| void | prepareForJobDeletion () |
| Call this in your sub-class destructor to to remvoe it from the manager queue before this class's destructor is called which can result in a pure virtual call. | |
Public Member Functions inherited from juce::ThreadPoolJob | |
| ThreadPoolJob (const String &name) | |
| String | getJobName () const |
| void | setJobName (const String &newName) |
| bool | isRunning () const noexcept |
| bool | shouldExit () const noexcept |
| void | signalJobShouldExit () |
| void | addListener (Thread::Listener *) |
| void | removeListener (Thread::Listener *) |
Public Attributes | |
| Engine & | engine |
| AudioFile | proxy |
| std::atomic< float > | progress |
Public Attributes inherited from juce::ThreadPoolJob | |
| jobHasFinished | |
| jobNeedsRunningAgain | |
Protected Member Functions | |
| Job (Engine &, const AudioFile &proxy) | |
Additional Inherited Members | |
Static Public Member Functions inherited from juce::ThreadPoolJob | |
| static ThreadPoolJob * | getCurrentThreadPoolJob () |
The base class that all generator jobs derive from.
This provides access to the jobs progress and also a listener interface so subclasses can be notified when a job is started or completed.
Definition at line 29 of file tracktion_RenderManager.h.
Definition at line 35 of file tracktion_RenderManager.h.
|
override |
Definition at line 29 of file tracktion_RenderManager.cpp.
Definition at line 14 of file tracktion_RenderManager.cpp.
| void tracktion::engine::RenderManager::Job::addListener | ( | Listener * | l | ) |
Definition at line 66 of file tracktion_RenderManager.h.
| void tracktion::engine::RenderManager::Job::cancelJob | ( | ) |
Cancels the current job safely making sure any listeners are called appropriately.
Definition at line 76 of file tracktion_RenderManager.cpp.
| void tracktion::engine::RenderManager::Job::cleanUpDanglingJob | ( | ) |
Called during app shutdown by the manager on any jobs that haven't had a chance to recieve their async completion callbacks.
Definition at line 51 of file tracktion_RenderManager.h.
|
pure virtual |
This is called once after all the render blocks have completed.
Subclasses should override this to finish off their render by closing files and etc. returning true if everything completed successfully, false otherwise.
Implemented in tracktion::engine::AggregateJob, tracktion::engine::EditRenderJob, tracktion::engine::ReverseRenderJob, tracktion::engine::TransientDetectionJob, and tracktion::engine::WarpTimeRenderJob.
|
noexcept |
Definition at line 87 of file tracktion_RenderManager.cpp.
|
overridevirtual |
Returns the progress of the job.
Implements tracktion::engine::ThreadPoolJobWithProgress.
Definition at line 43 of file tracktion_RenderManager.h.
|
noexcept |
Definition at line 56 of file tracktion_RenderManager.h.
|
noexcept |
Definition at line 54 of file tracktion_RenderManager.h.
| void tracktion::engine::RenderManager::Job::removeListener | ( | Listener * | l | ) |
Definition at line 67 of file tracktion_RenderManager.h.
|
pure virtual |
During a render process this will be repeatedly called.
Return true once all the blocks have completed, false if this needs to be called again.
Implemented in tracktion::engine::AggregateJob, tracktion::engine::EditRenderJob, tracktion::engine::ReverseRenderJob, tracktion::engine::TransientDetectionJob, and tracktion::engine::WarpTimeRenderJob.
|
overridevirtual |
Performs the render.
Implements juce::ThreadPoolJob.
Definition at line 38 of file tracktion_RenderManager.cpp.
|
pure virtual |
Subclasses should override this to set-up their render process.
Return true if the set-up completed successfully and the rest of the render callbacks should be called, false if there was a problem and the render should be stopped.
Implemented in tracktion::engine::AggregateJob, tracktion::engine::EditRenderJob, tracktion::engine::ReverseRenderJob, tracktion::engine::TransientDetectionJob, and tracktion::engine::WarpTimeRenderJob.
| Engine& tracktion::engine::RenderManager::Job::engine |
Definition at line 70 of file tracktion_RenderManager.h.
| std::atomic<float> tracktion::engine::RenderManager::Job::progress |
Definition at line 72 of file tracktion_RenderManager.h.
| AudioFile tracktion::engine::RenderManager::Job::proxy |
Definition at line 71 of file tracktion_RenderManager.h.