#include <AudioPluginImageProcessor.h>
Coordinates processing jobs, owns a PluginPool, and prepares images for processing.
◆ AudioPluginImageProcessor() [1/2]
| ImageProcessing::AudioPluginImageProcessor::AudioPluginImageProcessor |
( |
| ) |
|
◆ AudioPluginImageProcessor() [2/2]
◆ ~AudioPluginImageProcessor()
| ImageProcessing::AudioPluginImageProcessor::~AudioPluginImageProcessor |
( |
| ) |
|
◆ areJobsRunning()
| bool ImageProcessing::AudioPluginImageProcessor::areJobsRunning |
( |
| ) |
|
Returns true if any processing is still happening on any frame.
◆ canAcceptNewThreads()
| bool ImageProcessing::AudioPluginImageProcessor::canAcceptNewThreads |
( |
| ) |
|
Returns true if the processor is able to accept a new image to process without going over the limit set by numJobs.
◆ getMaxThreads()
| int ImageProcessing::AudioPluginImageProcessor::getMaxThreads |
( |
| ) |
|
Returns the maximum number of jobs that can be run simultaneously.
◆ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR()
◆ preparePluginPool()
| void ImageProcessing::AudioPluginImageProcessor::preparePluginPool |
( |
juce::ValueTree | pluginListToLoad | ) |
|
|
private |
Fills the plugin pool with plugin instances if needed.
◆ processMat()
| void ImageProcessing::AudioPluginImageProcessor::processMat |
( |
cv::Mat | mat, |
|
|
juce::ValueTree | sourceValueTree, |
|
|
Time::Timecode | frameNumber, |
|
|
std::function< void(ImageProcessorMat)> | callback ) |
Process a single cv::Mat asynchronously. MatProcessorCallback is called when processing completes. DON'T CALL FROM THE MESSAGE THREAD.
- Parameters
-
| mat | image to process |
| sourceValueTree | the plugin list tree, usually sourced from a track. |
| frameNumber | the frame's timecode, used to place processed frames of a video in the correct order. |
| callback | The callback function which should recieve the completed image. |
Calls preparePluginPool() and aquires the next PluginPool::PluginPoolReservation, passing it to a new AudioPluginImageProcessorJob managed by threadPool
The remainder of the processing is done in subsequent subprocesses.
◆ numChannels
| int ImageProcessing::AudioPluginImageProcessor::numChannels = 3 |
|
private |
◆ numJobs
| int ImageProcessing::AudioPluginImageProcessor::numJobs = 4 |
|
private |
The maximum number of images that can be simultaneously processed.
◆ pluginListTree
| juce::ValueTree ImageProcessing::AudioPluginImageProcessor::pluginListTree |
|
private |
◆ pluginPool
| PluginPool ImageProcessing::AudioPluginImageProcessor::pluginPool |
|
private |
◆ pluginPoolPrepared
| bool ImageProcessing::AudioPluginImageProcessor::pluginPoolPrepared = false |
|
private |
◆ threadPool
| std::unique_ptr<juce::ThreadPool> ImageProcessing::AudioPluginImageProcessor::threadPool |
|
private |
◆ threadPoolMutex
| std::mutex ImageProcessing::AudioPluginImageProcessor::threadPoolMutex |
|
private |
The documentation for this class was generated from the following files: