TuttleOFX
1
|
#include <ImageEffectNode.hpp>
Public Types | |
typedef ImageEffectNode | This |
Public Member Functions | |
ImageEffectNode (ofx::imageEffect::OfxhImageEffectPlugin &plugin, ofx::imageEffect::OfxhImageEffectNodeDescriptor &desc, const std::string &context) | |
ImageEffectNode (const ImageEffectNode &other) | |
~ImageEffectNode () | |
std::string | getLabel () const |
const std::string & | getName () const |
void | setName (const std::string &name) |
std::size_t | getNbParams () const |
const ofx::attribute::OfxhParam & | getParam (const std::string &name) const |
ofx::attribute::OfxhParam & | getParam (const std::string &name) |
const ofx::attribute::OfxhParam & | getParamByScriptName (const std::string &name, const bool acceptPartialName=false) const |
ofx::attribute::OfxhParam & | getParamByScriptName (const std::string &name, const bool acceptPartialName=false) |
const ofx::attribute::OfxhParam & | getParam (const std::size_t index) const |
ofx::attribute::OfxhParam & | getParam (const std::size_t index) |
const ofx::property::OfxhSet & | getProperties () const |
ofx::property::OfxhSet & | getEditableProperties () |
std::vector< int > | getVersion () const |
ImageEffectNode * | clone () const |
bool | operator== (const INode &other) const |
bool | operator== (const ImageEffectNode &other) const |
const ENodeType | getNodeType () const |
void | connect (const INode &sourceEffect, attribute::Attribute &attr) |
attribute::ClipImage & | getClip (const std::string &name, const bool acceptPartialName=false) |
const attribute::ClipImage & | getClip (const std::string &name, const bool acceptPartialName=false) const |
attribute::ClipImage & | getOutputClip () |
const attribute::ClipImage & | getOutputClip () const |
attribute::Attribute & | getAttribute (const std::string &name) |
attribute::Attribute & | getSingleInputAttribute () |
const attribute::Attribute & | getSingleInputAttribute () const |
ofx::attribute::OfxhParamSet & | getParamSet () |
const ofx::attribute::OfxhParamSet & | getParamSet () const |
ofx::attribute::OfxhClipImageSet & | getClipImageSet () |
const ofx::attribute::OfxhClipImageSet & | getClipImageSet () const |
std::size_t | getLocalHashAtTime (const OfxTime time) const |
OfxRectD | getRegionOfDefinition (const OfxTime time) const |
OfxRangeD | getTimeDomain () const |
void | debugOutputImage (const OfxTime time) const |
OfxRangeD | getDefaultTimeDomain () const |
std::ostream & | print (std::ostream &os) const |
const std::string & | getDefaultOutputFielding () const |
int | abort () |
ofx::OfxhMemory * | newMemoryInstance (size_t nBytes) |
ofx::attribute::OfxhClipImage * | newClipImage (const ofx::attribute::OfxhClipImageDescriptor &descriptor) |
make a clip | |
void | vmessage (const char *type, const char *id, const char *format, va_list args) const OFX_EXCEPTION_SPEC |
vmessage | |
void | getProjectSize (double &xSize, double &ySize) const |
void | getProjectOffset (double &xOffset, double &yOffset) const |
void | getProjectExtent (double &xSize, double &ySize) const |
double | getProjectPixelAspectRatio () const |
const std::string | getProjectPixelComponentsType () const |
const std::string | getProjectBitDepth () const |
double | getEffectDuration () const |
double | getFrameRecursive () const |
void | getRenderScaleRecursive (double &x, double &y) const |
ofx::attribute::OfxhParam * | newParam (const ofx::attribute::OfxhParamDescriptor &Descriptor) OFX_EXCEPTION_SPEC |
Create a parameter instance. | |
void | editBegin (const std::string &name) OFX_EXCEPTION_SPEC |
void | editEnd () OFX_EXCEPTION_SPEC |
void | progressStart (const std::string &message) |
Start doing progress. | |
void | progressEnd () |
finish yer progress | |
bool | progressUpdate (const double t) |
double | timelineGetTime () |
void | timelineGotoTime (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 | |
const OfxRangeD & | getEffectFrameRange () const |
void | beginSequenceRenderAction (OfxTime startFrame, OfxTime endFrame, double step, bool interactive, OfxPointD renderScale) OFX_EXCEPTION_SPEC |
override to get frame range of the effect | |
OfxRangeD | computeTimeDomain () |
void | setup1 () |
void | setup2_reverse () |
void | setup3 () |
void | beginSequence (graph::ProcessVertexData &vData) |
Begin of the a new frame range to process. Initilize this node. | |
INode::ClipTimesSetMap | getTimesNeeded (const OfxTime time) const |
Asks the plugin all times it needs for each of it's input clips. | |
void | preProcess1 (graph::ProcessVertexAtTimeData &vData) |
Initialization pass to propagate informations from inputs to outputs. | |
void | preProcess2_reverse (graph::ProcessVertexAtTimeData &vData) |
Initialization pass to propagate informations from outputs to inputs. | |
bool | isIdentity (const graph::ProcessVertexAtTimeData &vData, std::string &clip, OfxTime &time) const |
The node can declare to be an identity operation. In this case, the node is not processed and the rendering engine direcly use the indicated input clip at a particular time. | |
void | preProcess_infos (const graph::ProcessVertexAtTimeData &vData, const OfxTime time, graph::ProcessVertexAtTimeInfo &nodeInfos) const |
Fill ProcessInfo to compute statistics for the current process, like memory used by this node, by all input nodes, etc. | |
void | process (graph::ProcessVertexAtTimeData &vData) |
Process this node. All inputs are compute. | |
void | postProcess (graph::ProcessVertexAtTimeData &vData) |
The process of all nodes is done for one frame, now finalize this node. | |
void | endSequence (graph::ProcessVertexData &vData) |
End of the whole frame range process, now finalize this node. | |
Private Member Functions | |
void | checkClipsConnected () const |
void | initComponents () |
void | initInputClipsPixelAspectRatio () |
void | initPixelAspectRatio () |
void | initInputClipsFps () |
void | initFps () |
void | maximizeBitDepthFromReadsToWrites () |
void | maximizeBitDepthFromWritesToReads () |
void | coutBitDepthConnections () const |
void | validInputClipsConnections () const |
Private Attributes | |
std::string | _defaultOutputFielding |
our clip is pretending to be progressive PAL SD, so return kOfxImageFieldNone | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const This &v) |
Definition at line 18 of file ImageEffectNode.hpp.
Reimplemented from tuttle::host::INode.
Definition at line 22 of file ImageEffectNode.hpp.
tuttle::host::ImageEffectNode::ImageEffectNode | ( | ofx::imageEffect::OfxhImageEffectPlugin & | plugin, |
ofx::imageEffect::OfxhImageEffectNodeDescriptor & | desc, | ||
const std::string & | context | ||
) |
Definition at line 40 of file ImageEffectNode.cpp.
References tuttle::host::ofx::imageEffect::OfxhImageEffectNode::populate().
Referenced by clone().
tuttle::host::ImageEffectNode::ImageEffectNode | ( | const ImageEffectNode & | other | ) |
Definition at line 51 of file ImageEffectNode.cpp.
References tuttle::host::ofx::imageEffect::OfxhImageEffectNode::copyAttributesValues(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::createInstanceAction(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::populate().
tuttle::host::ImageEffectNode::~ImageEffectNode | ( | ) |
Definition at line 61 of file ImageEffectNode.cpp.
int tuttle::host::ImageEffectNode::abort | ( | ) | [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 141 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::beginSequence | ( | graph::ProcessVertexData & | processData | ) | [virtual] |
Begin of the a new frame range to process. Initilize this node.
[in] | processData |
Implements tuttle::host::INode.
Definition at line 772 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexData::_interactive, tuttle::host::graph::ProcessVertexData::_renderScale, tuttle::host::graph::ProcessVertexData::_renderTimeRange, tuttle::host::graph::ProcessVertexData::_step, and beginSequenceRenderAction().
void tuttle::host::ImageEffectNode::beginSequenceRenderAction | ( | OfxTime | startFrame, |
OfxTime | endFrame, | ||
double | step, | ||
bool | interactive, | ||
OfxPointD | renderScale | ||
) | [virtual] |
override to get frame range of the effect
Reimplemented from tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 372 of file ImageEffectNode.cpp.
Referenced by beginSequence().
void tuttle::host::ImageEffectNode::checkClipsConnected | ( | ) | const [private] |
Definition at line 381 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::attribute::ClipImage::getFullName(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhClipAccessor::isOptional(), and tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput().
Referenced by setup1().
ImageEffectNode* tuttle::host::ImageEffectNode::clone | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 58 of file ImageEffectNode.hpp.
References ImageEffectNode().
OfxRangeD tuttle::host::ImageEffectNode::computeTimeDomain | ( | ) | [virtual] |
Implementation of INode virtual functions
Implements tuttle::host::INode.
Definition at line 706 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::attribute::ClipImage::getConnectedClip(), getDefaultTimeDomain(), tuttle::host::ofx::attribute::OfxhClipImage::getFrameRange(), getName(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getTimeDomainAction(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::quotes(), tuttle::host::attribute::ClipImage::setFrameRange(), tuttle::host::attribute::ClipImage::setUnmappedFrameRange(), TUTTLE_INFO, and TUTTLE_TLOG.
void tuttle::host::ImageEffectNode::connect | ( | const INode & | sourceEffect, |
attribute::Attribute & | attr | ||
) | [virtual] |
Implements tuttle::host::INode.
Definition at line 80 of file ImageEffectNode.cpp.
References tuttle::host::INode::getClip(), and tuttle::host::attribute::ClipImage::setConnectedClip().
void tuttle::host::ImageEffectNode::coutBitDepthConnections | ( | ) | const [private] |
Definition at line 611 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::attribute::OfxhClipImage::getBitDepth(), tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::ClipImage::getFullName(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), TUTTLE_INFO, and TUTTLE_TLOG.
void tuttle::host::ImageEffectNode::debugOutputImage | ( | const OfxTime | time | ) | const |
Definition at line 1040 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::memory::IMemoryCache::get(), tuttle::host::INode::getData(), tuttle::host::graph::ProcessVertexData::getInternMemoryCache(), getName(), tuttle::host::attribute::Attribute::getNode(), and tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput().
Referenced by process().
void tuttle::host::ImageEffectNode::editBegin | ( | const std::string & | name | ) | [virtual] |
Triggered when the plug-in calls OfxParameterSuiteV1::paramEditBegin
Client host code needs to implement this
Implements tuttle::host::ofx::attribute::OfxhParamSet.
Definition at line 316 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::editEnd | ( | ) | [virtual] |
Triggered when the plug-in calls OfxParameterSuiteV1::paramEditEnd
Client host code needs to implement this
Implements tuttle::host::ofx::attribute::OfxhParamSet.
Definition at line 321 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::endSequence | ( | graph::ProcessVertexData & | processData | ) | [virtual] |
End of the whole frame range process, now finalize this node.
[in] | processData |
Implements tuttle::host::INode.
Definition at line 999 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexData::_interactive, tuttle::host::graph::ProcessVertexData::_renderScale, tuttle::host::graph::ProcessVertexData::_renderTimeRange, tuttle::host::graph::ProcessVertexData::_step, and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::endSequenceRenderAction().
attribute::Attribute& tuttle::host::ImageEffectNode::getAttribute | ( | const std::string & | name | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 76 of file ImageEffectNode.hpp.
References getClip().
attribute::ClipImage& tuttle::host::ImageEffectNode::getClip | ( | const std::string & | name, |
const bool | acceptPartialName = false |
||
) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 70 of file ImageEffectNode.hpp.
Referenced by getAttribute(), getClip(), getOutputClip(), and process().
const attribute::ClipImage& tuttle::host::ImageEffectNode::getClip | ( | const std::string & | name, |
const bool | acceptPartialName = false |
||
) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 71 of file ImageEffectNode.hpp.
References getClip().
ofx::attribute::OfxhClipImageSet& tuttle::host::ImageEffectNode::getClipImageSet | ( | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 84 of file ImageEffectNode.hpp.
const ofx::attribute::OfxhClipImageSet& tuttle::host::ImageEffectNode::getClipImageSet | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 85 of file ImageEffectNode.hpp.
const std::string& tuttle::host::ImageEffectNode::getDefaultOutputFielding | ( | ) | const [inline, virtual] |
get default output fielding. This is passed into the clip prefs action and might be mapped (if the host allows such a thing)
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 138 of file ImageEffectNode.hpp.
References _defaultOutputFielding.
OfxRangeD tuttle::host::ImageEffectNode::getDefaultTimeDomain | ( | ) | const |
Definition at line 673 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::Attribute::getNode(), tuttle::host::INode::getTimeDomain(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::max(), and tuttle::min().
Referenced by computeTimeDomain().
ofx::property::OfxhSet& tuttle::host::ImageEffectNode::getEditableProperties | ( | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 45 of file ImageEffectNode.hpp.
double tuttle::host::ImageEffectNode::getEffectDuration | ( | ) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 219 of file ImageEffectNode.cpp.
const OfxRangeD& tuttle::host::ImageEffectNode::getEffectFrameRange | ( | ) | const [inline] |
Definition at line 251 of file ImageEffectNode.hpp.
References tuttle::host::graph::ProcessVertexData::_renderTimeRange, and tuttle::host::INode::getData().
double tuttle::host::ImageEffectNode::getFrameRecursive | ( | ) | const [virtual] |
This is called whenever a param is changed by the plugin so that the recursive instanceChangedAction will be fed the correct frame
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 226 of file ImageEffectNode.cpp.
std::string tuttle::host::ImageEffectNode::getLabel | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 33 of file ImageEffectNode.hpp.
Referenced by print().
std::size_t tuttle::host::ImageEffectNode::getLocalHashAtTime | ( | const OfxTime | time | ) | const [virtual] |
Implements tuttle::host::INode.
Definition at line 124 of file ImageEffectNode.cpp.
References tuttle::host::ofx::OfxhPluginDesc::getHash(), tuttle::host::ofx::attribute::OfxhParamSet::getHashAtTime(), getParamSet(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getPlugin(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::isFrameVarying().
const std::string& tuttle::host::ImageEffectNode::getName | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 34 of file ImageEffectNode.hpp.
Referenced by computeTimeDomain(), debugOutputImage(), maximizeBitDepthFromReadsToWrites(), preProcess1(), process(), progressStart(), and validInputClipsConnections().
std::size_t tuttle::host::ImageEffectNode::getNbParams | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 36 of file ImageEffectNode.hpp.
const ENodeType tuttle::host::ImageEffectNode::getNodeType | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 66 of file ImageEffectNode.hpp.
References tuttle::host::INode::eNodeTypeImageEffect.
attribute::ClipImage& tuttle::host::ImageEffectNode::getOutputClip | ( | ) | [inline] |
Reimplemented from tuttle::host::INode.
Definition at line 73 of file ImageEffectNode.hpp.
References getClip().
Referenced by tuttle::host::graph::ProcessVertex::exportDotDebug(), tuttle::host::graph::ProcessVertexAtTime::exportDotDebug(), initComponents(), initFps(), initPixelAspectRatio(), isIdentity(), maximizeBitDepthFromReadsToWrites(), maximizeBitDepthFromWritesToReads(), preProcess_infos(), and process().
const attribute::ClipImage& tuttle::host::ImageEffectNode::getOutputClip | ( | ) | const [inline] |
Reimplemented from tuttle::host::INode.
Definition at line 74 of file ImageEffectNode.hpp.
References getClip().
const ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParam | ( | const std::string & | name | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 37 of file ImageEffectNode.hpp.
Referenced by tuttle::host::io::getBestReader(), and getParam().
ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParam | ( | const std::string & | name | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 38 of file ImageEffectNode.hpp.
References getParam().
const ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParam | ( | const std::size_t | index | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 41 of file ImageEffectNode.hpp.
References getParam().
ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParam | ( | const std::size_t | index | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 42 of file ImageEffectNode.hpp.
References getParam().
const ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParamByScriptName | ( | const std::string & | name, |
const bool | acceptPartialName = false |
||
) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 39 of file ImageEffectNode.hpp.
Referenced by getParamByScriptName().
ofx::attribute::OfxhParam& tuttle::host::ImageEffectNode::getParamByScriptName | ( | const std::string & | name, |
const bool | acceptPartialName = false |
||
) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 40 of file ImageEffectNode.hpp.
References getParamByScriptName().
ofx::attribute::OfxhParamSet& tuttle::host::ImageEffectNode::getParamSet | ( | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 81 of file ImageEffectNode.hpp.
Referenced by getLocalHashAtTime().
const ofx::attribute::OfxhParamSet& tuttle::host::ImageEffectNode::getParamSet | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 82 of file ImageEffectNode.hpp.
const std::string tuttle::host::ImageEffectNode::getProjectBitDepth | ( | ) | const |
The pixel bit depth of the current project (host work in float)
Definition at line 252 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::getProjectExtent | ( | double & | xSize, |
double & | ySize | ||
) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 192 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::INode::_dataAtTime, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoD, and tuttle::host::INode::getLastData().
void tuttle::host::ImageEffectNode::getProjectOffset | ( | double & | xOffset, |
double & | yOffset | ||
) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 185 of file ImageEffectNode.cpp.
double tuttle::host::ImageEffectNode::getProjectPixelAspectRatio | ( | ) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 213 of file ImageEffectNode.cpp.
const std::string tuttle::host::ImageEffectNode::getProjectPixelComponentsType | ( | ) | const |
The pixel components type of the current project
Definition at line 243 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::getProjectSize | ( | double & | xSize, |
double & | ySize | ||
) | const [virtual] |
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 164 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::INode::_dataAtTime, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoD, and tuttle::host::INode::getLastData().
const ofx::property::OfxhSet& tuttle::host::ImageEffectNode::getProperties | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 44 of file ImageEffectNode.hpp.
OfxRectD tuttle::host::ImageEffectNode::getRegionOfDefinition | ( | const OfxTime | time | ) | const [inline] |
Definition at line 89 of file ImageEffectNode.hpp.
References tuttle::host::INode::getData().
Referenced by tuttle::host::attribute::ClipImage::fetchRegionOfDefinition(), and tuttle::host::io::getBestReader().
void tuttle::host::ImageEffectNode::getRenderScaleRecursive | ( | double & | x, |
double & | y | ||
) | const [virtual] |
This is called whenever a param is changed by the plugin so that the recursive instanceChangedAction will be fed the correct renderScale
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 234 of file ImageEffectNode.cpp.
attribute::Attribute & tuttle::host::ImageEffectNode::getSingleInputAttribute | ( | ) | [virtual] |
Implements tuttle::host::INode.
Definition at line 88 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::getClipsByName(), and tuttle::host::ofx::attribute::OfxhClipImageSet::getClipsByOrder().
const attribute::Attribute& tuttle::host::ImageEffectNode::getSingleInputAttribute | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 79 of file ImageEffectNode.hpp.
References getSingleInputAttribute().
Referenced by getSingleInputAttribute().
OfxRangeD tuttle::host::ImageEffectNode::getTimeDomain | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 94 of file ImageEffectNode.hpp.
References tuttle::host::graph::ProcessVertexData::_timeDomain, and tuttle::host::INode::getData().
Referenced by tuttle::host::io::getBestReader().
INode::ClipTimesSetMap tuttle::host::ImageEffectNode::getTimesNeeded | ( | const OfxTime | time | ) | const [inline, virtual] |
Asks the plugin all times it needs for each of it's input clips.
[in] | time |
Implements tuttle::host::INode.
Definition at line 113 of file ImageEffectNode.hpp.
References tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getFramesNeeded().
std::vector<int> tuttle::host::ImageEffectNode::getVersion | ( | ) | const [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 47 of file ImageEffectNode.hpp.
References tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getDescriptor(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getPlugin().
void tuttle::host::ImageEffectNode::initComponents | ( | ) | [private] |
Definition at line 396 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::imageEffect::OfxhImageEffectNode::findMostChromaticComponents(), tuttle::host::ofx::attribute::OfxhClipImage::getComponentsString(), tuttle::host::attribute::ClipImage::getConnectedClip(), getOutputClip(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::ofx::attribute::OfxhClipImageAccessor::isSupportedComponent(), and tuttle::host::ofx::attribute::OfxhClipImage::setComponentsStringIfNotModifiedByPlugin().
Referenced by setup1().
void tuttle::host::ImageEffectNode::initFps | ( | ) | [private] |
Definition at line 486 of file ImageEffectNode.cpp.
References getOutputClip(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getOutputFrameRate(), and tuttle::host::attribute::ClipImage::setFrameRate().
Referenced by setup1().
void tuttle::host::ImageEffectNode::initInputClipsFps | ( | ) | [private] |
Definition at line 471 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::ClipImage::getFrameRate(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), and tuttle::host::attribute::ClipImage::setFrameRate().
Referenced by setup1().
void tuttle::host::ImageEffectNode::initInputClipsPixelAspectRatio | ( | ) | [private] |
Definition at line 432 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::property::eModifiedByHost, tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::ClipImage::getName(), tuttle::host::ofx::attribute::OfxhClipImageSet::getNbClips(), tuttle::host::ofx::attribute::OfxhClipImage::getPixelAspectRatio(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::ofx::attribute::OfxhClipImage::setPixelAspectRatio(), tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::supportsMultipleClipPARs(), TUTTLE_INFO, and TUTTLE_TLOG.
Referenced by setup1().
void tuttle::host::ImageEffectNode::initPixelAspectRatio | ( | ) | [private] |
Definition at line 492 of file ImageEffectNode.cpp.
References tuttle::host::ofx::property::eModifiedByHost, getOutputClip(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getOutputPixelAspectRatio(), and tuttle::host::ofx::attribute::OfxhClipImage::setPixelAspectRatio().
Referenced by setup1().
bool tuttle::host::ImageEffectNode::isIdentity | ( | const graph::ProcessVertexAtTimeData & | processData, |
std::string & | clip, | ||
OfxTime & | time | ||
) | const [virtual] |
The node can declare to be an identity operation. In this case, the node is not processed and the rendering engine direcly use the indicated input clip at a particular time.
[in] | processData | |
[out] | clip | the input clip to use as identity |
[out] | time | the time to use as identity |
Implements tuttle::host::INode.
Definition at line 816 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_field, tuttle::host::graph::ProcessVertexAtTimeData::_nodeData, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoI, tuttle::host::graph::ProcessVertexAtTimeData::_time, getOutputClip(), tuttle::host::ofx::attribute::OfxhClipImage::getPixelAspectRatio(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::isIdentityAction().
void tuttle::host::ImageEffectNode::maximizeBitDepthFromReadsToWrites | ( | ) | [private] |
Definition at line 498 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::INode::asImageEffectNode(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::bestSupportedBitDepth(), tuttle::host::INode::eNodeTypeBuffer, tuttle::host::INode::eNodeTypeImageEffect, tuttle::ofx::imageEffect::findDeepestBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::getBitDepthString(), tuttle::host::attribute::ClipImage::getConnectedClip(), getName(), tuttle::host::attribute::Attribute::getNode(), tuttle::host::INode::getNodeType(), getOutputClip(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::isSupportedBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthStringIfUpperAndNotModifiedByPlugin(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::supportsMultipleClipDepths().
Referenced by setup1(), and setup3().
void tuttle::host::ImageEffectNode::maximizeBitDepthFromWritesToReads | ( | ) | [private] |
Definition at line 570 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::INode::asImageEffectNode(), tuttle::host::INode::eNodeTypeImageEffect, tuttle::host::ofx::attribute::OfxhClipImage::getBitDepthString(), tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::Attribute::getNode(), tuttle::host::INode::getNodeType(), getOutputClip(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::isSupportedBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthStringIfUpper(), tuttle::host::ofx::attribute::OfxhClipImage::setBitDepthStringIfUpperAndNotModifiedByPlugin(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::supportsMultipleClipDepths().
Referenced by setup2_reverse().
tuttle::host::ofx::attribute::OfxhClipImage * tuttle::host::ImageEffectNode::newClipImage | ( | const ofx::attribute::OfxhClipImageDescriptor & | descriptor | ) | [virtual] |
make a clip
Implements tuttle::host::ofx::attribute::OfxhClipImageSet.
Definition at line 119 of file ImageEffectNode.cpp.
ofx::OfxhMemory * tuttle::host::ImageEffectNode::newMemoryInstance | ( | size_t | nBytes | ) | [virtual] |
Allocating memory using the memoryPool
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 146 of file ImageEffectNode.cpp.
References tuttle::host::ofx::OfxhMemory::alloc().
ofx::attribute::OfxhParam * tuttle::host::ImageEffectNode::newParam | ( | const ofx::attribute::OfxhParamDescriptor & | Descriptor | ) | [virtual] |
Create a parameter instance.
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 259 of file ImageEffectNode.cpp.
References tuttle::quotes().
bool tuttle::host::ImageEffectNode::operator== | ( | const INode & | other | ) | const [virtual] |
Implements tuttle::host::INode.
Definition at line 64 of file ImageEffectNode.cpp.
Referenced by operator==().
bool tuttle::host::ImageEffectNode::operator== | ( | const ImageEffectNode & | other | ) | const |
Definition at line 75 of file ImageEffectNode.cpp.
References operator==().
void tuttle::host::ImageEffectNode::postProcess | ( | graph::ProcessVertexAtTimeData & | processData | ) | [virtual] |
The process of all nodes is done for one frame, now finalize this node.
[in] | processData |
Implements tuttle::host::INode.
Definition at line 993 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::preProcess1 | ( | graph::ProcessVertexAtTimeData & | processData | ) | [virtual] |
Initialization pass to propagate informations from inputs to outputs.
[in] | processData |
<
Reimplemented from tuttle::host::INode.
Definition at line 784 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::graph::ProcessVertexAtTimeData::_nodeData, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoD, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoI, tuttle::host::graph::ProcessVertexAtTimeData::_time, getName(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getRegionOfDefinitionAction(), TUTTLE_INFO, and TUTTLE_TLOG.
void tuttle::host::ImageEffectNode::preProcess2_reverse | ( | graph::ProcessVertexAtTimeData & | processData | ) | [virtual] |
Initialization pass to propagate informations from outputs to inputs.
[in] | processData |
Reimplemented from tuttle::host::INode.
Definition at line 803 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_inputsRoI, tuttle::host::graph::ProcessVertexAtTimeData::_nodeData, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoI, tuttle::host::graph::ProcessVertexAtTimeData::_time, and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getRegionOfInterestAction().
void tuttle::host::ImageEffectNode::preProcess_infos | ( | const graph::ProcessVertexAtTimeData & | processData, |
const OfxTime | time, | ||
graph::ProcessVertexAtTimeInfo & | nodeInfos | ||
) | const [virtual] |
Fill ProcessInfo to compute statistics for the current process, like memory used by this node, by all input nodes, etc.
[in] | processData |
Implements tuttle::host::INode.
Definition at line 831 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::graph::ProcessVertexAtTimeInfo::_memory, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoD, tuttle::host::ofx::attribute::OfxhClipImage::getBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::getNbComponents(), and getOutputClip().
std::ostream & tuttle::host::ImageEffectNode::print | ( | std::ostream & | os | ) | const [virtual] |
Implements tuttle::host::INode.
Definition at line 1010 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::imageEffect::OfxhImageEffectNode::_context, tuttle::host::ofx::attribute::OfxhParamSet::_paramVector, getLabel(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNodeBase::getLongLabel().
Referenced by tuttle::host::operator<<().
void tuttle::host::ImageEffectNode::process | ( | graph::ProcessVertexAtTimeData & | processData | ) | [virtual] |
Process this node. All inputs are compute.
[in] | processData |
Implements tuttle::host::INode.
Definition at line 841 of file ImageEffectNode.cpp.
References tuttle::host::graph::ProcessVertexAtTimeData::_apiImageEffect, tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_field, tuttle::host::graph::ProcessVertexAtTimeData::_inEdges, tuttle::host::graph::ProcessVertexAtTimeData::_isFinalNode, tuttle::host::graph::ProcessVertexAtTimeData::_nodeData, tuttle::host::graph::ProcessVertexAtTimeData::_outDegree, tuttle::host::graph::ProcessVertexAtTimeData::ImageEffect::_renderRoI, tuttle::host::graph::ProcessVertexAtTimeData::_time, tuttle::host::core(), debugOutputImage(), tuttle::host::attribute::Image::eImageOrientationFromBottomToTop, tuttle::host::ofx::imageEffect::OfxhImage::eReferenceOwnerHost, tuttle::host::memory::IMemoryCache::get(), getClip(), tuttle::host::attribute::ClipImage::getClipIdentifier(), tuttle::host::attribute::ClipImage::getFullName(), tuttle::host::graph::IEdge::getIn(), tuttle::host::graph::IEdge::getInAttrName(), getName(), tuttle::host::graph::IEdge::getOut(), getOutputClip(), tuttle::host::graph::ProcessEdgeAtTime::getOutTime(), tuttle::host::ofx::attribute::OfxhClipImage::getPixelAspectRatio(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getPlugin(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput(), tuttle::host::memory::IMemoryCache::put(), tuttle::quotes(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::renderAction(), TUTTLE_INFO, TUTTLE_LOG_TRACE, and TUTTLE_TLOG.
void tuttle::host::ImageEffectNode::progressEnd | ( | ) | [virtual] |
finish yer progress
Implements tuttle::host::ofx::OfxhIProgress.
Definition at line 335 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::progressStart | ( | const std::string & | message | ) | [virtual] |
Start doing progress.
Implements tuttle::host::ofx::OfxhIProgress.
Definition at line 327 of file ImageEffectNode.cpp.
References tuttle::common::Color::get(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getContext(), getName(), TUTTLE_LOG_INFO, and TUTTLE_LOG_PLUGIN_NAME_WIDTH.
bool tuttle::host::ImageEffectNode::progressUpdate | ( | const double | progress | ) | [virtual] |
set the progress to some level of completion, returns true if you should abandon processing, false to continue
Implements tuttle::host::ofx::OfxhIProgress.
Definition at line 342 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::setName | ( | const std::string & | name | ) | [inline, virtual] |
Implements tuttle::host::INode.
Definition at line 35 of file ImageEffectNode.hpp.
void tuttle::host::ImageEffectNode::setup1 | ( | ) | [virtual] |
Implements tuttle::host::INode.
Definition at line 744 of file ImageEffectNode.cpp.
References checkClipsConnected(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getClipPreferencesAction(), initComponents(), initFps(), initInputClipsFps(), initInputClipsPixelAspectRatio(), initPixelAspectRatio(), and maximizeBitDepthFromReadsToWrites().
void tuttle::host::ImageEffectNode::setup2_reverse | ( | ) | [virtual] |
Implements tuttle::host::INode.
Definition at line 760 of file ImageEffectNode.cpp.
References maximizeBitDepthFromWritesToReads().
void tuttle::host::ImageEffectNode::setup3 | ( | ) | [virtual] |
Implements tuttle::host::INode.
Definition at line 765 of file ImageEffectNode.cpp.
References maximizeBitDepthFromReadsToWrites(), and validInputClipsConnections().
void tuttle::host::ImageEffectNode::timelineGetBounds | ( | double & | t1, |
double & | t2 | ||
) | [virtual] |
get the first and last times available on the effect's timeline
Implements tuttle::host::ofx::OfxhITimeline.
Definition at line 365 of file ImageEffectNode.cpp.
double tuttle::host::ImageEffectNode::timelineGetTime | ( | ) | [virtual] |
get the current time on the timeline. This is not necessarily the same time as being passed to an action (eg render)
Implements tuttle::host::ofx::OfxhITimeline.
Definition at line 355 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::timelineGotoTime | ( | double | t | ) | [virtual] |
set the timeline to a specific time
Implements tuttle::host::ofx::OfxhITimeline.
Definition at line 361 of file ImageEffectNode.cpp.
void tuttle::host::ImageEffectNode::validInputClipsConnections | ( | ) | const [private] |
Definition at line 642 of file ImageEffectNode.cpp.
References tuttle::host::ofx::attribute::OfxhClipImageSet::_clipImages, tuttle::host::ofx::attribute::OfxhClipImage::getBitDepth(), tuttle::host::ofx::attribute::OfxhClipImage::getComponents(), tuttle::host::ofx::attribute::OfxhClipImage::getComponentsString(), tuttle::host::attribute::ClipImage::getConnectedClip(), tuttle::host::attribute::ClipImage::getFullName(), getName(), tuttle::host::ofx::imageEffect::OfxhImageEffectNode::getPlugin(), tuttle::host::ofx::attribute::OfxhClipAccessor::isConnected(), and tuttle::host::ofx::attribute::OfxhAttributeAccessor::isOutput().
Referenced by setup3().
void tuttle::host::ImageEffectNode::vmessage | ( | const char * | type, |
const char * | id, | ||
const char * | format, | ||
va_list | args | ||
) | const [virtual] |
vmessage
Implements tuttle::host::ofx::imageEffect::OfxhImageEffectNode.
Definition at line 155 of file ImageEffectNode.cpp.
std::ostream& operator<< | ( | std::ostream & | os, |
const This & | v | ||
) | [friend] |
Definition at line 1035 of file ImageEffectNode.cpp.
std::string tuttle::host::ImageEffectNode::_defaultOutputFielding [private] |
our clip is pretending to be progressive PAL SD, so return kOfxImageFieldNone
Definition at line 277 of file ImageEffectNode.hpp.
Referenced by getDefaultOutputFielding().