TuttleOFX  1
ofxParam.h File Reference
#include "ofxCore.h"
#include "ofxProperty.h"
Include dependency graph for ofxParam.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  OfxParameterSuiteV1
 The OFX suite used to define and manipulate user visible parameters. More...

Defines

#define kOfxParameterSuite   "OfxParameterSuite"
 string value to the kOfxPropType property for all parameters
#define kOfxTypeParameter   "OfxTypeParameter"
 string value on the kOfxPropType property for all parameter definitions (ie: the handle returned in describe)
#define kOfxTypeParameterInstance   "OfxTypeParameterInstance"
 string value on the kOfxPropType property for all parameter instances
#define kOfxParamTypeInteger   "OfxParamTypeInteger"
 String to identify a param as a single valued integer.
#define kOfxParamTypeDouble   "OfxParamTypeDouble"
 String to identify a param as a Single valued floating point parameter.
#define kOfxParamTypeBoolean   "OfxParamTypeBoolean"
 String to identify a param as a Single valued boolean parameter.
#define kOfxParamTypeChoice   "OfxParamTypeChoice"
 String to identify a param as a Single valued, 'one-of-many' parameter.
#define kOfxParamTypeRGBA   "OfxParamTypeRGBA"
 String to identify a param as a Red, Green, Blue and Alpha colour parameter.
#define kOfxParamTypeRGB   "OfxParamTypeRGB"
 String to identify a param as a Red, Green and Blue colour parameter.
#define kOfxParamTypeDouble2D   "OfxParamTypeDouble2D"
 String to identify a param as a Two dimensional floating point parameter.
#define kOfxParamTypeInteger2D   "OfxParamTypeInteger2D"
 String to identify a param as a Two dimensional integer point parameter.
#define kOfxParamTypeDouble3D   "OfxParamTypeDouble3D"
 String to identify a param as a Three dimensional floating point parameter.
#define kOfxParamTypeInteger3D   "OfxParamTypeInteger3D"
 String to identify a param as a Three dimensional integer parameter.
#define kOfxParamTypeString   "OfxParamTypeString"
 String to identify a param as a String (UTF8) parameter.
#define kOfxParamTypeCustom   "OfxParamTypeCustom"
 String to identify a param as a Plug-in defined parameter.
#define kOfxParamTypeGroup   "OfxParamTypeGroup"
 String to identify a param as a Grouping parameter.
#define kOfxParamTypePage   "OfxParamTypePage"
 String to identify a param as a page parameter.
#define kOfxParamTypePushButton   "OfxParamTypePushButton"
 String to identify a param as a PushButton parameter.
#define kOfxParamHostPropSupportsCustomAnimation   "OfxParamHostPropSupportsCustomAnimation"
 Indicates if the host supports animation of custom parameters.
#define kOfxParamHostPropSupportsStringAnimation   "OfxParamHostPropSupportsStringAnimation"
 Indicates if the host supports animation of string params.
#define kOfxParamHostPropSupportsBooleanAnimation   "OfxParamHostPropSupportsBooleanAnimation"
 Indicates if the host supports animation of boolean params.
#define kOfxParamHostPropSupportsChoiceAnimation   "OfxParamHostPropSupportsChoiceAnimation"
 Indicates if the host supports animation of choice params.
#define kOfxParamHostPropSupportsCustomInteract   "OfxParamHostPropSupportsCustomInteract"
 Indicates if the host supports custom interacts for parameters.
#define kOfxParamHostPropMaxParameters   "OfxParamHostPropMaxParameters"
 Indicates the maximum numbers of parameters available on the host.
#define kOfxParamHostPropMaxPages   "OfxParamHostPropMaxPages"
 Indicates the maximum number of parameter pages.
#define kOfxParamHostPropPageRowColumnCount   "OfxParamHostPropPageRowColumnCount"
 This indicates the number of parameter rows and coloumns on a page.
#define kOfxParamPageSkipRow   "OfxParamPageSkipRow"
 Pseudo parameter name used to skip a row in a page layout.
#define kOfxParamPageSkipColumn   "OfxParamPageSkipColumn"
 Pseudo parameter name used to skip a row in a page layout.
#define kOfxParamPropInteractV1   "OfxParamPropInteractV1"
 Overrides the parameter's standard user interface with the given interact.
#define kOfxParamPropInteractSize   "OfxParamPropInteractSize"
 The size of a parameter instance's custom interface in screen pixels.
#define kOfxParamPropInteractSizeAspect   "OfxParamPropInteractSizeAspect"
 The preferred aspect ratio of a parameter's custom interface.
