TuttleOFX  1
OFX::Private Namespace Reference

OFX::Private namespace, for things private to the support library code here generally calls image effect class members. More...

Typedefs

typedef std::map< EContext,
ImageEffectDescriptor * > 
EffectContextMap
 the set of descriptors, one per context used by kOfxActionDescribeInContext, 'eContextNone' is the one used by the kOfxActionDescribe
typedef std::map< std::string,
EffectContextMap
EffectDescriptorMap

Functions

OfxStatus mainEntryStr (const char *actionRaw, const void *handleRaw, OfxPropertySetHandle inArgsRaw, OfxPropertySetHandle outArgsRaw, const char *plugname)
 The main entry point for the plugin.
OfxStatus interactMainEntry (const char *actionRaw, const void *handleRaw, OfxPropertySetHandle inArgsRaw, OfxPropertySetHandle outArgsRaw, InteractDescriptor &desc)
 The main entry for image effect overlays.
void fetchHostDescription (OfxHost *host)
 Creates the global host description and sets its properties.
OFX::PropertySet fetchEffectProps (OfxImageEffectHandle handle)
 fetch the effect property set from the ImageEffectHandle
void loadAction (void)
 Library side load action, this fetches all the suite pointers.
void unloadAction (const char *id)
 Library side unload action, this fetches all the suite pointers.
ImageEffectretrieveImageEffectPointer (OfxImageEffectHandle handle)
 fetches our pointer out of the props on the handle
void checkMainHandles (const std::string &action, const void *handle, OfxPropertySetHandle inArgsHandle, OfxPropertySetHandle outArgsHandle, bool handleCanBeNull, bool inArgsCanBeNull, bool outArgsCanBeNull)
 Checks the handles passed into the plugin's main entry point.
void getRenderActionArguments (RenderArguments &args, OFX::PropertySet inArgs)
 Fetches the arguments used in a render action 'inargs' property set into a POD struct.
void renderAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs)
 Library side render action, fetches relevant properties and calls the client code.
void beginSequenceRenderAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs)
 Library side render begin sequence render action, fetches relevant properties and calls the client code.
void endSequenceRenderAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs)
 Library side render begin sequence render action, fetches relevant properties and calls the client code.
bool isIdentityAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs, OFX::PropertySet &outArgs)
 Library side render begin sequence render action, fetches relevant properties and calls the client code.
bool regionOfDefinitionAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs, OFX::PropertySet &outArgs)
 Library side get region of definition function.
bool regionsOfInterestAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs, OFX::PropertySet &outArgs, const char *plugname)
 Library side get regions of interest function.
bool framesNeededAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs, OFX::PropertySet &outArgs, const char *plugname)
 Library side frames needed action.
bool getTimeDomainAction (OfxImageEffectHandle handle, OFX::PropertySet &outArgs)
 Library side get regions of interest function.
bool clipPreferencesAction (OfxImageEffectHandle handle, OFX::PropertySet &outArgs, const char *plugname)
 Library side get regions of interest function.
void beginInstanceChangedAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs)
 Library side begin instance changed action.
void instanceChangedAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs)
 Library side instance changed action.
void endInstanceChangedAction (OfxImageEffectHandle handle, OFX::PropertySet inArgs)
 Library side end instance changed action.
void setHost (OfxHost *host)
 The plugin function that gets passed the host structure.
OfxPlugInfo generatePlugInfo (PluginFactory *factory)
InteractretrieveInteractPointer (OfxInteractHandle handle)
 fetches our pointer out of the props on the handle
OfxStatus interactMainEntry (const std::string &action, OfxInteractHandle handle, PropertySet inArgs, PropertySet outArgs)
 The common entry point used by all interacts.
void unloadAction (void)
 Support lib function called on an ofx unload action.

Variables

OfxPlugInfoMap plugInfoMap
OfxPluginArray ofxPlugs
ImageEffectHostDescription gHostDescription
 the global host description
bool gHostDescriptionHasInit = false
int gLoadCount = 0
 Keeps count of how many times load/unload have been called.
bool gHasInit = false
OfxHostgHost = NULL
 Pointer to the host.
OfxImageEffectSuiteV1gEffectSuite = NULL
 Pointer to the effect suite.
OfxPropertySuiteV1gPropSuite = NULL
 Pointer to the property suite.
OfxInteractSuiteV1gInteractSuite = NULL
 Pointer to the interact suite.
