ofxCore.h File Reference


Detailed Description

Contains the core OFX architectural struct and function definitions. For more details on the basic OFX architecture, see Architecture.

#include "stddef.h"

Go to the source code of this file.

Classes

struct  OfxHost
 Generic host structure passed to OfxPlugin::setHost function. More...
struct  OfxPlugin
 The structure that defines a plug-in to a host. More...
struct  OfxRangeI
 Defines one dimensional integer bounds. More...
struct  OfxRangeD
 Defines one dimensional double bounds. More...
struct  OfxPointI
 Defines two dimensional integer point. More...
struct  OfxPointD
 Defines two dimensional double point. More...
struct  OfxRectI
 Defines two dimensional integer region. More...
struct  OfxRectD
 Defines two dimensional double region. More...
struct  OfxRGBAColourB
 Defines an 8 bit per component RGBA pixel. More...
struct  OfxRGBAColourS
 Defines a 16 bit per component RGBA pixel. More...
struct  OfxRGBAColourF
 Defines a floating point component RGBA pixel. More...
struct  OfxRGBAColourD
 Defines a double precision floating point component RGBA pixel. More...
struct  OfxYUVAColourB
 Defines an 8 bit per component YUVA pixel. More...
struct  OfxYUVAColourS
 Defines an 16 bit per component YUVA pixel. More...
struct  OfxYUVAColourF
 Defines an floating point component YUVA pixel. More...

Defines

#define OfxExport   extern
 Platform independent export macro.
#define kOfxActionLoad   "OfxActionLoad"
 Action called just after a plug-in has been loaded, for more details see ArchitectureMainFunction and ActionsGeneralLoad.
#define kOfxActionDescribe   "OfxActionDescribe"
 Action called to have a plug-in describe itself to the host, for more details see ArchitectureMainFunction and ActionsGeneralDescribe.
#define kOfxActionUnload   "OfxActionUnload"
 Action called just before a plug-in is unloaded, for more details see ArchitectureMainFunction and ActionsGeneralUnload.
#define kOfxActionPurgeCaches   "OfxActionPurgeCaches"
 Action called to have a plug-in purge any temporary caches it may have allocated ArchitectureMainFunction and ActionsGeneralPurgeCaches.
#define kOfxActionSyncPrivateData   "OfxActionSyncPrivateData"
 Action called to have a plug-in sync any internal data structures into custom parameters.
#define kOfxActionCreateInstance   "OfxActionCreateInstance"
 Action called just after an instance has been created ArchitectureMainFunction and ActionsGeneralCreateInstance.
#define kOfxActionDestroyInstance   "OfxActionDestroyInstance"
 Action called just before an instance is destroyed and ActionsGeneralDestroyInstance.
#define kOfxActionInstanceChanged   "OfxActionInstanceChanged"
 Action indicating something in the instance has been changed, see ActionsGeneralInstanceChanged.
#define kOfxActionBeginInstanceChanged   "OfxActionBeginInstanceChanged"
 Action called before the start of a set of kOfxActionEndInstanceChanged actions, used with kOfxActionEndInstanceChanged to bracket a grouped set of changes, see ActionsGeneralInstanceChangedBeginEnd.
#define kOfxActionEndInstanceChanged   "OfxActionEndInstanceChanged"
 Action called after the end of a set of kOfxActionEndInstanceChanged actions, used with kOfxActionBeginInstanceChanged to bracket a grouped set of changes, see ActionsGeneralInstanceChangedBeginEnd.
#define kOfxActionBeginInstanceEdit   "OfxActionBeginInstanceEdit"
 Action called when an instance has the first editor opened for it.
#define kOfxActionEndInstanceEdit   "OfxActionEndInstanceEdit"
 Action called when an instance has the last editor closed.
#define kOfxPropTime   "OfxPropTime"
 General property used to get/set the time of something.
#define kOfxPropIsInteractive   "OfxPropIsInteractive"
 Indicates if a host is actively editing the effect with some GUI.