#define kOfxParamPropInteractMinimumSize   "OfxParamPropInteractMinimumSize"
 The minimum size of a parameter's custom interface, in screen pixels.
#define kOfxParamPropInteractPreferedSize   "OfxParamPropInteractPreferedSize"
 The preferred size of a parameter's custom interface.
#define kOfxParamPropType   "OfxParamPropType"
 The type of a parameter.
#define kOfxParamPropAnimates   "OfxParamPropAnimates"
 Flags whether a parameter can animate.
#define kOfxParamPropCanUndo   "OfxParamPropCanUndo"
 Flags whether changes to a parameter should be put on the undo/redo stack.
#define kOfxPropParamSetNeedsSyncing   "OfxPropParamSetNeedsSyncing"
 States whether the plugin needs to resync its private data.
#define kOfxParamPropIsAnimating   "OfxParamPropIsAnimating"
 Flags whether a parameter is currently animating.
#define kOfxParamPropPluginMayWrite   "OfxParamPropPluginMayWrite"
 Flags whether the plugin will attempt to set the value of a parameter in some callback or analysis pass.
#define kOfxParamPropPersistant   "OfxParamPropPersistant"
 Flags whether the value of a parameter should persist.
#define kOfxParamPropEvaluateOnChange   "OfxParamPropEvaluateOnChange"
 Flags whether changing a parameter's value forces an evalution (ie: render),.
#define kOfxParamPropSecret   "OfxParamPropSecret"
 Flags whether a parameter should be exposed to a user,.
#define kOfxParamPropScriptName   "OfxParamPropScriptName"
 The value to be used as the id of the parameter in a host scripting language.
#define kOfxParamPropCacheInvalidation   "OfxParamPropCacheInvalidation"
 Specifies how modifying the value of a param will affect any output of an effect over time.
#define kOfxParamInvalidateValueChange   "OfxParamInvalidateValueChange"
 Used as a value for the kOfxParamPropCacheInvalidation property.
#define kOfxParamInvalidateValueChangeToEnd   "OfxParamInvalidateValueChangeToEnd"
 Used as a value for the kOfxParamPropCacheInvalidation property.
#define kOfxParamInvalidateAll   "OfxParamInvalidateAll"
 Used as a value for the kOfxParamPropCacheInvalidation property.
#define kOfxParamPropHint   "OfxParamPropHint"
 A hint to the user as to how the parameter is to be used.
#define kOfxParamPropDefault   "OfxParamPropDefault"
 The default value of a parameter.
#define kOfxParamPropDoubleType   "OfxParamPropDoubleType"
 Describes how the double parameter should be interpreted by a host.
#define kOfxParamDoubleTypePlain   "OfxParamDoubleTypePlain"
 value for the kOfxParamPropDoubleType property, indicating the parameter has no special interpretation and should be interpretted as a raw numeric value.
#define kOfxParamDoubleTypeScale   "OfxParamDoubleTypeScale"
 value for the kOfxParamPropDoubleType property, indicating the parameter is to be interpreted as a scale factor. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeAngle   "OfxParamDoubleTypeAngle"
 value for the kOfxParamDoubleTypeAngle property, indicating the parameter is to be interpreted as an angle. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeTime   "OfxParamDoubleTypeTime"
 value for the kOfxParamDoubleTypeAngle property, indicating the parameter is to be interpreted as a time. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeAbsoluteTime   "OfxParamDoubleTypeAbsoluteTime"
 value for the kOfxParamDoubleTypeAngle property, indicating the parameter is to be interpreted as an absolute time from the start of the effect. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeNormalisedX   "OfxParamDoubleTypeNormalisedX"
 value for the kOfxParamPropDoubleType property, indicating a size normalised to the X dimension. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeNormalisedY   "OfxParamDoubleTypeNormalisedY"
 value for the kOfxParamPropDoubleType property, indicating a size normalised to the Y dimension. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeNormalisedXAbsolute   "OfxParamDoubleTypeNormalisedXAbsolute"
 value for the kOfxParamPropDoubleType property, indicating an absolute position normalised to the X dimension. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeNormalisedYAbsolute   "OfxParamDoubleTypeNormalisedYAbsolute"
 value for the kOfxParamPropDoubleType property, indicating an absolute position normalised to the Y dimension. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeNormalisedXY   "OfxParamDoubleTypeNormalisedXY"
 value for the kOfxParamPropDoubleType property, indicating normalisation to the X and Y dimension for 2D params. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeNormalisedXYAbsolute   "OfxParamDoubleTypeNormalisedXYAbsolute"
 value for the kOfxParamPropDoubleType property, indicating normalisation to the X and Y dimension for a 2D param that can be interpretted as an absolute spatial position. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeX   "OfxParamDoubleTypeX"
 value for the kOfxParamPropDoubleType property, indicating a size in canonical coords in the X dimension. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeY   "OfxParamDoubleTypeY"
 value for the kOfxParamPropDoubleType property, indicating a size in canonical coords in the Y dimension. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeXAbsolute   "OfxParamDoubleTypeXAbsolute"
 value for the kOfxParamPropDoubleType property, indicating an absolute position in canonical coords in the X dimension. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeYAbsolute   "OfxParamDoubleTypeYAbsolute"
 value for the kOfxParamPropDoubleType property, indicating an absolute position in canonical coords in the Y dimension. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeXY   "OfxParamDoubleTypeXY"
 value for the kOfxParamPropDoubleType property, indicating a 2D size in canonical coords. See ParameterPropertiesDoubleTypes.