OfxParameterSuiteV1gParamSuite = NULL
 Pointer to the parameter suite.
OfxMemorySuiteV1gMemorySuite = NULL
 Pointer to the general memory suite.
OfxMultiThreadSuiteV1gThreadSuite = NULL
 Pointer to the threading suite.
OfxMessageSuiteV1gMessageSuite = NULL
 Pointer to the message suite.
OfxProgressSuiteV1gProgressSuite = NULL
 Pointer to the optional progress suite.
OfxTimeLineSuiteV1gTimeLineSuite = NULL
 Pointer to the optional progress suite.
OfxParametricParameterSuiteV1gParametricParameterSuite = NULL
 Pointer to the parametric parameter suite.
NukeOfxCameraSuiteV1gCameraParameterSuite = NULL
 Pointer to the camera parameter suite (nuke ofx extension)
EffectDescriptorMap gEffectDescriptors

Detailed Description

OFX::Private namespace, for things private to the support library code here generally calls image effect class members.


Typedef Documentation

the set of descriptors, one per context used by kOfxActionDescribeInContext, 'eContextNone' is the one used by the kOfxActionDescribe

Definition at line 112 of file ofxsSupportPrivate.h.

typedef std::map<std::string, EffectContextMap> OFX::Private::EffectDescriptorMap

Definition at line 113 of file ofxsSupportPrivate.h.


Function Documentation

void OFX::Private::beginInstanceChangedAction ( OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs 
)

Library side begin instance changed action.

Definition at line 2309 of file ofxsImageEffect.cpp.

References OFX::ImageEffect::beginChanged(), kOfxPropChangeReason, OFX::mapInstanceChangedReasonStringToEnum(), OFX::PropertySet::propGetString(), and retrieveImageEffectPointer().

Referenced by mainEntryStr().

Here is the call graph for this function:

void OFX::Private::checkMainHandles ( const std::string &  action,
const void *  handle,
OfxPropertySetHandle  inArgsHandle,
OfxPropertySetHandle  outArgsHandle,
bool  handleCanBeNull,
bool  inArgsCanBeNull,
bool  outArgsCanBeNull 
)

Checks the handles passed into the plugin's main entry point.

Definition at line 1945 of file ofxsImageEffect.cpp.

References OFX::Log::error(), kOfxStatErrBadHandle, OFX::throwSuiteStatusException(), OFX::Validation::validateActionArgumentsProperties(), and OFX::Log::warning().

Referenced by mainEntryStr().

Here is the call graph for this function:

bool OFX::Private::clipPreferencesAction ( OfxImageEffectHandle  handle,
OFX::PropertySet outArgs,
const char *  plugname 
)
void OFX::Private::endInstanceChangedAction ( OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs 
)

Library side end instance changed action.

Definition at line 2356 of file ofxsImageEffect.cpp.

References OFX::ImageEffect::endChanged(), kOfxPropChangeReason, OFX::mapInstanceChangedReasonStringToEnum(), OFX::PropertySet::propGetString(), and retrieveImageEffectPointer().

Referenced by mainEntryStr().

Here is the call graph for this function:

void OFX::Private::endSequenceRenderAction ( OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs 
)

Library side render begin sequence render action, fetches relevant properties and calls the client code.

Definition at line 2038 of file ofxsImageEffect.cpp.

References OFX::ImageEffect::endSequenceRender(), OFX::EndSequenceRenderArguments::isInteractive, kOfxImageEffectPropRenderScale, kOfxPropIsInteractive, OFX::PropertySet::propGetDouble(), OFX::PropertySet::propGetInt(), OFX::EndSequenceRenderArguments::renderScale, retrieveImageEffectPointer(), OfxPointD::x, and OfxPointD::y.

Referenced by mainEntryStr().

Here is the call graph for this function:

OFX::PropertySet OFX::Private::fetchEffectProps ( OfxImageEffectHandle  handle)

fetch the effect property set from the ImageEffectHandle

fetch the prop set from the effect handle

Definition at line 1810 of file ofxsImageEffect.cpp.

References gEffectSuite, OfxImageEffectSuiteV1::getPropertySet, and OFX::throwSuiteStatusException().

Referenced by OFX::ImageEffect::ImageEffect(), and mainEntryStr().

Here is the call graph for this function:

void OFX::Private::fetchHostDescription ( OfxHost host)

Creates the global host description and sets its properties.

Definition at line 1763 of file ofxsImageEffect.cpp.

