Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

ofxsImageEffect.cpp File Reference

#include "ofxsSupportPrivate.h"
#include <algorithm>
#include <iostream>
#include <sstream>

Namespaces

namespace  OFX
namespace  OFX::Private
namespace  OFX::Plugin

Classes

struct  OFX::OfxPlugInfo

Typedefs

typedef std::map< std::string,
OfxPlugInfo > 
OfxPlugInfoMap
typedef std::vector< OfxPlugin * > OfxPluginArray

Functions

ContextEnum mapToContextEnum (const std::string &s) throw (std::invalid_argument)
 map a std::string to a context enum
const char * mapToMessageTypeEnum (OFX::Message::MessageTypeEnum type)
OFX::Message::MessageReplyEnum mapToMessageReplyEnum (OfxStatus stat)
InstanceChangeReason mapToInstanceChangedReason (const std::string &s) throw (std::invalid_argument)
 map a std::string to a context
BitDepthEnum mapStrToBitDepthEnum (const std::string &str) throw (std::invalid_argument)
 turns a bit depth string into and enum
PixelComponentEnum mapStrToPixelComponentEnum (const std::string &str) throw (std::invalid_argument)
 turns a pixel component string into and enum
PreMultiplicationEnum mapStrToPreMultiplicationEnum (const std::string &str) throw (std::invalid_argument)
 turns a premultiplication string into and enum
FieldEnum mapStrToFieldEnum (const std::string &str) throw (std::invalid_argument)
 turns a field string into and enum
void fetchHostDescription (OfxHost *host)
 Creates the global host description and sets its properties.
OFX::PropertySet fetchEffectProps (OfxImageEffectHandle handle)
 fetch the prop set from the effect handle
void loadAction (void)
 Support lib function called on an ofx load action.
void unloadAction (const char *id)
 Library side unload action, this fetches all the suite pointers.
ImageEffect * retrieveImageEffectPointer (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)
 local class to set the roi of a clip ctor did we set something ? set the RoI of the clip Library side frames needed action
bool getTimeDomainAction (OfxImageEffectHandle handle, OFX::PropertySet &outArgs)
 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 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.
void getPluginIDs (OFX::PluginFactoryArray &ids)
OFX::OfxPlugInfo generatePlugInfo (OFX::PluginFactory *factory, std::string &newID)
void init ()
OfxExport int OfxGetNumberOfPlugins (void)
 , mandated function returning the number of plugins, which is always 1
OfxExport OfxPlugin * OfxGetPlugin (int nth)
 , mandated function returning the nth plugin

Variables

OFX::PluginFactoryArray plugIDs
OfxPlugInfoMap plugInfoMap
OfxPluginArray ofxPlugs
ImageEffectHostDescription gHostDescription
 the global host description
bool gHostDescriptionHasInit = false
OfxHost * gHost = 0
 Pointer to the host.
OfxImageEffectSuiteV1 * gEffectSuite = 0
 Pointer to the effect suite.
OfxPropertySuiteV1 * gPropSuite = 0
 Pointer to the property suite.
OfxInteractSuiteV1 * gInteractSuite = 0
 Pointer to the interact suite.
OfxParameterSuiteV1 * gParamSuite = 0
 Pointer to the parameter suite.
OfxMemorySuiteV1 * gMemorySuite = 0
 Pointer to the general memory suite.
OfxMultiThreadSuiteV1 * gThreadSuite = 0
 Pointer to the threading suite.
OfxMessageSuiteV1 * gMessageSuite = 0
 Pointer to the message suite.
OfxProgressSuiteV1 * gProgressSuite = 0
 Pointer to the optional progress suite.
OfxTimeLineSuiteV1 * gTimeLineSuite = 0
 Pointer to the optional progress suite.
EffectDescriptorMap gEffectDescriptors
int gLoadCount = 0
 Keeps count of how many times load/unload have been called.
bool gHasInit = false


Typedef Documentation

typedef std::vector<OfxPlugin*> OFX::OfxPluginArray
 

typedef std::map<std::string, OfxPlugInfo> OFX::OfxPlugInfoMap
 


Function Documentation

void beginInstanceChangedAction OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs
 

Library side begin instance changed action.

void beginSequenceRenderAction OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs
 

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

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.

bool clipPreferencesAction OfxImageEffectHandle  handle,
OFX::PropertySet outArgs,
const char *  plugname
 

Library side get regions of interest function.

void endInstanceChangedAction OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs
 

Library side end instance changed action.

void endSequenceRenderAction OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs
 

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

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