#define kOfxParamDoubleTypeXYAbsolute   "OfxParamDoubleTypeXYAbsolute"
 value for the kOfxParamPropDoubleType property, indicating a 2D position in canonical coords. See ParameterPropertiesDoubleTypes.
#define kOfxParamPropDefaultCoordinateSystem   "OfxParamPropDefaultCoordinateSystem"
 Describes in which coordinate system a spatial double parameter's default value is specified.
#define kOfxParamCoordinatesCanonical   "OfxParamCoordinatesCanonical"
 Define the canonical coordinate system.
#define kOfxParamCoordinatesNormalised   "OfxParamCoordinatesNormalised"
 Define the normalised coordinate system.
#define kOfxParamPropHasHostOverlayHandle   "OfxParamPropHasHostOverlayHandle"
 A flag to indicate if there is a host overlay UI handle for the given parameter.
#define kOfxParamPropUseHostOverlayHandle   "kOfxParamPropUseHostOverlayHandle"
 A flag to indicate that the host should use a native UI overlay handle for the given parameter.
#define kOfxParamPropShowTimeMarker   "OfxParamPropShowTimeMarker"
 Enables the display of a time marker on the host's time line to indicate the value of the absolute time param.
#define kOfxPluginPropParamPageOrder   "OfxPluginPropParamPageOrder"
 Sets the parameter pages and order of pages.
#define kOfxParamPropPageChild   "OfxParamPropPageChild"
 The names of the parameters included in a page parameter.
#define kOfxParamPropParent   "OfxParamPropParent"
 The name of a parameter's parent group.
#define kOfxParamPropGroupOpen   "OfxParamPropGroupOpen"
 Whether the initial state of a group is open or closed in a hierarchical layout.
#define kOfxParamPropEnabled   "OfxParamPropEnabled"
 Used to enable a parameter in the user interface.
#define kOfxParamPropDataPtr   "OfxParamPropDataPtr"
 A private data pointer that the plug-in can store its own data behind.
#define kOfxParamPropChoiceOption   "OfxParamPropChoiceOption"
 Set an option in a choice parameter.
#define kOfxParamPropMin   "OfxParamPropMin"
 The minimum value for a numeric parameter.
#define kOfxParamPropMax   "OfxParamPropMax"
 The maximum value for a numeric parameter.
#define kOfxParamPropDisplayMin   "OfxParamPropDisplayMin"
 The minimum value for a numeric parameter on any user interface.
#define kOfxParamPropDisplayMax   "OfxParamPropDisplayMax"
 The maximum value for a numeric parameter on any user interface.
#define kOfxParamPropIncrement   "OfxParamPropIncrement"
 The granularity of a slider used to represent a numeric parameter.
#define kOfxParamPropDigits   "OfxParamPropDigits"
 How many digits after a decimal point to display for a double param in a GUI.
#define kOfxParamPropDimensionLabel   "OfxParamPropDimensionLabel"
 Label for individual dimensions on a multidimensional numeric parameter.
#define kOfxParamPropIsAutoKeying   "OfxParamPropIsAutoKeying"
 Will a value change on the parameter add automatic keyframes.
#define kOfxParamPropCustomInterpCallbackV1   "OfxParamPropCustomCallbackV1"
 A pointer to a custom parameter's interpolation function.
#define kOfxParamPropStringMode   "OfxParamPropStringMode"
 Used to indicate the type of a string parameter.
#define kOfxParamPropStringFilePathExists   "OfxParamPropStringFilePathExists"
 Indicates string parameters of file or directory type need that file to exist already.