#define kOfxPluginPropFilePath   "OfxPluginPropFilePath"
 The file path to the plugin.
#define kOfxPropInstanceData   "OfxPropInstanceData"
 A private data pointer that the plug-in can store it's own data behind.
#define kOfxPropType   "OfxPropType"
 General property, used to identify the kind of an object behind a handle.
#define kOfxPropName   "OfxPropName"
 Unique name of an object.
#define kOfxPropLabel   "OfxPropLabel"
 User visible name of an object.
#define kOfxPropShortLabel   "OfxPropShortLabel"
 Short user visible name of an object.
#define kOfxPropLongLabel   "OfxPropLongLabel"
 Long user visible name of an object.
#define kOfxPropChangeReason   "OfxPropChangeReason"
 Indicates why a plug-in changed.
#define kOfxPropEffectInstance   "OfxPropEffectInstance"
 A pointer to an effect instance.
#define kOfxChangeUserEdited   "OfxChangeUserEdited"
 String used as a value to kOfxPropChangeReason to indicate a user has changed something.
#define kOfxChangePluginEdited   "OfxChangePluginEdited"
 String used as a value to kOfxPropChangeReason to indicate the plug-in itself has changed something.
#define kOfxChangeTime   "OfxChangeTime"
 String used as a value to kOfxPropChangeReason to a time varying object has changed due to a time change.
#define kOfxFlagInfiniteMax   ((int)((1 << (sizeof(int)*8 - 1)) - 1))
 Used to flag infinite rects. Set minimums to this to indicate infinite.
#define kOfxFlagInfiniteMin   ((int)(-kOfxFlagInfiniteMax - 1))
 Used to flag infinite rects. Set minimums to this to indicate infinite.
#define kOfxBitDepthNone   "OfxBitDepthNone"
 String used to label unset bitdepths.
#define kOfxBitDepthByte   "OfxBitDepthByte"
 String used to label unsigned 8 bit integer samples.
#define kOfxBitDepthShort   "OfxBitDepthShort"
 String used to label unsigned 16 bit integer samples.
#define kOfxBitDepthFloat   "OfxBitDepthFloat"
 String used to label signed 32 bit floating point samples.
#define kOfxStatOK   0
 Status code indicating all was fine.
#define kOfxStatFailed   ((int)1)
 Status error code for a failed operation.
#define kOfxStatErrFatal   ((int)2)
 Status error code for a fatal error.
#define kOfxStatErrUnknown   ((int)3)
 Status error code for an operation on or request for an unknown object.
#define kOfxStatErrMissingHostFeature   ((int) 4)
 Status error code returned by plug-ins when they are missing host functionality, either an API or some optional functionality (eg: custom params).
#define kOfxStatErrUnsupported   ((int) 5)
 Status error code for an unsupported feature/operation.
#define kOfxStatErrExists   ((int) 6)
 Status error code for an operation attempting to create something that exists.
#define kOfxStatErrFormat   ((int) 7)
 Status error code for an incorrect format.
#define kOfxStatErrMemory   ((int) 8)
 Status error code indicating that something failed due to memory shortage.
#define kOfxStatErrBadHandle   ((int) 9)
 Status error code for an operation on a bad handle.
#define kOfxStatErrBadIndex   ((int)10)
 Status error code indicating that a given index was invalid or unavailable.
#define kOfxStatErrValue   ((int) 11)
 Status error code indicating that something failed due an illegal value.
#define kOfxStatReplyYes   ((int) 12)
 OfxStatus returned indicating a 'yes'.
#define kOfxStatReplyNo   ((int) 13)
 OfxStatus returned indicating a 'no'.
#define kOfxStatReplyDefault   ((int) 14)
 OfxStatus returned indicating that a default action should be performed.

Typedefs

typedef struct
OfxPropertySetStruct * 
OfxPropertySetHandle
 Blind data structure to manipulate sets of properties through.
