TuttleOFX
1
|
Wraps up an effect instance, plugin implementations need to inherit from this. More...
#include <ofxsImageEffect.h>
Public Member Functions | |
ImageEffect (OfxImageEffectHandle handle) | |
ctor | |
virtual | ~ImageEffect () |
dtor | |
const PropertySet & | getPropertySet () const |
PropertySet & | getPropertySet () |
OfxImageEffectHandle | getHandle (void) const |
EContext | getContext (void) const |
the context this effect was instantiate in | |
OfxPointD | getProjectSize (void) const |
size of the project | |
OfxPointD | getProjectOffset (void) const |
origin of the project | |
OfxPointD | getProjectExtent (void) const |
extent of the project | |
double | getProjectPixelAspectRatio (void) const |
pixel aspect ratio of the project | |
double | getEffectDuration (void) const |
how long does the effect last | |
double | getFrameRate (void) const |
the frame rate of the project | |
bool | isInteractive (void) const |
is the instance currently being interacted with | |
void | setSequentialRender (bool v) |
set the instance to be sequentially renderred, this should have been part of clip preferences! | |
bool | getSequentialRender (void) const |
Have we informed the host we want to be seqentially renderred ? | |
OFX::Message::EMessageReply | sendMessage (OFX::Message::EMessageType type, const std::string &id, const std::string &msg) |
Clip * | fetchClip (const std::string &name) |
Fetch the named clip from this instance. | |
CameraParam * | fetchCameraParam (const std::string &name) |
Fetch a parametric param. | |
bool | abort () const |
does the host want us to abort rendering? | |
void | addOverlayInteract (OverlayInteract *interact) |
adds a new interact to the set of interacts open on this effect | |
void | removeOverlayInteract (OverlayInteract *interact) |
removes an interact to the set of interacts open on this effect | |
void | redrawOverlays (void) |
force all overlays on this interact to be redrawn | |
virtual void | purgeCaches (void) |
The purge caches action, a request for an instance to free up as much memory as possible in low memory situations. | |
virtual void | syncPrivateData (void) |
The sync private data action, called when the effect needs to sync any private data to persistant parameters. | |
virtual void | render (const RenderArguments &args)=0 |
client render function, this is one of the few that must be overridden | |
virtual void | beginSequenceRender (const BeginSequenceRenderArguments &args) |
client begin sequence render function | |
virtual void | endSequenceRender (const EndSequenceRenderArguments &args) |
client end sequence render function | |
virtual bool | isIdentity (const RenderArguments &args, Clip *&identityClip, double &identityTime) |
client is identity function, returns the clip and time for the identity function | |
virtual bool | getRegionOfDefinition (const RegionOfDefinitionArguments &args, OfxRectD &rod) |
The get RoD action. | |
virtual void | getRegionsOfInterest (const RegionsOfInterestArguments &args, RegionOfInterestSetter &rois) |
the get region of interest action | |
virtual void | getFramesNeeded (const FramesNeededArguments &args, FramesNeededSetter &frames) |
the get frames needed action | |
virtual void | getClipPreferences (ClipPreferencesSetter &clipPreferences) |
get the clip preferences | |
virtual void | beginEdit (void) |
the effect is about to be actively edited by a user, called when the first user interface is opened on an instance | |
virtual void | endEdit (void) |
the effect is no longer being edited by a user, called when the last user interface is closed on an instance | |
virtual void | beginChanged (InstanceChangeReason reason) |
the effect is about to have some values changed | |
virtual void | changedParam (const InstanceChangedArgs &args, const std::string ¶mName) |
called when a param has just had its value changed | |
virtual void | changedClip (const InstanceChangedArgs &args, const std::string &clipName) |
called when a clip has just been changed in some way (a rewire maybe) | |
virtual void | endChanged (InstanceChangeReason reason) |
the effect has just had some values changed | |
virtual bool | getTimeDomain (OfxRangeD &range) |
what is the time domain of this effect, valid only in the general context | |
void | progressStart (const std::string &message) |
Start doing progress. | |
void | progressEnd () |
finish yer progress | |
bool | progressUpdate (const double t) |
double | timeLineGetTime () |
void | timeLineGotoTime (const double t) |
set the timeline to a specific time | |
void | timeLineGetBounds (double &t1, double &t2) |
get the first and last times available on the effect's timeline | |
OfxRangeD | timeLineGetBounds () |
Protected Member Functions | |
mDeclareProtectedAssignAndCC (ImageEffect) | |
Private Attributes | |
OfxImageEffectHandle | _effectHandle |
The effect handle. | |
PropertySet | _effectProps |
properties for this clip | |
EContext | _context |
the context of the effect | |
std::map< std::string, Clip * > | _fetchedClips |
Set of all previously defined parameters, defined on demand. | |
std::list< OverlayInteract * > | _overlayInteracts |
the overlay interacts that are open on this image effect | |
bool | _progressStartSuccess |
cached result of whether progress start succeeded. | |
Friends | |
class | ImageMemory |
to get access to the effect handle without exposing it generally via a function |
Wraps up an effect instance, plugin implementations need to inherit from this.
Definition at line 935 of file ofxsImageEffect.h.
OFX::ImageEffect::ImageEffect | ( | OfxImageEffectHandle | handle | ) |
ctor
image effect
Definition at line 1193 of file ofxsImageEffect.cpp.
References _context, _effectProps, OFX::Private::fetchEffectProps(), OFX::Private::gEffectSuite, OfxImageEffectSuiteV1::getParamSet, kOfxImageEffectPropContext, kOfxPropInstanceData, OFX::mapContextStringToEnum(), OFX::PropertySet::propGetString(), OFX::PropertySet::propSetPointer(), OFX::ParamSet::setParamSetHandle(), OFX::throwSuiteStatusException(), and OFX::Validation::validatePluginInstanceProperties().
OFX::ImageEffect::~ImageEffect | ( | ) | [virtual] |
dtor
Definition at line 1221 of file ofxsImageEffect.cpp.
References _effectProps, _fetchedClips, kOfxPropInstanceData, and OFX::PropertySet::propSetPointer().
bool OFX::ImageEffect::abort | ( | ) | const |
does the host want us to abort rendering?
Definition at line 1353 of file ofxsImageEffect.cpp.
References _effectHandle, OfxImageEffectSuiteV1::abort, and OFX::Private::gEffectSuite.
Referenced by tuttle::plugin::OfxProgress::progressForward(), tuttle::plugin::OfxProgress::progressUpdate(), and tuttle::plugin::ImageProcessor::setupAndProcess().
void OFX::ImageEffect::addOverlayInteract | ( | OverlayInteract * | interact | ) |
adds a new interact to the set of interacts open on this effect
Definition at line 1359 of file ofxsImageEffect.cpp.
References _overlayInteracts.
Referenced by OFX::OverlayInteract::OverlayInteract().
void OFX::ImageEffect::beginChanged | ( | InstanceChangeReason | reason | ) | [virtual] |
the effect is about to have some values changed
Definition at line 1469 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::beginInstanceChangedAction().
void OFX::ImageEffect::beginEdit | ( | void | ) | [virtual] |
the effect is about to be actively edited by a user, called when the first user interface is opened on an instance
Definition at line 1457 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::mainEntryStr().
void OFX::ImageEffect::beginSequenceRender | ( | const BeginSequenceRenderArguments & | args | ) | [virtual] |
client begin sequence render function
Reimplemented in tuttle::plugin::av::writer::AVWriterPlugin, tuttle::plugin::av::reader::AVReaderPlugin, and tuttle::plugin::WriterPlugin.
Definition at line 1427 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::beginSequenceRenderAction().
void OFX::ImageEffect::changedClip | ( | const InstanceChangedArgs & | args, |
const std::string & | clipName | ||
) | [virtual] |
called when a clip has just been changed in some way (a rewire maybe)
Reimplemented in tuttle::plugin::histogram::HistogramPlugin, tuttle::plugin::histogramKeyer::HistogramKeyerPlugin, tuttle::plugin::colorCubeViewer::ColorCubeViewerPlugin, tuttle::plugin::colorSpaceKeyer::ColorSpaceKeyerPlugin, and tuttle::plugin::crop::CropPlugin.
Definition at line 1477 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::instanceChangedAction().
void OFX::ImageEffect::changedParam | ( | const InstanceChangedArgs & | args, |
const std::string & | paramName | ||
) | [virtual] |
called when a param has just had its value changed
Reimplemented in tuttle::plugin::histogram::HistogramPlugin, tuttle::plugin::histogramKeyer::HistogramKeyerPlugin, tuttle::plugin::colorCubeViewer::ColorCubeViewerPlugin, tuttle::plugin::colorSpaceKeyer::ColorSpaceKeyerPlugin, tuttle::plugin::lens::LensDistortPlugin, tuttle::plugin::warp::WarpPlugin, tuttle::plugin::raw::reader::RawReaderPlugin, tuttle::plugin::sobel::SobelPlugin, tuttle::plugin::colorspace::ColorSpacePlugin, tuttle::plugin::pinning::PinningPlugin, tuttle::plugin::inputBuffer::InputBufferPlugin, tuttle::plugin::convolution::ConvolutionPlugin, tuttle::plugin::av::writer::AVWriterPlugin, tuttle::plugin::colorGradation::ColorGradationPlugin, tuttle::plugin::dpx::writer::DPXWriterPlugin, tuttle::plugin::normalize::NormalizePlugin, tuttle::plugin::colorGradient::ColorGradientPlugin, tuttle::plugin::resize::ResizePlugin, tuttle::plugin::mathOperator::MathOperatorPlugin, tuttle::plugin::print::PrintPlugin, tuttle::plugin::crop::CropPlugin, tuttle::plugin::av::reader::AVReaderPlugin, tuttle::plugin::swscale::SwscalePlugin, tuttle::plugin::basicKeyer::BasicKeyerPlugin, tuttle::plugin::seExpr::SeExprPlugin, tuttle::plugin::exr::reader::EXRReaderPlugin, tuttle::plugin::colorSuppress::ColorSuppressPlugin, tuttle::plugin::ctl::CTLPlugin, tuttle::plugin::gamma::GammaPlugin, tuttle::plugin::floodFill::FloodFillPlugin, tuttle::plugin::colorTransfer::ColorTransferPlugin, tuttle::plugin::localmaxima::LocalMaximaPlugin, tuttle::plugin::fade::FadePlugin, tuttle::plugin::SamplerPlugin, tuttle::plugin::viewer::ViewerPlugin, tuttle::plugin::dummy::DummyPlugin, tuttle::plugin::jpeg2000::writer::Jpeg2000WriterPlugin, tuttle::plugin::turboJpeg::reader::TurboJpegReaderPlugin, tuttle::plugin::idKeyer::IdKeyerPlugin, tuttle::plugin::move2D::Move2DPlugin, tuttle::plugin::WriterPlugin, tuttle::plugin::jpeg2000::reader::Jpeg2000ReaderPlugin, tuttle::plugin::imagemagick::reader::ImageMagickReaderPlugin, tuttle::plugin::jpeg::reader::JpegReaderPlugin, tuttle::plugin::outputBuffer::OutputBufferPlugin, tuttle::plugin::png::reader::PngReaderPlugin, tuttle::plugin::colorTransform::ColorTransformPlugin, tuttle::plugin::quality::DiffPlugin, tuttle::plugin::dpx::reader::DPXReaderPlugin, tuttle::plugin::openImageIO::reader::OpenImageIOReaderPlugin, tuttle::plugin::imageStatistics::ImageStatisticsPlugin, tuttle::plugin::component::ComponentPlugin, tuttle::plugin::lut::LutPlugin, tuttle::plugin::debugImageEffectApi::DebugImageEffectApiPlugin, tuttle::plugin::ReaderPlugin, and tuttle::plugin::GeneratorPlugin.
Definition at line 1473 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::instanceChangedAction().
void OFX::ImageEffect::endChanged | ( | InstanceChangeReason | reason | ) | [virtual] |
the effect has just had some values changed
Definition at line 1481 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::endInstanceChangedAction().
void OFX::ImageEffect::endEdit | ( | void | ) | [virtual] |
the effect is no longer being edited by a user, called when the last user interface is closed on an instance
Definition at line 1463 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::mainEntryStr().
void OFX::ImageEffect::endSequenceRender | ( | const EndSequenceRenderArguments & | args | ) | [virtual] |
client end sequence render function
client end sequence render function, this is one of the few that must be set
Reimplemented in tuttle::plugin::colorCubeViewer::ColorCubeViewerPlugin, tuttle::plugin::colorSpaceKeyer::ColorSpaceKeyerPlugin, tuttle::plugin::av::writer::AVWriterPlugin, and tuttle::plugin::av::reader::AVReaderPlugin.
Definition at line 1433 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::endSequenceRenderAction().
CameraParam * OFX::ImageEffect::fetchCameraParam | ( | const std::string & | name | ) |
Fetch a parametric param.
Definition at line 1347 of file ofxsImageEffect.cpp.
References getHandle().
Clip * OFX::ImageEffect::fetchClip | ( | const std::string & | name | ) |
Fetch the named clip from this instance.
The returned clip must not be deleted by the client code. This is all managed by the ImageEffect itself.
Definition at line 1322 of file ofxsImageEffect.cpp.
References _fetchedClips, OfxImageEffectSuiteV1::clipGetHandle, OFX::Private::gEffectSuite, getHandle(), and OFX::throwSuiteStatusException().
Referenced by tuttle::plugin::anisotropicFilter::diffusion::AnisotropicDiffusionPlugin::AnisotropicDiffusionPlugin(), tuttle::plugin::av::reader::AVReaderPlugin::AVReaderPlugin(), tuttle::plugin::bitDepth::BitDepthProcess< SView, DView >::BitDepthProcess(), tuttle::plugin::colorCubeViewer::ColorCubeViewerPlugin::changedClip(), tuttle::plugin::colorSpaceKeyer::ColorSpaceKeyerPlugin::changedClip(), tuttle::plugin::colorCubeViewer::ColorCubeViewerPlugin::ColorCubeViewerPlugin(), tuttle::plugin::colorSpaceKeyer::ColorSpaceKeyerPlugin::ColorSpaceKeyerPlugin(), tuttle::plugin::colorTransfer::ColorTransferPlugin::ColorTransferPlugin(), tuttle::plugin::quality::DiffPlugin::DiffPlugin(), tuttle::plugin::fade::FadePlugin::FadePlugin(), tuttle::plugin::GeneratorPlugin::GeneratorPlugin(), tuttle::plugin::ImageEffectGilPlugin::ImageEffectGilPlugin(), tuttle::plugin::ImageFilterProcessor::ImageFilterProcessor(), tuttle::plugin::ImageGilFilterProcessor< SView, DView >::ImageGilFilterProcessor(), tuttle::plugin::ImageProcessor::ImageProcessor(), tuttle::plugin::inputBuffer::InputBufferPlugin::InputBufferPlugin(), tuttle::plugin::lens::LensDistortPlugin::LensDistortPlugin(), tuttle::plugin::merge::MergePlugin::MergePlugin(), tuttle::plugin::nlmDenoiser::NLMDenoiserPlugin::NLMDenoiserPlugin(), tuttle::plugin::outputBuffer::OutputBufferPlugin::OutputBufferPlugin(), tuttle::plugin::pinning::PinningPlugin::PinningPlugin(), tuttle::plugin::pushPixel::PushPixelPlugin::PushPixelPlugin(), tuttle::plugin::pushPixel::PushPixelProcess< View >::PushPixelProcess(), tuttle::plugin::ReaderPlugin::ReaderPlugin(), tuttle::plugin::text::TextProcess< View, Functor >::TextProcess(), tuttle::plugin::warp::WarpPlugin::WarpPlugin(), tuttle::plugin::warp::WarpProcess< View >::WarpProcess(), and tuttle::plugin::WriterPlugin::WriterPlugin().
void OFX::ImageEffect::getClipPreferences | ( | ClipPreferencesSetter & | clipPreferences | ) | [virtual] |
get the clip preferences
Reimplemented in tuttle::plugin::raw::reader::RawReaderPlugin, tuttle::plugin::sobel::SobelPlugin, tuttle::plugin::inputBuffer::InputBufferPlugin, tuttle::plugin::av::writer::AVWriterPlugin, tuttle::plugin::text::TextPlugin, tuttle::plugin::colorGradient::ColorGradientPlugin, tuttle::plugin::av::reader::AVReaderPlugin, tuttle::plugin::seExpr::SeExprPlugin, tuttle::plugin::exr::reader::EXRReaderPlugin, tuttle::plugin::localmaxima::LocalMaximaPlugin, tuttle::plugin::turboJpeg::reader::TurboJpegReaderPlugin, tuttle::plugin::WriterPlugin, tuttle::plugin::jpeg2000::reader::Jpeg2000ReaderPlugin, tuttle::plugin::colorCube::ColorCubePlugin, tuttle::plugin::imagemagick::reader::ImageMagickReaderPlugin, tuttle::plugin::jpeg::reader::JpegReaderPlugin, tuttle::plugin::png::reader::PngReaderPlugin, tuttle::plugin::colorWheel::ColorWheelPlugin, tuttle::plugin::dpx::reader::DPXReaderPlugin, tuttle::plugin::openImageIO::reader::OpenImageIOReaderPlugin, tuttle::plugin::component::ComponentPlugin, tuttle::plugin::colorBars::ColorBarsPlugin, tuttle::plugin::ReaderPlugin, tuttle::plugin::ramp::RampPlugin, tuttle::plugin::checkerboard::CheckerboardPlugin, tuttle::plugin::constant::ConstantPlugin, tuttle::plugin::GeneratorPlugin, and tuttle::plugin::bitDepth::BitDepthPlugin.
Definition at line 1451 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::clipPreferencesAction().
EContext OFX::ImageEffect::getContext | ( | void | ) | const |
the context this effect was instantiate in
Definition at line 1239 of file ofxsImageEffect.cpp.
References _context.
Referenced by OFX::Private::clipPreferencesAction(), OFX::Private::framesNeededAction(), OFX::Private::getTimeDomainAction(), OFX::Private::regionsOfInterestAction(), and tuttle::plugin::timeShift::TimeShiftPlugin::TimeShiftPlugin().
double OFX::ImageEffect::getEffectDuration | ( | void | ) | const |
how long does the effect last
Definition at line 1282 of file ofxsImageEffect.cpp.
References _effectProps, kOfxImageEffectInstancePropEffectDuration, and OFX::PropertySet::propGetDouble().
double OFX::ImageEffect::getFrameRate | ( | void | ) | const |
the frame rate of the project
Definition at line 1288 of file ofxsImageEffect.cpp.
References _effectProps, kOfxImageEffectPropFrameRate, and OFX::PropertySet::propGetDouble().
void OFX::ImageEffect::getFramesNeeded | ( | const FramesNeededArguments & | args, |
FramesNeededSetter & | frames | ||
) | [virtual] |
the get frames needed action
If the effect wants change the frames needed on an input clip from the default values (which is the same as the frame to be renderred) it should do so by calling the OFX::FramesNeededSetter::setFramesNeeded function on the frames argument.
Reimplemented in tuttle::plugin::timeShift::TimeShiftPlugin, and tuttle::plugin::nlmDenoiser::NLMDenoiserPlugin.
Definition at line 1421 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::framesNeededAction().
OfxImageEffectHandle OFX::ImageEffect::getHandle | ( | void | ) | const [inline] |
Definition at line 973 of file ofxsImageEffect.h.
References _effectHandle.
Referenced by fetchCameraParam(), and fetchClip().
OfxPointD OFX::ImageEffect::getProjectExtent | ( | void | ) | const |
extent of the project
Definition at line 1266 of file ofxsImageEffect.cpp.
References _effectProps, kOfxImageEffectPropProjectExtent, OFX::PropertySet::propGetDouble(), OfxPointD::x, and OfxPointD::y.
OfxPointD OFX::ImageEffect::getProjectOffset | ( | void | ) | const |
origin of the project
Definition at line 1256 of file ofxsImageEffect.cpp.
References _effectProps, kOfxImageEffectPropProjectOffset, OFX::PropertySet::propGetDouble(), OfxPointD::x, and OfxPointD::y.
Referenced by tuttle::plugin::anisotropicFilter::tensors::TensorsMargin::draw().
double OFX::ImageEffect::getProjectPixelAspectRatio | ( | void | ) | const |
pixel aspect ratio of the project
Definition at line 1276 of file ofxsImageEffect.cpp.
References _effectProps, kOfxImageEffectPropProjectPixelAspectRatio, and OFX::PropertySet::propGetDouble().
OfxPointD OFX::ImageEffect::getProjectSize | ( | void | ) | const |
size of the project
Definition at line 1246 of file ofxsImageEffect.cpp.
References _effectProps, kOfxImageEffectPropProjectSize, OFX::PropertySet::propGetDouble(), OfxPointD::x, and OfxPointD::y.
Referenced by tuttle::plugin::imageStatistics::ImageStatisticsPlugin::changedParam(), tuttle::plugin::anisotropicFilter::tensors::TensorsMargin::draw(), and tuttle::plugin::imageStatistics::ImageStatisticsPlugin::getProcessParams().
const PropertySet& OFX::ImageEffect::getPropertySet | ( | ) | const [inline] |
Definition at line 969 of file ofxsImageEffect.h.
References _effectProps.
PropertySet& OFX::ImageEffect::getPropertySet | ( | ) | [inline] |
Definition at line 971 of file ofxsImageEffect.h.
References _effectProps.
bool OFX::ImageEffect::getRegionOfDefinition | ( | const RegionOfDefinitionArguments & | args, |
OfxRectD & | rod | ||
) | [virtual] |
The get RoD action.
If the effect wants change the rod from the default value (which is the union of RoD's of all input clips) it should set the rod argument and return true.
This is all in cannonical coordinates.
Reimplemented in tuttle::plugin::lens::LensDistortPlugin, tuttle::plugin::raw::reader::RawReaderPlugin, tuttle::plugin::sobel::SobelPlugin, tuttle::plugin::inputBuffer::InputBufferPlugin, tuttle::plugin::convolution::ConvolutionPlugin, tuttle::plugin::merge::MergePlugin, tuttle::plugin::blur::BlurPlugin, tuttle::plugin::resize::ResizePlugin, tuttle::plugin::crop::CropPlugin, tuttle::plugin::swscale::SwscalePlugin, tuttle::plugin::av::reader::AVReaderPlugin, tuttle::plugin::exr::reader::EXRReaderPlugin, tuttle::plugin::ctl::CTLPlugin, tuttle::plugin::localmaxima::LocalMaximaPlugin, tuttle::plugin::move2D::Move2DPlugin, tuttle::plugin::turboJpeg::reader::TurboJpegReaderPlugin, tuttle::plugin::thinning::ThinningPlugin, tuttle::plugin::jpeg2000::reader::Jpeg2000ReaderPlugin, tuttle::plugin::quality::DiffPlugin, tuttle::plugin::imagemagick::reader::ImageMagickReaderPlugin, tuttle::plugin::jpeg::reader::JpegReaderPlugin, tuttle::plugin::png::reader::PngReaderPlugin, tuttle::plugin::dpx::reader::DPXReaderPlugin, tuttle::plugin::openImageIO::reader::OpenImageIOReaderPlugin, tuttle::plugin::ReaderPlugin, and tuttle::plugin::GeneratorPlugin.
Definition at line 1409 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::regionOfDefinitionAction().
void OFX::ImageEffect::getRegionsOfInterest | ( | const RegionsOfInterestArguments & | args, |
RegionOfInterestSetter & | rois | ||
) | [virtual] |
the get region of interest action
the get RoI action
If the effect wants change its region of interest on any input clip from the default values (which is the same as the RoI in the arguments) it should do so by calling the OFX::RegionOfInterestSetter::setRegionOfInterest function on the rois argument.
Note, everything is in cannonical coordinates.
Reimplemented in tuttle::plugin::lens::LensDistortPlugin, tuttle::plugin::sobel::SobelPlugin, tuttle::plugin::pushPixel::PushPixelPlugin, tuttle::plugin::convolution::ConvolutionPlugin, tuttle::plugin::normalize::NormalizePlugin, tuttle::plugin::blur::BlurPlugin, tuttle::plugin::resize::ResizePlugin, tuttle::plugin::localmaxima::LocalMaximaPlugin, tuttle::plugin::colorTransfer::ColorTransferPlugin, tuttle::plugin::flip::FlipPlugin, tuttle::plugin::move2D::Move2DPlugin, tuttle::plugin::thinning::ThinningPlugin, tuttle::plugin::nlmDenoiser::NLMDenoiserPlugin, tuttle::plugin::imageStatistics::ImageStatisticsPlugin, tuttle::plugin::anisotropicFilter::diffusion::AnisotropicDiffusionPlugin, and tuttle::plugin::anisotropicFilter::tensors::TensorsPlugin.
Definition at line 1415 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::regionsOfInterestAction().
bool OFX::ImageEffect::getSequentialRender | ( | void | ) | const |
Have we informed the host we want to be seqentially renderred ?
Definition at line 1306 of file ofxsImageEffect.cpp.
References _effectProps, kOfxImageEffectInstancePropSequentialRender, and OFX::PropertySet::propGetInt().
bool OFX::ImageEffect::getTimeDomain | ( | OfxRangeD & | range | ) | [virtual] |
what is the time domain of this effect, valid only in the general context
get the time domain
return true if range was set, otherwise the default (the union of the time domain of all input clips) is used
Reimplemented in tuttle::plugin::inputBuffer::InputBufferPlugin, tuttle::plugin::av::reader::AVReaderPlugin, tuttle::plugin::timeShift::TimeShiftPlugin, tuttle::plugin::ReaderPlugin, and tuttle::plugin::GeneratorPlugin.
Definition at line 1485 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::getTimeDomainAction().
bool OFX::ImageEffect::isIdentity | ( | const RenderArguments & | args, |
Clip *& | identityClip, | ||
double & | identityTime | ||
) | [virtual] |
client is identity function, returns the clip and time for the identity function
If the effect would do no processing for the given param set and render arguments, then this function should return true and set the identityClip pointer to point to the clip that is the identity and identityTime to be the time at which to access the clip for the identity operation.
Reimplemented in tuttle::plugin::histogram::HistogramPlugin, tuttle::plugin::histogramKeyer::HistogramKeyerPlugin, tuttle::plugin::colorCubeViewer::ColorCubeViewerPlugin, tuttle::plugin::colorSpaceKeyer::ColorSpaceKeyerPlugin, tuttle::plugin::lens::LensDistortPlugin, tuttle::plugin::warp::WarpPlugin, tuttle::plugin::sobel::SobelPlugin, tuttle::plugin::colorspace::ColorSpacePlugin, tuttle::plugin::pinning::PinningPlugin, tuttle::plugin::av::writer::AVWriterPlugin, tuttle::plugin::colorGradation::ColorGradationPlugin, tuttle::plugin::normalize::NormalizePlugin, tuttle::plugin::pushPixel::PushPixelPlugin, tuttle::plugin::blur::BlurPlugin, tuttle::plugin::convolution::ConvolutionPlugin, tuttle::plugin::resize::ResizePlugin, tuttle::plugin::mathOperator::MathOperatorPlugin, tuttle::plugin::print::PrintPlugin, tuttle::plugin::swscale::SwscalePlugin, tuttle::plugin::ctl::CTLPlugin, tuttle::plugin::viewer::ViewerPlugin, tuttle::plugin::flip::FlipPlugin, tuttle::plugin::move2D::Move2DPlugin, tuttle::plugin::fade::FadePlugin, tuttle::plugin::dummy::DummyPlugin, tuttle::plugin::WriterPlugin, tuttle::plugin::colorTransform::ColorTransformPlugin, tuttle::plugin::timeShift::TimeShiftPlugin, and tuttle::plugin::component::ComponentPlugin.
Definition at line 1403 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::isIdentityAction().
bool OFX::ImageEffect::isInteractive | ( | void | ) | const |
is the instance currently being interacted with
Definition at line 1294 of file ofxsImageEffect.cpp.
References _effectProps, kOfxPropIsInteractive, and OFX::PropertySet::propGetInt().
OFX::ImageEffect::mDeclareProtectedAssignAndCC | ( | ImageEffect | ) | [protected] |
void OFX::ImageEffect::progressEnd | ( | ) |
finish yer progress
Definition at line 1502 of file ofxsImageEffect.cpp.
References _effectHandle, _progressStartSuccess, OFX::Private::gProgressSuite, and OfxProgressSuiteV1::progressEnd.
Referenced by tuttle::plugin::OfxProgress::progressEnd(), and tuttle::plugin::OfxProgress::progressForward().
void OFX::ImageEffect::progressStart | ( | const std::string & | message | ) |
Start doing progress.
Definition at line 1492 of file ofxsImageEffect.cpp.
References _effectHandle, _progressStartSuccess, OFX::Private::gProgressSuite, kOfxStatOK, and OfxProgressSuiteV1::progressStart.
Referenced by tuttle::plugin::OfxProgress::progressBegin().
bool OFX::ImageEffect::progressUpdate | ( | const double | t | ) |
set the progress to some level of completion, returns true if you should abandon processing, false to continue
Definition at line 1512 of file ofxsImageEffect.cpp.
References _effectHandle, _progressStartSuccess, OFX::Private::gProgressSuite, kOfxStatReplyNo, and OfxProgressSuiteV1::progressUpdate.
Referenced by tuttle::plugin::OfxProgress::progressForward(), and tuttle::plugin::OfxProgress::progressUpdate().
void OFX::ImageEffect::purgeCaches | ( | void | ) | [virtual] |
The purge caches action, a request for an instance to free up as much memory as possible in low memory situations.
Definition at line 1439 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::mainEntryStr().
void OFX::ImageEffect::redrawOverlays | ( | void | ) |
force all overlays on this interact to be redrawn
Definition at line 1388 of file ofxsImageEffect.cpp.
References _overlayInteracts.
Referenced by tuttle::plugin::colorCubeViewer::ColorCubeViewerPlugin::changedClip(), tuttle::plugin::colorSpaceKeyer::ColorSpaceKeyerPlugin::changedClip(), tuttle::plugin::histogram::HistogramPlugin::changedClip(), tuttle::plugin::histogramKeyer::HistogramKeyerPlugin::changedClip(), tuttle::plugin::lens::LensDistortPlugin::changedParam(), tuttle::plugin::histogram::HistogramOverlay::keyUp(), tuttle::plugin::histogramKeyer::HistogramKeyerOverlay::keyUp(), tuttle::plugin::histogramKeyer::HistogramKeyerOverlay::penUp(), tuttle::plugin::histogram::HistogramOverlay::penUp(), tuttle::plugin::histogramKeyer::HistogramKeyerPlugin::render(), tuttle::plugin::histogram::HistogramPlugin::render(), tuttle::plugin::colorSpaceKeyer::ColorSpaceKeyerPlugin::updateGeodesicForms(), and tuttle::plugin::colorCubeViewer::ColorCubeViewerPlugin::updateGeodesicForms().
void OFX::ImageEffect::removeOverlayInteract | ( | OverlayInteract * | interact | ) |
removes an interact to the set of interacts open on this effect
Definition at line 1374 of file ofxsImageEffect.cpp.
References _overlayInteracts.
Referenced by OFX::OverlayInteract::~OverlayInteract().
virtual void OFX::ImageEffect::render | ( | const RenderArguments & | args | ) | [pure virtual] |
client render function, this is one of the few that must be overridden
Implemented in tuttle::plugin::histogram::HistogramPlugin, tuttle::plugin::histogramKeyer::HistogramKeyerPlugin, tuttle::plugin::colorCubeViewer::ColorCubeViewerPlugin, tuttle::plugin::colorSpaceKeyer::ColorSpaceKeyerPlugin, tuttle::plugin::lens::LensDistortPlugin, tuttle::plugin::warp::WarpPlugin, tuttle::plugin::raw::reader::RawReaderPlugin, tuttle::plugin::sobel::SobelPlugin, tuttle::plugin::inputBuffer::InputBufferPlugin, tuttle::plugin::colorspace::ColorSpacePlugin, tuttle::plugin::merge::MergePlugin, tuttle::plugin::text::TextPlugin, tuttle::plugin::av::writer::AVWriterPlugin, tuttle::plugin::pinning::PinningPlugin, tuttle::plugin::merge::MergePlugin, tuttle::plugin::text::TextPlugin, tuttle::plugin::pushPixel::PushPixelPlugin, tuttle::plugin::colorGradation::ColorGradationPlugin, tuttle::plugin::normalize::NormalizePlugin, tuttle::plugin::merge::MergePlugin, tuttle::plugin::text::TextPlugin, tuttle::plugin::blur::BlurPlugin, tuttle::plugin::dpx::writer::DPXWriterPlugin, tuttle::plugin::resize::ResizePlugin, tuttle::plugin::mathOperator::MathOperatorPlugin, tuttle::plugin::print::PrintPlugin, tuttle::plugin::av::reader::AVReaderPlugin, tuttle::plugin::swscale::SwscalePlugin, tuttle::plugin::convolution::ConvolutionPlugin, tuttle::plugin::crop::CropPlugin, tuttle::plugin::colorGradient::ColorGradientPlugin, tuttle::plugin::ctl::CTLPlugin, tuttle::plugin::seExpr::SeExprPlugin, tuttle::plugin::exr::reader::EXRReaderPlugin, tuttle::plugin::localmaxima::LocalMaximaPlugin, tuttle::plugin::viewer::ViewerPlugin, tuttle::plugin::colorTransfer::ColorTransferPlugin, tuttle::plugin::flip::FlipPlugin, tuttle::plugin::move2D::Move2DPlugin, tuttle::plugin::fade::FadePlugin, tuttle::plugin::openImageIO::writer::OpenImageIOWriterPlugin, tuttle::plugin::ocio::colorspace::OCIOColorSpacePlugin, tuttle::plugin::floodFill::FloodFillPlugin, tuttle::plugin::WriterPlugin, tuttle::plugin::dummy::DummyPlugin, tuttle::plugin::turboJpeg::reader::TurboJpegReaderPlugin, tuttle::plugin::basicKeyer::BasicKeyerPlugin, tuttle::plugin::component::ComponentPlugin, tuttle::plugin::colorTransform::ColorTransformPlugin, tuttle::plugin::thinning::ThinningPlugin, tuttle::plugin::jpeg2000::writer::Jpeg2000WriterPlugin, tuttle::plugin::turboJpeg::writer::TurboJpegWriterPlugin, tuttle::plugin::colorSuppress::ColorSuppressPlugin, tuttle::plugin::gamma::GammaPlugin, tuttle::plugin::invert::InvertPlugin, tuttle::plugin::ocio::lut::OCIOLutPlugin, tuttle::plugin::jpeg::reader::JpegReaderPlugin, tuttle::plugin::outputBuffer::OutputBufferPlugin, tuttle::plugin::png::reader::PngReaderPlugin, tuttle::plugin::nlmDenoiser::NLMDenoiserPlugin, tuttle::plugin::timeShift::TimeShiftPlugin, tuttle::plugin::quality::DiffPlugin, tuttle::plugin::colorCube::ColorCubePlugin, tuttle::plugin::dpx::reader::DPXReaderPlugin, tuttle::plugin::exr::writer::EXRWriterPlugin, tuttle::plugin::openImageIO::reader::OpenImageIOReaderPlugin, tuttle::plugin::colorWheel::ColorWheelPlugin, tuttle::plugin::png::writer::PngWriterPlugin, tuttle::plugin::idKeyer::IdKeyerPlugin, tuttle::plugin::colorBars::ColorBarsPlugin, tuttle::plugin::imagemagick::writer::ImageMagickWriterPlugin, tuttle::plugin::jpeg::writer::JpegWriterPlugin, tuttle::plugin::jpeg2000::reader::Jpeg2000ReaderPlugin, tuttle::plugin::ReaderPlugin, tuttle::plugin::imagemagick::reader::ImageMagickReaderPlugin, tuttle::plugin::anisotropicFilter::diffusion::AnisotropicDiffusionPlugin, tuttle::plugin::anisotropicFilter::tensors::TensorsPlugin, tuttle::plugin::imageStatistics::ImageStatisticsPlugin, tuttle::plugin::ramp::RampPlugin, tuttle::plugin::GeneratorPlugin, tuttle::plugin::lut::LutPlugin, tuttle::plugin::bitDepth::BitDepthPlugin, tuttle::plugin::debugImageEffectApi::DebugImageEffectApiPlugin, tuttle::plugin::checkerboard::CheckerboardPlugin, and tuttle::plugin::constant::ConstantPlugin.
Referenced by OFX::Private::renderAction().
OFX::Message::EMessageReply OFX::ImageEffect::sendMessage | ( | OFX::Message::EMessageType | type, |
const std::string & | id, | ||
const std::string & | msg | ||
) |
Definition at line 1311 of file ofxsImageEffect.cpp.
References _effectHandle, OFX::Private::gMessageSuite, OFX::mapMessageReplyStatusToEnum(), OFX::mapMessageTypeEnumToString(), OfxMessageSuiteV1::message, and OFX::throwHostMissingSuiteException().
Referenced by tuttle::plugin::dpx::reader::DPXReaderPlugin::changedParam(), and tuttle::plugin::sobel::SobelPlugin::changedParam().
void OFX::ImageEffect::setSequentialRender | ( | bool | v | ) |
set the instance to be sequentially renderred, this should have been part of clip preferences!
Definition at line 1300 of file ofxsImageEffect.cpp.
References _effectProps, kOfxImageEffectInstancePropSequentialRender, and OFX::PropertySet::propSetInt().
Referenced by tuttle::plugin::av::reader::AVReaderPlugin::AVReaderPlugin(), and tuttle::plugin::av::writer::AVWriterPlugin::AVWriterPlugin().
void OFX::ImageEffect::syncPrivateData | ( | void | ) | [virtual] |
The sync private data action, called when the effect needs to sync any private data to persistant parameters.
Definition at line 1445 of file ofxsImageEffect.cpp.
Referenced by OFX::Private::mainEntryStr().
void OFX::ImageEffect::timeLineGetBounds | ( | double & | t1, |
double & | t2 | ||
) |
get the first and last times available on the effect's timeline
Definition at line 1546 of file ofxsImageEffect.cpp.
References _effectHandle, OfxTimeLineSuiteV1::getTimeBounds, and OFX::Private::gTimeLineSuite.
OfxRangeD OFX::ImageEffect::timeLineGetBounds | ( | ) | [inline] |
Definition at line 1124 of file ofxsImageEffect.h.
References OfxRangeD::max, OfxRangeD::min, and timeLineGetBounds().
Referenced by tuttle::plugin::debugImageEffectApi::DebugImageEffectApiPlugin::changedParam(), and timeLineGetBounds().
double OFX::ImageEffect::timeLineGetTime | ( | ) |
get the current time on the timeline. This is not necessarily the same time as being passed to an action (eg render)
Definition at line 1525 of file ofxsImageEffect.cpp.
References _effectHandle, OFX::Private::gTimeLineSuite, and kOfxStatOK.
Referenced by tuttle::plugin::debugImageEffectApi::DebugImageEffectApiPlugin::changedParam(), tuttle::plugin::interact::PointInteract::getTime(), tuttle::plugin::histogramKeyer::HistogramKeyerPlugin::HistogramKeyerPlugin(), tuttle::plugin::histogram::HistogramPlugin::HistogramPlugin(), tuttle::plugin::swscale::SwscalePlugin::updateVisibleTools(), tuttle::plugin::av::reader::AVReaderPlugin::updateVisibleTools(), tuttle::plugin::resize::ResizePlugin::updateVisibleTools(), and tuttle::plugin::GeneratorPlugin::updateVisibleTools().
void OFX::ImageEffect::timeLineGotoTime | ( | const double | t | ) |
set the timeline to a specific time
Definition at line 1537 of file ofxsImageEffect.cpp.
References _effectHandle, OfxTimeLineSuiteV1::gotoTime, and OFX::Private::gTimeLineSuite.
Referenced by tuttle::plugin::debugImageEffectApi::DebugImageEffectApiPlugin::changedParam().
friend class ImageMemory [friend] |
to get access to the effect handle without exposing it generally via a function
Definition at line 942 of file ofxsImageEffect.h.
EContext OFX::ImageEffect::_context [private] |
the context of the effect
Definition at line 951 of file ofxsImageEffect.h.
Referenced by getContext(), and ImageEffect().
The effect handle.
Definition at line 945 of file ofxsImageEffect.h.
Referenced by abort(), OFX::ImageMemory::alloc(), getHandle(), progressEnd(), progressStart(), progressUpdate(), sendMessage(), timeLineGetBounds(), timeLineGetTime(), and timeLineGotoTime().
PropertySet OFX::ImageEffect::_effectProps [private] |
properties for this clip
Definition at line 948 of file ofxsImageEffect.h.
Referenced by getEffectDuration(), getFrameRate(), getProjectExtent(), getProjectOffset(), getProjectPixelAspectRatio(), getProjectSize(), getPropertySet(), getSequentialRender(), ImageEffect(), isInteractive(), setSequentialRender(), and ~ImageEffect().
std::map<std::string, Clip*> OFX::ImageEffect::_fetchedClips [private] |
Set of all previously defined parameters, defined on demand.
Definition at line 954 of file ofxsImageEffect.h.
Referenced by fetchClip(), and ~ImageEffect().
std::list<OverlayInteract*> OFX::ImageEffect::_overlayInteracts [private] |
the overlay interacts that are open on this image effect
Definition at line 957 of file ofxsImageEffect.h.
Referenced by addOverlayInteract(), redrawOverlays(), and removeOverlayInteract().
bool OFX::ImageEffect::_progressStartSuccess [private] |
cached result of whether progress start succeeded.
Definition at line 960 of file ofxsImageEffect.h.
Referenced by progressEnd(), progressStart(), and progressUpdate().