#define kOfxParamStringIsSingleLine   "OfxParamStringIsSingleLine"
 Used to set a string parameter to be single line, value to be passed to a kOfxParamPropStringMode property.
#define kOfxParamStringIsMultiLine   "OfxParamStringIsMultiLine"
 Used to set a string parameter to be multiple line, value to be passed to a kOfxParamPropStringMode property.
#define kOfxParamStringIsFilePath   "OfxParamStringIsFilePath"
 Used to set a string parameter to be a file path, value to be passed to a kOfxParamPropStringMode property.
#define kOfxParamStringIsDirectoryPath   "OfxParamStringIsDirectoryPath"
 Used to set a string parameter to be a directory path, value to be passed to a kOfxParamPropStringMode property.
#define kOfxParamStringIsLabel   "OfxParamStringIsLabel"
 Use to set a string parameter to be a simple label, value to be passed to a kOfxParamPropStringMode property.
#define kOfxParamPropCustomValue   "OfxParamPropCustomValue"
 Used by interpolating custom parameters to get and set interpolated values.
#define kOfxParamPropInterpolationTime   "OfxParamPropInterpolationTime"
 Used by interpolating custom parameters to indicate the time a key occurs at.
#define kOfxParamPropInterpolationAmount   "OfxParamPropInterpolationAmount"
 Property used by OfxCustomParamInterpFuncV1 to indicate the amount of interpolation to perform.

Typedefs

typedef struct OfxParamStruct * OfxParamHandle
 Blind declaration of an OFX param.
typedef struct OfxParamSetStruct * OfxParamSetHandle
 Blind declaration of an OFX parameter set.
typedef OfxStatusOfxCustomParamInterpFuncV1 )(OfxParamSetHandle instance, OfxPropertySetHandle inArgs, OfxPropertySetHandle outArgs)
 Function prototype for custom parameter interpolation callback functions.
typedef struct OfxParameterSuiteV1 OfxParameterSuiteV1
 The OFX suite used to define and manipulate user visible parameters.

Define Documentation

#define kOfxParameterSuite   "OfxParameterSuite"

string value to the kOfxPropType property for all parameters

Definition at line 41 of file ofxParam.h.

Referenced by tuttle::host::ofx::imageEffect::OfxhImageEffectHost::fetchSuite(), and OFX::Private::loadAction().

#define kOfxTypeParameter   "OfxTypeParameter"

string value on the kOfxPropType property for all parameter definitions (ie: the handle returned in describe)

Definition at line 44 of file ofxParam.h.

Referenced by OFX::Private::instanceChangedAction(), tuttle::host::ofx::attribute::OfxhParamDescriptor::OfxhParamDescriptor(), and tuttle::host::ofx::imageEffect::OfxhImageEffectNode::paramInstanceChangedAction().

#define kOfxTypeParameterInstance   "OfxTypeParameterInstance"

string value on the kOfxPropType property for all parameter instances

Definition at line 47 of file ofxParam.h.


Typedef Documentation

Function prototype for custom parameter interpolation callback functions.

  • instance the plugin instance that this parameter occurs in
  • inArgs handle holding the following properties...
    • kOfxPropName - the name of the custom parameter to interpolate
    • kOfxPropTime - absolute time the interpolation is ocurring at
    • kOfxParamPropCustomValue - string property that gives the value of the two keyframes to interpolate, in this case 2D
    • kOfxParamPropInterpolationTime - 2D double property that gives the time of the two keyframes we are interpolating
    • kOfxParamPropInterpolationAmount - 1D double property indicating how much to interpolate between the two keyframes
  • outArgs handle holding the following properties to be set
    • kOfxParamPropCustomValue - the value of the interpolated custom parameter, in this case 1D

This function allows custom parameters to animate by performing interpolation between keys.

The plugin needs to parse the two strings encoding keyframes on either side of the time we need a value for. It should then interpolate a new value for it, encode it into a string and set the kOfxParamPropCustomValue property with this on the outArgs handle.

The interp value is a linear interpolation amount, however his may be derived from a cubic (or other) curve.

Definition at line 865 of file ofxParam.h.

The OFX suite used to define and manipulate user visible parameters.

typedef struct OfxParamStruct* OfxParamHandle

Blind declaration of an OFX param.

Definition at line 52 of file ofxParam.h.

typedef struct OfxParamSetStruct* OfxParamSetHandle

Blind declaration of an OFX parameter set.

Definition at line 57 of file ofxParam.h.