typedef int OfxStatus
 OFX status return type.
typedef OfxStatusOfxPluginEntryPoint )(const char *action, const void *handle, OfxPropertySetHandle inArgs, OfxPropertySetHandle outArgs)
 Entry point for plug-ins.
typedef double OfxTime
 How time is specified within the OFX API.

Functions

OfxExport OfxPluginOfxGetPlugin (int nth)
 Returns the 'nth' plug-in implemented inside a binary.
OfxExport int OfxGetNumberOfPlugins (void)
 Defines the number of plug-ins implemented inside a binary.


Define Documentation

#define kOfxBitDepthByte   "OfxBitDepthByte"

String used to label unsigned 8 bit integer samples.

#define kOfxBitDepthFloat   "OfxBitDepthFloat"

String used to label signed 32 bit floating point samples.

#define kOfxBitDepthNone   "OfxBitDepthNone"

String used to label unset bitdepths.

#define kOfxBitDepthShort   "OfxBitDepthShort"

String used to label unsigned 16 bit integer samples.

#define kOfxChangePluginEdited   "OfxChangePluginEdited"

String used as a value to kOfxPropChangeReason to indicate the plug-in itself has changed something.

#define kOfxChangeTime   "OfxChangeTime"

String used as a value to kOfxPropChangeReason to a time varying object has changed due to a time change.

#define kOfxChangeUserEdited   "OfxChangeUserEdited"

String used as a value to kOfxPropChangeReason to indicate a user has changed something.

#define kOfxFlagInfiniteMax   ((int)((1 << (sizeof(int)*8 - 1)) - 1))

Used to flag infinite rects. Set minimums to this to indicate infinite.

This is effectively INT_MAX.

#define kOfxFlagInfiniteMin   ((int)(-kOfxFlagInfiniteMax - 1))

Used to flag infinite rects. Set minimums to this to indicate infinite.

This is effectively INT_MIN

#define OfxExport   extern

Platform independent export macro.

This macro is to be used before any symbol that is to be exported from a plug-in. This is OS/compiler dependant.


Typedef Documentation

typedef OfxStatus( OfxPluginEntryPoint)(const char *action, const void *handle, OfxPropertySetHandle inArgs, OfxPropertySetHandle outArgs)

Entry point for plug-ins.

  • action - ASCII c string indicating which action to take
  • instance - object to which action should be applied, this will need to be cast to the appropriate blind data type depending on the action
  • inData - handle that contains action specific properties
  • outData - handle where the plug-in should set various action specific properties
This is how the host generally communicates with a plug-in. Entry points are used to pass messages to various objects used within OFX. The main use is within the OfxPlugin struct.

The exact set of actions is determined by the plug-in API that is being implemented, however all plug-ins can perform several actions. For the list of actions consult OFX Actions.

typedef struct OfxPropertySetStruct* OfxPropertySetHandle

Blind data structure to manipulate sets of properties through.

typedef int OfxStatus

OFX status return type.

typedef double OfxTime

How time is specified within the OFX API.


Function Documentation

OfxExport int OfxGetNumberOfPlugins ( void   ) 

Defines the number of plug-ins implemented inside a binary.

A host calls this to determine how many plug-ins there are inside a binary it has loaded. A function of this type must be implemented in and exported from each plug-in binary.

OfxExport OfxPlugin* OfxGetPlugin ( int  nth  ) 

Returns the 'nth' plug-in implemented inside a binary.

Returns a pointer to the 'nth' plug-in implemented in the binary. A function of this type must be implemented in and exported from each plug-in binary.


Copyright 2003-2004 The Foundry Visonmongers Ltd. All rights reserved.
Copying and redistribution with or without modification, is permitted provided that the following conditions are met:
  1. Redistributions of the document must retain the above copyright notice and this list of conditions.
  2. Neither the name of The Foundry Visonmongers Ltd nor names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
Automatic documentation generated by DOxygen.