References OFX::ImageEffectHostDescription::_supportedComponents, OFX::ImageEffectHostDescription::_supportedContexts, OFX::ImageEffectHostDescription::_supportedPixelDepths, OFX::Log::error(), gCameraParameterSuite, gHostDescription, gHostDescriptionHasInit, gParametricParameterSuite, OfxHost::host, OFX::ImageEffectHostDescription::hostIsBackground, OFX::ImageEffectHostDescription::hostLabel, OFX::ImageEffectHostDescription::hostName, kOfxImageEffectHostPropIsBackground, kOfxImageEffectPropSetableFielding, kOfxImageEffectPropSetableFrameRate, kOfxImageEffectPropSupportedComponents, kOfxImageEffectPropSupportedContexts, kOfxImageEffectPropSupportedPixelDepths, kOfxImageEffectPropSupportsMultipleClipDepths, kOfxImageEffectPropSupportsMultipleClipPARs, kOfxImageEffectPropSupportsMultiResolution, kOfxImageEffectPropSupportsOverlays, kOfxImageEffectPropSupportsTiles, kOfxImageEffectPropTemporalClipAccess, kOfxParamHostPropMaxPages, kOfxParamHostPropMaxParameters, kOfxParamHostPropPageRowColumnCount, kOfxParamHostPropSupportsBooleanAnimation, kOfxParamHostPropSupportsChoiceAnimation, kOfxParamHostPropSupportsCustomAnimation, kOfxParamHostPropSupportsCustomInteract, kOfxParamHostPropSupportsStringAnimation, kOfxPropLabel, kOfxPropName, OFX::mapBitDepthStringToEnum(), OFX::mapContextStringToEnum(), OFX::mapPixelComponentStringToEnum(), OFX::ImageEffectHostDescription::maxPages, OFX::ImageEffectHostDescription::maxParameters, OFX::ImageEffectHostDescription::pageColumnCount, OFX::ImageEffectHostDescription::pageRowCount, OFX::PropertySet::propGetDimension(), OFX::PropertySet::propGetInt(), OFX::PropertySet::propGetString(), OFX::ImageEffectHostDescription::supportsBooleanAnimation, OFX::ImageEffectHostDescription::supportsCameraParameter, OFX::ImageEffectHostDescription::supportsChoiceAnimation, OFX::ImageEffectHostDescription::supportsCustomAnimation, OFX::ImageEffectHostDescription::supportsCustomInteract, OFX::ImageEffectHostDescription::supportsMultipleClipDepths, OFX::ImageEffectHostDescription::supportsMultipleClipPARs, OFX::ImageEffectHostDescription::supportsMultiResolution, OFX::ImageEffectHostDescription::supportsOverlays, OFX::ImageEffectHostDescription::supportsParametricParameter, OFX::ImageEffectHostDescription::supportsSetableFielding, OFX::ImageEffectHostDescription::supportsSetableFrameRate, OFX::ImageEffectHostDescription::supportsStringAnimation, OFX::ImageEffectHostDescription::supportsTiles, and OFX::ImageEffectHostDescription::temporalClipAccess.

Referenced by loadAction().

Here is the call graph for this function:

bool OFX::Private::framesNeededAction ( OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs,
OFX::PropertySet outArgs,
const char *  plugname 
)

Library side frames needed action.

local class to set the frames needed from a clip

<property set to set values in

<map holding a bunch of frame ranges, one for each clip

ctor

set the RoI of the clip

write frameRanges_ back to the property set

Definition at line 2178 of file ofxsImageEffect.cpp.

References gEffectDescriptors, OFX::ImageEffect::getContext(), OFX::ImageEffect::getFramesNeeded(), kOfxImageEffectOutputClipName, kOfxPropTime, OFX::Clip::name(), OFX::PropertySet::propGetDouble(), retrieveImageEffectPointer(), and OFX::FramesNeededArguments::time.

Referenced by mainEntryStr().

Here is the call graph for this function:

bool OFX::Private::getTimeDomainAction ( OfxImageEffectHandle  handle,
OFX::PropertySet outArgs 
)
bool OFX::Private::isIdentityAction ( OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs,
OFX::PropertySet outArgs 
)

Library side render begin sequence render action, fetches relevant properties and calls the client code.

Definition at line 2054 of file ofxsImageEffect.cpp.

