#include <RealTimeEffectModelTransformer.h>

Inheritance diagram for RealTimeEffectModelTransformer:
Inheritance graph
Collaboration diagram for RealTimeEffectModelTransformer:
Collaboration graph

Public Types

typedef std::vector< ModelIdModels
 
enum  Type { RTThread, NonRTThread }
 

Public Slots

void start ()
 

Public Member Functions

 RealTimeEffectModelTransformer (Input input, const Transform &transform)
 
virtual ~RealTimeEffectModelTransformer ()
 
void abandon ()
 Hint to the processing thread that it should give up, for example because the process is going to exit or the model/document context is being replaced. More...
 
bool isAbandoned () const
 Return true if the processing thread is being or has been abandoned, i.e. More...
 
ModelId getInputModel ()
 Return the input model for the transform. More...
 
int getInputChannel ()
 Return the input channel spec for the transform. More...
 
Models getOutputModels ()
 Return the set of output model IDs created by the transform or transforms. More...
 
virtual Models getAdditionalOutputModels ()
 Return any additional models that were created during processing. More...
 
virtual bool willHaveAdditionalOutputModels ()
 Return true if the current transform is one that may produce additional models (to be retrieved through getAdditionalOutputModels above). More...
 
QString getMessage () const
 Return a warning or error message. More...
 

Protected Member Functions

void run () override
 
void awaitOutputModels () override
 

Protected Attributes

QString m_units
 
std::shared_ptr< RealTimePluginInstancem_plugin
 
int m_outputNo
 
Transforms m_transforms
 
Input m_input
 
Models m_outputs
 
bool m_abandoned
 
QString m_message
 

Detailed Description

Definition at line 24 of file RealTimeEffectModelTransformer.h.

Member Typedef Documentation

typedef std::vector<ModelId> ModelTransformer::Models
inherited

Definition at line 42 of file ModelTransformer.h.

Member Enumeration Documentation

enum Thread::Type
inherited
Enumerator
RTThread 
NonRTThread 

Definition at line 29 of file Thread.h.

Constructor & Destructor Documentation

RealTimeEffectModelTransformer::~RealTimeEffectModelTransformer ( )
virtual

Definition at line 109 of file RealTimeEffectModelTransformer.cpp.

Member Function Documentation

void RealTimeEffectModelTransformer::awaitOutputModels ( )
inlineoverrideprotectedvirtual

Implements ModelTransformer.

Definition at line 34 of file RealTimeEffectModelTransformer.h.

void ModelTransformer::abandon ( )
inlineinherited

Hint to the processing thread that it should give up, for example because the process is going to exit or the model/document context is being replaced.

Caller should still wait() to be sure that processing has ended.

Definition at line 66 of file ModelTransformer.h.

References ModelTransformer::m_abandoned.

Referenced by FeatureExtractionModelTransformer::addFeature(), run(), and FeatureExtractionModelTransformer::run().

bool ModelTransformer::isAbandoned ( ) const
inlineinherited

Return true if the processing thread is being or has been abandoned, i.e.

if abandon() has been called.

Definition at line 72 of file ModelTransformer.h.

References ModelTransformer::m_abandoned.

Referenced by ModelTransformerFactory::transformerFinished().

int ModelTransformer::getInputChannel ( )
inlineinherited

Return the input channel spec for the transform.

Definition at line 82 of file ModelTransformer.h.

References ModelTransformer::Input::getChannel(), and ModelTransformer::m_input.

Models ModelTransformer::getOutputModels ( )
inlineinherited

Return the set of output model IDs created by the transform or transforms.

Returns an empty list if any transform could not be initialised; an error message may be available via getMessage() in this situation. The returned models have been added to ModelById.

Definition at line 91 of file ModelTransformer.h.

References ModelTransformer::awaitOutputModels(), and ModelTransformer::m_outputs.

Referenced by ModelTransformerFactory::transformMultiple().

virtual Models ModelTransformer::getAdditionalOutputModels ( )
inlinevirtualinherited

Return any additional models that were created during processing.

This might happen if, for example, a transform was configured to split a multi-bin output into separate single-bin models as it processed. These should not be queried until after the transform has completed.

Reimplemented in FeatureExtractionModelTransformer.

Definition at line 103 of file ModelTransformer.h.

Referenced by ModelTransformerFactory::transformerFinished().

virtual bool ModelTransformer::willHaveAdditionalOutputModels ( )
inlinevirtualinherited

Return true if the current transform is one that may produce additional models (to be retrieved through getAdditionalOutputModels above).

Reimplemented in FeatureExtractionModelTransformer.

Definition at line 110 of file ModelTransformer.h.

Referenced by ModelTransformerFactory::transformerFinished().

QString ModelTransformer::getMessage ( ) const
inlineinherited

Return a warning or error message.

If getOutputModel returned a null pointer, this should contain a fatal error message for the transformer; otherwise it may contain a warning to show to the user about e.g. suboptimal block size or whatever.

Definition at line 118 of file ModelTransformer.h.

References ModelTransformer::awaitOutputModels(), ModelTransformer::m_message, and ModelTransformer::ModelTransformer().

Referenced by ModelTransformerFactory::transformerFinished(), and ModelTransformerFactory::transformMultiple().

Member Data Documentation

QString RealTimeEffectModelTransformer::m_units
protected

Definition at line 36 of file RealTimeEffectModelTransformer.h.

Referenced by RealTimeEffectModelTransformer().

std::shared_ptr<RealTimePluginInstance> RealTimeEffectModelTransformer::m_plugin
protected

Definition at line 37 of file RealTimeEffectModelTransformer.h.

Referenced by RealTimeEffectModelTransformer(), and run().

int RealTimeEffectModelTransformer::m_outputNo
protected

Definition at line 38 of file RealTimeEffectModelTransformer.h.

Referenced by RealTimeEffectModelTransformer(), and run().


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