fetch the prop set from the effect handle

void fetchHostDescription OfxHost *  host  ) 
 

Creates the global host description and sets its properties.

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

local class to set the roi of a clip ctor did we set something ? set the RoI of the clip Library side frames needed action

OFX::OfxPlugInfo generatePlugInfo OFX::PluginFactory factory,
std::string &  newID
 

void getPluginIDs OFX::PluginFactoryArray ids  ) 
 

void getRenderActionArguments RenderArguments &  args,
OFX::PropertySet  inArgs
[static]
 

Fetches the arguments used in a render action 'inargs' property set into a POD struct.

bool getTimeDomainAction OfxImageEffectHandle  handle,
OFX::PropertySet outArgs
 

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 Library side get regions of interest function

void init  ) 
 

void instanceChangedAction OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs
 

Library side instance changed action.

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.

void OFX::Private::loadAction void   ) 
 

Support lib function called on an ofx load action.

BitDepthEnum mapStrToBitDepthEnum const std::string &  str  )  throw (std::invalid_argument) [static]
 

turns a bit depth string into and enum

FieldEnum OFX::mapStrToFieldEnum const std::string &  str  )  throw (std::invalid_argument)
 

turns a field string into and enum

PixelComponentEnum mapStrToPixelComponentEnum const std::string &  str  )  throw (std::invalid_argument) [static]
 

turns a pixel component string into and enum

PreMultiplicationEnum mapStrToPreMultiplicationEnum const std::string &  str  )  throw (std::invalid_argument) [static]
 

turns a premultiplication string into and enum

ContextEnum OFX::mapToContextEnum const std::string &  s  )  throw (std::invalid_argument)
 

map a std::string to a context enum

InstanceChangeReason mapToInstanceChangedReason const std::string &  s  )  throw (std::invalid_argument)
 

map a std::string to a context

OFX::Message::MessageReplyEnum mapToMessageReplyEnum OfxStatus  stat  ) 
 

const char* mapToMessageTypeEnum OFX::Message::MessageTypeEnum  type  ) 
 

OfxExport int OfxGetNumberOfPlugins void   ) 
 

, mandated function returning the number of plugins, which is always 1

OfxExport OfxPlugin* OfxGetPlugin int  nth  ) 
 

, mandated function returning the nth plugin

We call the plugin side defined OFX::Plugin::getPluginID function to find out what to set.

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.

void renderAction OfxImageEffectHandle  handle,
OFX::PropertySet  inArgs
 

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

ImageEffect * OFX::Private::retrieveImageEffectPointer OfxImageEffectHandle  handle  ) 
 

fetches our pointer out of the props on the handle

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

The plugin function that gets passed the host structure.

void unloadAction const char *  id  ) 
 

Library side unload action, this fetches all the suite pointers.


Variable Documentation

EffectDescriptorMap OFX::Private::gEffectDescriptors
 

OfxImageEffectSuiteV1 * OFX::Private::gEffectSuite = 0
 

Pointer to the effect suite.

bool gHasInit = false
 

OfxHost * OFX::Private::gHost = 0
 

Pointer to the host.

ImageEffectHostDescription OFX::gHostDescription
 

the global host description

bool OFX::gHostDescriptionHasInit = false
 

OfxInteractSuiteV1 * OFX::Private::gInteractSuite = 0
 

Pointer to the interact suite.

int OFX::Private::gLoadCount = 0
 

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

OfxMemorySuiteV1 * OFX::Private::gMemorySuite = 0
 

Pointer to the general memory suite.

OfxMessageSuiteV1 * OFX::Private::gMessageSuite = 0
 

Pointer to the message suite.

OfxParameterSuiteV1 * OFX::Private::gParamSuite = 0
 

Pointer to the parameter suite.

OfxProgressSuiteV1 * OFX::Private::gProgressSuite = 0
 

Pointer to the optional progress suite.

OfxPropertySuiteV1 * OFX::Private::gPropSuite = 0
 

Pointer to the property suite.

OfxMultiThreadSuiteV1 * OFX::Private::gThreadSuite = 0
 

Pointer to the threading suite.

OfxTimeLineSuiteV1 * OFX::Private::gTimeLineSuite = 0
 

Pointer to the optional progress suite.

OfxPluginArray OFX::ofxPlugs
 

OFX::PluginFactoryArray OFX::plugIDs
 

OfxPlugInfoMap OFX::plugInfoMap
 


Generated on Thu Oct 9 13:03:49 2008 for OFX Support by  doxygen 1.3.9.1