References getRenderActionArguments(), OFX::ImageEffect::isIdentity(), kOfxPropName, kOfxPropTime, OFX::Clip::name(), OFX::PropertySet::propSetDouble(), OFX::PropertySet::propSetString(), retrieveImageEffectPointer(), and OFX::RenderArguments::time.

Referenced by mainEntryStr().

Here is the call graph for this function:

OfxStatus OFX::Private::mainEntryStr ( const char *  actionRaw,
const void *  handleRaw,
OfxPropertySetHandle  inArgsRaw,
OfxPropertySetHandle  outArgsRaw,
const char *  plugname 
)

The main entry point for the plugin.

Todo:
there is an assert in boost::get_error_info here. Why?
Todo:
there is an assert in boost::get_error_info here. Why?

Definition at line 2369 of file ofxsImageEffect.cpp.

References OFX::ImageEffect::beginEdit(), beginInstanceChangedAction(), beginSequenceRenderAction(), checkMainHandles(), clipPreferencesAction(), OFX::PluginFactory::createInstance(), OFX::PluginFactory::describe(), OFX::PluginFactory::describeInContext(), OFX::eContextNone, OFX::ImageEffect::endEdit(), endInstanceChangedAction(), endSequenceRenderAction(), OFX::Log::error(), fetchEffectProps(), framesNeededAction(), gEffectDescriptors, tuttle::common::Color::get(), getTimeDomainAction(), OFX::Log::indent(), instanceChangedAction(), isIdentityAction(), kOfxActionBeginInstanceChanged, kOfxActionBeginInstanceEdit, kOfxActionCreateInstance, kOfxActionDescribe, kOfxActionDestroyInstance, kOfxActionEndInstanceChanged, kOfxActionEndInstanceEdit, kOfxActionInstanceChanged, kOfxActionLoad, kOfxActionPurgeCaches, kOfxActionSyncPrivateData, kOfxActionUnload, kOfxImageEffectActionBeginSequenceRender, kOfxImageEffectActionDescribeInContext, kOfxImageEffectActionEndSequenceRender, kOfxImageEffectActionGetClipPreferences, kOfxImageEffectActionGetFramesNeeded, kOfxImageEffectActionGetRegionOfDefinition, kOfxImageEffectActionGetRegionsOfInterest, kOfxImageEffectActionGetTimeDomain, kOfxImageEffectActionIsIdentity, kOfxImageEffectActionRender, kOfxImageEffectPropContext, kOfxStatErrMemory, kOfxStatErrMissingHostFeature, kOfxStatFailed, kOfxStatOK, kOfxStatReplyDefault, OFX::PluginFactory::load(), loadAction(), OFX::mapContextStringToEnum(), OFX::Log::outdent(), plugInfoMap, OFX::Log::print(), OFX::PropertySet::propGetString(), OFX::ImageEffect::purgeCaches(), regionOfDefinitionAction(), regionsOfInterestAction(), renderAction(), retrieveImageEffectPointer(), OFX::Exception::Suite::status(), OFX::ImageEffect::syncPrivateData(), boost::stack_trace::trace(), OFX::PluginFactory::unload(), unloadAction(), OFX::Validation::validatePluginDescriptorProperties(), and OFX::Validation::validatePluginInstanceProperties().

Referenced by OFX::FactoryMainEntryHelper< FACTORY >::mainEntry().

Here is the call graph for this function:

bool OFX::Private::regionsOfInterestAction ( OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs,
OFX::PropertySet outArgs,
const char *  plugname 
)
void OFX::Private::renderAction ( OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs 
)

Library side render action, fetches relevant properties and calls the client code.

Definition at line 2004 of file ofxsImageEffect.cpp.

References getRenderActionArguments(), OFX::ImageEffect::render(), and retrieveImageEffectPointer().

Referenced by mainEntryStr().

Here is the call graph for this function:

Interact* OFX::Private::retrieveInteractPointer ( OfxInteractHandle  handle)

fetches our pointer out of the props on the handle

Definition at line 384 of file ofxsInteract.cpp.

References OFX::Log::error(), gInteractSuite, OfxInteractSuiteV1::interactGetPropertySet, kOfxPropInstanceData, OFX::PropertySet::propGetPointer(), and OFX::throwSuiteStatusException().

Referenced by interactMainEntry().

Here is the call graph for this function:

void OFX::Private::setHost ( OfxHost host)

The plugin function that gets passed the host structure.

Definition at line 2749 of file ofxsImageEffect.cpp.

References gHost.

Referenced by generatePlugInfo().

void OFX::Private::unloadAction ( void  )

Support lib function called on an ofx unload action.

void OFX::Private::unloadAction ( const char *  id)

Variable Documentation

Pointer to the camera parameter suite (nuke ofx extension)

Definition at line 107 of file ofxsImageEffect.cpp.

Referenced by fetchHostDescription(), OFX::ParamSet::fetchRawCameraParam(), loadAction(), and unloadAction().

bool OFX::Private::gHasInit = false

Definition at line 93 of file ofxsImageEffect.cpp.

Referenced by init(), and unloadAction().

Pointer to the host.

Definition at line 96 of file ofxsImageEffect.cpp.

Referenced by OFX::fetchSuite(), loadAction(), and setHost().

Keeps count of how many times load/unload have been called.

Definition at line 92 of file ofxsImageEffect.cpp.

Referenced by loadAction(), and unloadAction().

Pointer to the general memory suite.

Definition at line 101 of file ofxsImageEffect.cpp.

Referenced by OFX::memory::allocate(), OFX::memory::free(), loadAction(), and unloadAction().

Pointer to the parameter suite.

Definition at line 100 of file ofxsImageEffect.cpp.

Referenced by OFX::ParamSet::beginEditBlock(), OFX::ParamSetDescriptor::defineRawParam(), OFX::ValueParam::deleteAllKeys(), OFX::ValueParam::deleteKeyAtTime(), OFX::DoubleParam::differentiate(), OFX::Double2DParam::differentiate(), OFX::Double3DParam::differentiate(), OFX::ParamSet::endEditBlock(), OFX::ParamSet::fetchRawParam(), OFX::ValueParam::getKeyIndex(), OFX::ValueParam::getKeyTime(), OFX::ValueParam::getNumKeys(), OFX::ParamSet::getParam(), OFX::ParamSet::getParamType(), OFX::StringParam::getPointerValue(), OFX::StringParam::getPointerValueAtTime(), OFX::IntParam::getValue(), OFX::Int2DParam::getValue(), OFX::Int3DParam::getValue(), OFX::DoubleParam::getValue(), OFX::Double2DParam::getValue(), OFX::Double3DParam::getValue(), OFX::RGBParam::getValue(), OFX::RGBAParam::getValue(), OFX::ChoiceParam::getValue(), OFX::BooleanParam::getValue(), OFX::CustomParam::getValue(), OFX::IntParam::getValueAtTime(), OFX::Int2DParam::getValueAtTime(), OFX::Int3DParam::getValueAtTime(), OFX::DoubleParam::getValueAtTime(), OFX::Double2DParam::getValueAtTime(), OFX::Double3DParam::getValueAtTime(), OFX::RGBParam::getValueAtTime(), OFX::RGBAParam::getValueAtTime(), OFX::ChoiceParam::getValueAtTime(), OFX::BooleanParam::getValueAtTime(), OFX::CustomParam::getValueAtTime(), OFX::DoubleParam::integrate(), OFX::Double2DParam::integrate(), OFX::Double3DParam::integrate(), loadAction(), OFX::Param::Param(), OFX::ParamSet::paramExists(), OFX::ParamSetDescriptor::setOfxParamSetHandle(), OFX::ParametricParamDescriptor::setParamSet(), OFX::ParamSet::setParamSetHandle(), OFX::IntParam::setValue(), OFX::Int2DParam::setValue(), OFX::Int3DParam::setValue(), OFX::DoubleParam::setValue(), OFX::Double2DParam::setValue(), OFX::Double3DParam::setValue(), OFX::RGBParam::setValue(), OFX::RGBAParam::setValue(), OFX::StringParam::setValue(), OFX::ChoiceParam::setValue(), OFX::BooleanParam::setValue(), OFX::CustomParam::setValue(), OFX::IntParam::setValueAtTime(), OFX::Int2DParam::setValueAtTime(), OFX::Int3DParam::setValueAtTime(), OFX::DoubleParam::setValueAtTime(), OFX::Double2DParam::setValueAtTime(), OFX::Double3DParam::setValueAtTime(), OFX::RGBParam::setValueAtTime(), OFX::RGBAParam::setValueAtTime(), OFX::StringParam::setValueAtTime(), OFX::ChoiceParam::setValueAtTime(), OFX::BooleanParam::setValueAtTime(), OFX::CustomParam::setValueAtTime(), and unloadAction().