
<refentry id="kOfxImageClipPropConnected">
<refmeta>
<refentrytitle><literal>kOfxImageClipPropConnected</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageClipPropConnected</literal></refname>
<refpurpose> Says whether the clip is actually connected at the moment.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageClipPropConnected "OfxImageClipPropConnected"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageClipPropConnected</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of 0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Says whether the clip is actually connected at the moment.
</para>
<para>
An instance may have a clip may not be connected to an object that can produce image data. Use this to find out.
</para>
<para>
Any clip that is not optional will <emphasis> m</emphasis> always be connected during a render action. However, during interface actions, even non optional clips may be unconnected.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageClipPropContinuousSamples">
<refmeta>
<refentrytitle><literal>kOfxImageClipPropContinuousSamples</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageClipPropContinuousSamples</literal></refname>
<refpurpose> Clip and action argument property which indicates that the clip can be sampled continously</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageClipPropContinuousSamples "OfxImageClipPropContinuousSamples"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageClipPropContinuousSamples</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only), as an out argument to <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0 as an out argument to the <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of...

<itemizedlist>
  <listitem>0 if the images can only be sampled at discreet times (eg: the clip is a sequence of frames),</listitem>
  <listitem>1 if the images can only be sampled continuously (eg: the clip is infact an animating roto spline and can be rendered anywhen).</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Clip and action argument property which indicates that the clip can be sampled continously
</para>
<para>
If this is set to true, then the frame rate of a clip is effectively infinite, so to stop arithmetic
errors the frame rate should then be set to 0.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageClipPropFieldExtraction">
<refmeta>
<refentrytitle><literal>kOfxImageClipPropFieldExtraction</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageClipPropFieldExtraction</literal></refname>
<refpurpose> Controls how a plugin fetched fielded imagery from a clip.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageClipPropFieldExtraction "OfxImageClipPropFieldExtraction"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageClipPropFieldExtraction</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a clip descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is kOfxImageFieldDoubled.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>kOfxImageFieldBoth    - fetch a full frame interlaced image</listitem>
  <listitem>kOfxImageFieldSingle  - fetch a single field, making a half height image</listitem>
  <listitem>kOfxImageFieldDoubled - fetch a single field, but doubling each line and so making a full height image </listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Controls how a plugin fetched fielded imagery from a clip.
</para>
<para>
This controls how a plug-in wishes to fetch images from a fielded clip, so it can tune it behaviour when it renders fielded footage.
</para>
<para>
Note that if it fetches kOfxImageFieldSingle and the host stores images natively as both fields interlaced, it can return a single image by doubling rowbytes and tweaking the starting address of the image data. This saves on a buffer copy.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageClipPropFieldOrder">
<refmeta>
<refentrytitle><literal>kOfxImageClipPropFieldOrder</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageClipPropFieldOrder</literal></refname>
<refpurpose> Which spatial field occurs temporally first in a frame.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageClipPropFieldOrder "OfxImageClipPropFieldOrder"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageClipPropFieldOrder</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a clip  instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem><code>kOfxImageFieldNone</code>  - the material is unfielded</listitem>
  <listitem><code>kOfxImageFieldLower</code> - the material is fielded, with image rows 0,2,4.... occuring first in a frame</listitem>
  <listitem><code>kOfxImageFieldUpper</code> - the material is fielded, with image rows line 1,3,5.... occuring first in a frame</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Which spatial field occurs temporally first in a frame.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageClipPropIsMask">
<refmeta>
<refentrytitle><literal>kOfxImageClipPropIsMask</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageClipPropIsMask</literal></refname>
<refpurpose> Indicates that a clip is intended to be used as a mask input</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageClipPropIsMask "OfxImageClipPropIsMask"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageClipPropIsMask</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of 0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates that a clip is intended to be used as a mask input
</para>
<para>
Set this property on any clip which will only ever have single channel alpha images fetched from it. Typically on an optional clip such as a junk matte in a keyer.
</para>
<para>
This property acts as a hint to hosts indicating that they could feed the effect from a rotoshape (or similar) rather than an 'ordinary' clip.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageClipPropOptional">
<refmeta>
<refentrytitle><literal>kOfxImageClipPropOptional</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageClipPropOptional</literal></refname>
<refpurpose> Indicates if a clip is optional.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageClipPropOptional "OfxImageClipPropOptional"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageClipPropOptional</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of 0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates if a clip is optional.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageClipPropUnmappedComponents">
<refmeta>
<refentrytitle><literal>kOfxImageClipPropUnmappedComponents</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageClipPropUnmappedComponents</literal></refname>
<refpurpose> Indicates the current 'raw' component type on a clip before any mapping by clip preferences</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageClipPropUnmappedComponents "OfxImageClipPropUnmappedComponents"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageClipPropUnmappedComponents</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only),.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>kOfxImageComponentNone (implying a clip is unconnected)</listitem>
  <listitem>kOfxImageComponentRGBA</listitem>
  <listitem>kOfxImageComponentRGB</listitem>
  <listitem>kOfxImageComponentAlpha</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the current 'raw' component type on a clip before any mapping by clip preferences
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageClipPropUnmappedPixelDepth">
<refmeta>
<refentrytitle><literal>kOfxImageClipPropUnmappedPixelDepth</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageClipPropUnmappedPixelDepth</literal></refname>
<refpurpose>  Indicates the type of each component in a clip before any mapping by clip preferences</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageClipPropUnmappedPixelDepth "OfxImageClipPropUnmappedPixelDepth"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageClipPropUnmappedPixelDepth</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>kOfxBitDepthNone (implying a clip is unconnected image)</listitem>
  <listitem>kOfxBitDepthByte</listitem>
  <listitem>kOfxBitDepthShort</listitem>
  <listitem>kOfxBitDepthHalf</listitem>
  <listitem>kOfxBitDepthFloat</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the type of each component in a clip before any mapping by clip preferences
</para>
<para>
This is the actual value of the component depth, before any mapping by clip preferences.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectFrameVarying">
<refmeta>
<refentrytitle><literal>kOfxImageEffectFrameVarying</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectFrameVarying</literal></refname>
<refpurpose> Indicates whether an effect will generate different images from frame to frame.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectFrameVarying "OfxImageEffectFrameVarying"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectFrameVarying</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the out argument to <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action (read/write)..
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of 0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether an effect will generate different images from frame to frame.
</para>
<para>
This property indicates whether a plugin will generate a different image from frame to frame, even if no parameters
or input image changes. For example a generater that creates random noise pixel at each frame.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectHostPropIsBackground">
<refmeta>
<refentrytitle><literal>kOfxImageEffectHostPropIsBackground</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectHostPropIsBackground</literal></refname>
<refpurpose> Indicates if a host is a background render.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectHostPropIsBackground "OfxImageEffectHostPropIsBackground"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectHostPropIsBackground</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 if the host is a foreground host, it may open the effect in an interactive session (or not)</listitem>
  <listitem>1 if the host is a background 'processing only' host, and the effect will never be opened in an interactive session.</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates if a host is a background render.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectHostPropNativeOrigin">
<refmeta>
<refentrytitle><literal>kOfxImageEffectHostPropNativeOrigin</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectHostPropNativeOrigin</literal></refname>
<refpurpose> Property that indicates the host native UI space - this is only a UI hint, has no impact on pixel processing</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectHostPropNativeOrigin  "OfxImageEffectHostPropNativeOrigin"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectHostPropNativeOrigin</literal> is of type <type>UTF8 string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the read only property (host).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
</para>
<para>
"kOfxImageEffectHostPropNativeOriginBottomLeft"  - 0,0 bottom left
"kOfxImageEffectHostPropNativeOriginTopLeft" - 0,0 top left
"kOfxImageEffectHostPropNativeOriginCenter"  - 0,0 center (screen space)
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Property that indicates the host native UI space - this is only a UI hint, has no impact on pixel processing
</para>
<para>
This property is set to kOfxHostNativeOriginBottomLeft pre V1.4 and was to be discovered by plug-ins. This is useful for drawing overlay for points... so everything matches the rest of the app (for example expression linking to other tools, or simply match the reported location of the host viewer).
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectInstancePropEffectDuration">
<refmeta>
<refentrytitle><literal>kOfxImageEffectInstancePropEffectDuration</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectInstancePropEffectDuration</literal></refname>
<refpurpose> The duration of the effect</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectInstancePropEffectDuration "OfxImageEffectInstancePropEffectDuration"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectInstancePropEffectDuration</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a plugin  instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The duration of the effect
</para>
<para>
This contains the duration of the plug-in effect, in frames.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectInstancePropSequentialRender">
<refmeta>
<refentrytitle><literal>kOfxImageEffectInstancePropSequentialRender</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectInstancePropSequentialRender</literal></refname>
<refpurpose> Indicates whether a plugin needs sequential rendering, and a host support it</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectInstancePropSequentialRender "OfxImageEffectInstancePropSequentialRender"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectInstancePropSequentialRender</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write) or plugin instance (read/write), and host descriptor (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>

<itemizedlist>
  <listitem>0 - for a plugin, indicates that a plugin does not need to be sequentially rendered to be correct, for a host, indicates that it cannot ever guarantee sequential rendering,</listitem>
  <listitem>1 - for a plugin, indicates that it needs to be sequentially rendered to be correct, for a host, indicates that it can always support sequential rendering of plugins that are sequentially rendered,</listitem>
  <listitem>2 - for a plugin, indicates that it is best to render sequentially, but will still produce correct results if not, for a host, indicates that it can sometimes render sequentially, and will have set <link linkend="kOfxImageEffectPropSequentialRenderStatus"><code>kOfxImageEffectPropSequentialRenderStatus</code></link> on the relevant actions</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether a plugin needs sequential rendering, and a host support it
</para>
<para>
Some effects have temporal dependancies, some information from from the rendering of frame N-1 is needed to render frame N correctly. This property is set by an effect to indicate such a situation. Also, some effects are more efficient if they run sequentially, but can still render correct images even if they do not, eg: a complex particle system.
</para>
<para>
During an interactive session a host may attempt to render a frame out of sequence (for example when the user scrubs the current time), and the effect needs to deal with such a situation as best it can to provide feedback to the user.
</para>
<para>
However if a host caches output, any frame frame generated in random temporal order needs to be considered invalid and needs to be re-rendered when the host finally performs a first to last render of the output sequence.
</para>
<para>
In all cases, a host will set the kOfxImageEffectPropSequentialRenderStatus flag to indicate its sequential render status.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPluginPropFieldRenderTwiceAlways">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPluginPropFieldRenderTwiceAlways</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPluginPropFieldRenderTwiceAlways</literal></refname>
<refpurpose> Controls how a plugin renders fielded footage.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPluginPropFieldRenderTwiceAlways "OfxImageEffectPluginPropFieldRenderTwiceAlways"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPluginPropFieldRenderTwiceAlways</literal> is of type <type>integer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 - the plugin is to have its render function called twice, only if there is animation in any of its parameters</listitem>
  <listitem>1 - the plugin is to have its render function called twice always</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Controls how a plugin renders fielded footage.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPluginPropGrouping">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPluginPropGrouping</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPluginPropGrouping</literal></refname>
<refpurpose> Indicates the effect group for this plugin.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPluginPropGrouping "OfxImageEffectPluginPropGrouping"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPluginPropGrouping</literal> is of type <type>UTF8 string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "".
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Indicates the effect group for this plugin.
</para>
<para>
This is purely a user interface hint for the host so it can group related effects on any menus it may have.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPluginPropHostFrameThreading">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPluginPropHostFrameThreading</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPluginPropHostFrameThreading</literal></refname>
<refpurpose> Indicates whether a plugin lets the host perform per frame SMP threading</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPluginPropHostFrameThreading "OfxImageEffectPluginPropHostFrameThreading"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPluginPropHostFrameThreading</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 - which means that the plugin will perform any per frame SMP threading</listitem>
  <listitem>1 - which means the host can call an instance's render function simultaneously at the same frame, but with different windows to render.</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether a plugin lets the host perform per frame SMP threading
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPluginPropOverlayInteractV1">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPluginPropOverlayInteractV1</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPluginPropOverlayInteractV1</literal></refname>
<refpurpose> Sets the entry for an effect's overlay interaction</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPluginPropOverlayInteractV1 "OfxImageEffectPluginPropOverlayInteractV1"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPluginPropOverlayInteractV1</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is NULL.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
must point to an <link linkend="OfxPluginEntryPoint"><code>OfxPluginEntryPoint</code></link>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Sets the entry for an effect's overlay interaction
</para>
<para>
The entry point pointed to must be one that handles custom interaction actions.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPluginPropSingleInstance">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPluginPropSingleInstance</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPluginPropSingleInstance</literal></refname>
<refpurpose> Indicates whether only one instance of a plugin can exist at the same time</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPluginPropSingleInstance "OfxImageEffectPluginPropSingleInstance"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPluginPropSingleInstance</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 - which means multiple instances can exist simultaneously,</listitem>
  <listitem>1 -  which means only one instance can exist at any one time.</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether only one instance of a plugin can exist at the same time
</para>
<para>
Some plugins, for whatever reason, may only be able to have a single instance in existance at any one time. This plugin property is used to indicate that.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPluginRenderThreadSafety">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPluginRenderThreadSafety</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPluginRenderThreadSafety</literal></refname>
<refpurpose> Indicates how many simultaneous renders the plugin can deal with.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPluginRenderThreadSafety "OfxImageEffectPluginRenderThreadSafety"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPluginRenderThreadSafety</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is <code>kOfxImageEffectRenderInstanceSafe</code>.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem><code>kOfxImageEffectRenderUnsafe</code> - indicating that only a single 'render' call can be made at any time amoung all instances,</listitem>
  <listitem><code>kOfxImageEffectRenderInstanceSafe</code> - indicating that any instance can have a single 'render' call at any one time,</listitem>
  <listitem><code>kOfxImageEffectRenderFullySafe</code> - indicating that any instance of a plugin can have multiple renders running simultaneously</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates how many simultaneous renders the plugin can deal with.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropClipPreferencesSlaveParam">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropClipPreferencesSlaveParam</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropClipPreferencesSlaveParam</literal></refname>
<refpurpose> Indicates the set of parameters on which a value change will trigger a change to clip preferences</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropClipPreferencesSlaveParam "OfxImageEffectPropClipPreferencesSlaveParam"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropClipPreferencesSlaveParam</literal> is of type <type>string</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is none set.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
the name of any described parameter
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the set of parameters on which a value change will trigger a change to clip preferences
</para>
<para>
The plugin uses this to inform the host of the subset of parameters that affect the effect's clip preferences. A value change in any one of these will trigger a call to the clip preferences action.
</para>
<para>
The plugin can be slaved to multiple parameters (setting index 0, then index 1 etc...)
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropComponents">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropComponents</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropComponents</literal></refname>
<refpurpose> Indicates the current component type in a clip or image (after any mapping)</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropComponents "OfxImageEffectPropComponents"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropComponents</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only), image instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>kOfxImageComponentNone (implying a clip is unconnected, not valid for an image)</listitem>
  <listitem>kOfxImageComponentRGBA</listitem>
  <listitem>kOfxImageComponentRGB</listitem>
  <listitem>kOfxImageComponentAlpha</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the current component type in a clip or image (after any mapping)
</para>
<para>
Note that for a clip, this is the value set by the clip preferences action, not the raw 'actual' value of the clip.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropContext">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropContext</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropContext</literal></refname>
<refpurpose> Indicates the context a plugin instance has been created for.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropContext "OfxImageEffectPropContext"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropContext</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the image effect instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem><link linkend="kOfxImageEffectContextGenerator"><code>kOfxImageEffectContextGenerator</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectContextFilter"><code>kOfxImageEffectContextFilter</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectContextTransition"><code>kOfxImageEffectContextTransition</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectContextPaint"><code>kOfxImageEffectContextPaint</code></link></listitem>
  <listitem><code>kOfxImageEffectContextGeneral</code></listitem>
  <listitem><link linkend="kOfxImageEffectContextRetimer"><code>kOfxImageEffectContextRetimer</code></link></listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the context a plugin instance has been created for.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropFieldToRender">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropFieldToRender</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropFieldToRender</literal></refname>
<refpurpose> Indicates which field is being rendered.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropFieldToRender "OfxImageEffectPropFieldToRender"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropFieldToRender</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a read only in argument property to <link linkend="kOfxImageEffectActionRender"><code>kOfxImageEffectActionRender</code></link> and <link linkend="kOfxImageEffectActionIsIdentity"><code>kOfxImageEffectActionIsIdentity</code></link>.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
this must be one of

<itemizedlist>
  <listitem>kOfxImageFieldNone  - there are no fields to deal with, all images are full frame</listitem>
  <listitem>kOfxImageFieldBoth  - the imagery is fielded and both scan lines should be renderred</listitem>
  <listitem>kOfxImageFieldLower - the lower field is being rendered (lines 0,2,4...)</listitem>
  <listitem>kOfxImageFieldUpper - the upper field is being rendered (lines 1,3,5...)</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates which field is being rendered.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropFrameRange">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropFrameRange</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropFrameRange</literal></refname>
<refpurpose> The frame range over which a clip has images.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropFrameRange "OfxImageEffectPropFrameRange"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropFrameRange</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The frame range over which a clip has images.
</para>
<para>
Dimension 0 is the first frame for which the clip can produce valid data.
</para>
<para>
Dimension 1 is the last frame for which the clip can produce valid data.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropFrameRate">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropFrameRate</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropFrameRate</literal></refname>
<refpurpose> The frame rate of a clip or instance's project.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropFrameRate "OfxImageEffectPropFrameRate"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropFrameRate</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only), effect instance (read only) and  <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action out args property (read/write).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The frame rate of a clip or instance's project.
</para>
<para>
For an input clip this is the frame rate of the clip.
</para>
<para>
For an output clip, the frame rate mapped via pixel preferences.
</para>
<para>
For an instance, this is the frame rate of the project the effect is in.
</para>
<para>
For the outargs property in the <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action, it is used to change the frame rate of the ouput clip.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropFrameStep">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropFrameStep</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropFrameStep</literal></refname>
<refpurpose> The frame step used for a sequence of renders</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropFrameStep "OfxImageEffectPropFrameStep"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropFrameStep</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the an in argument for the <link linkend="kOfxImageEffectActionBeginSequenceRender"><code>kOfxImageEffectActionBeginSequenceRender</code></link> action (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
can be any positive value, but typically

<itemizedlist>
  <listitem>1 for frame based material</listitem>
  <listitem>0.5 for field based material</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The frame step used for a sequence of renders
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropInteractiveRenderStatus">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropInteractiveRenderStatus</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropInteractiveRenderStatus</literal></refname>
<refpurpose> Property that indicates if a plugin is being rendered in response to user interaction.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropInteractiveRenderStatus "OfxImageEffectPropInteractiveRenderStatus"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropInteractiveRenderStatus</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the read only property on the inArgs of the following actions....
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>

<itemizedlist>
  <listitem>0 - the host is rendering the instance due to some reason other than an interactive tweak on a UI,</listitem>
  <listitem>1 - the instance is being rendered because a user is modifying parameters in an interactive session.</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Property that indicates if a plugin is being rendered in response to user interaction.

<itemizedlist>
  <listitem><link linkend="kOfxImageEffectActionBeginSequenceRender"><code>kOfxImageEffectActionBeginSequenceRender</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectActionRender"><code>kOfxImageEffectActionRender</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectActionEndSequenceRender"><code>kOfxImageEffectActionEndSequenceRender</code></link></listitem>
</itemizedlist>
</para>
<para>
This property is set to 1 on all render calls that have been triggered because a user is actively modifying an effect (or up stream effect) in an interactive session. This typically means that the effect is not being rendered as a part of a sequence, but as a single frame.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropOpenGLEnabled">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropOpenGLEnabled</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropOpenGLEnabled</literal></refname>
<refpurpose> Indicates that an image effect SHOULD use OpenGL acceleration in
</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxOpenGLRender.h"
#define kOfxImageEffectPropOpenGLEnabled "OfxImageEffectPropOpenGLEnabled"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropOpenGLEnabled</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the inArgs property set of the following actions...
.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Indicates that an image effect SHOULD use OpenGL acceleration in
the current action
</para>
<para>
When a plugin and host have established they can both use OpenGL renders
then when this property has been set the host expects the plugin to render
its result into the buffer it has setup before calling the render.  The
plugin can then also safely use the 'OfxImageEffectOpenGLRenderSuite'

<itemizedlist>
  <listitem><link linkend="kOfxImageEffectActionRender"><code>kOfxImageEffectActionRender</code></link>
</listitem>
  <listitem><link linkend="kOfxImageEffectActionBeginSequenceRender"><code>kOfxImageEffectActionBeginSequenceRender</code></link>
</listitem>
  <listitem><link linkend="kOfxImageEffectActionEndSequenceRender"><code>kOfxImageEffectActionEndSequenceRender</code></link>
</listitem>
  <listitem>Valid Values
</listitem>
  <listitem>0 indicates that the effect cannot use the OpenGL suite
</listitem>
  <listitem>1 indicates that the effect should render into the texture,
</listitem>
</itemizedlist>
and may use the OpenGL suite functions.
</para>
<para>
\note Once this property is set, the host and plug-in have agreed to
use OpenGL, so the effect SHOULD access all its images through the
OpenGL suite.
</para>
<para>
v1.4:  kOfxImageEffectPropOpenGLEnabled should probably be checked in Instance Changed prior to try to read image via clipLoadTexture
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropOpenGLRenderSupported">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropOpenGLRenderSupported</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropOpenGLRenderSupported</literal></refname>
<refpurpose> Indicates whether a host or plugin can support OpenGL accelerated
</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxOpenGLRender.h"
#define kOfxImageEffectPropOpenGLRenderSupported "OfxImageEffectPropOpenGLRenderSupported"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropOpenGLRenderSupported</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write), host descriptor (read
.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "false" for a plugin
.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>"false"  - in which case the host or plugin does not support OpenGL
</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether a host or plugin can support OpenGL accelerated
rendering
</para>
<para>
only) - plugin instance change (read/write)
accelerated rendering

<itemizedlist>
  <listitem>"true"   - which means a host or plugin can support OpenGL accelerated
</listitem>
</itemizedlist>
rendering, in the case of plug-ins this also means that it
is capable of CPU based rendering in the absence of a GPU

<itemizedlist>
  <listitem>"needed" - only for plug-ins, this means that an effect has to have
</listitem>
</itemizedlist>
OpenGL support, without which it cannot work.
</para>
<para>
V1.4: It is now expected from host reporting v1.4 that the plugin can during instance change switch from true to false and false to true.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropOpenGLTextureIndex">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropOpenGLTextureIndex</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropOpenGLTextureIndex</literal></refname>
<refpurpose> Indicates the texture index of an image turned into an OpenGL
</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxOpenGLRender.h"
#define kOfxImageEffectPropOpenGLTextureIndex "OfxImageEffectPropOpenGLTextureIndex"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropOpenGLTextureIndex</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the texture handle returned by
.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Indicates the texture index of an image turned into an OpenGL
texture by the host
</para>
<para>
`        <link linkend="OfxImageEffectOpenGLRenderSuiteV1_clipLoadTexture"><code>OfxImageEffectOpenGLRenderSuiteV1::clipLoadTexture</code></link> (read only)
</para>
<para>
This value should be cast to a GLuint and used as the texture index when
performing OpenGL texture operations.
</para>
<para>
The property set of the following actions should contain this property:

<itemizedlist>
  <listitem><link linkend="kOfxImageEffectActionRender"><code>kOfxImageEffectActionRender</code></link>
</listitem>
  <listitem><link linkend="kOfxImageEffectActionBeginSequenceRender"><code>kOfxImageEffectActionBeginSequenceRender</code></link>
</listitem>
  <listitem><link linkend="kOfxImageEffectActionEndSequenceRender"><code>kOfxImageEffectActionEndSequenceRender</code></link>
</listitem>
</itemizedlist>
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropOpenGLTextureTarget">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropOpenGLTextureTarget</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropOpenGLTextureTarget</literal></refname>
<refpurpose> Indicates the texture target enumerator of an image turned into
</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxOpenGLRender.h"
#define kOfxImageEffectPropOpenGLTextureTarget "OfxImageEffectPropOpenGLTextureTarget"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropOpenGLTextureTarget</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the texture handle returned by
.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Indicates the texture target enumerator of an image turned into
    an OpenGL texture by the host
</para>
<para>
<link linkend="OfxImageEffectOpenGLRenderSuiteV1_clipLoadTexture"><code>OfxImageEffectOpenGLRenderSuiteV1::clipLoadTexture</code></link> (read only)
This value should be cast to a GLenum and used as the texture target
when performing OpenGL texture operations.
</para>
<para>
The property set of the following actions should contain this property:

<itemizedlist>
  <listitem><link linkend="kOfxImageEffectActionRender"><code>kOfxImageEffectActionRender</code></link>
</listitem>
  <listitem><link linkend="kOfxImageEffectActionBeginSequenceRender"><code>kOfxImageEffectActionBeginSequenceRender</code></link>
</listitem>
  <listitem><link linkend="kOfxImageEffectActionEndSequenceRender"><code>kOfxImageEffectActionEndSequenceRender</code></link>
</listitem>
</itemizedlist>
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropPixelDepth">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropPixelDepth</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropPixelDepth</literal></refname>
<refpurpose> Indicates the type of each component in a clip or image (after any mapping)</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropPixelDepth "OfxImageEffectPropPixelDepth"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropPixelDepth</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only), image instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>kOfxBitDepthNone (implying a clip is unconnected, not valid for an image)</listitem>
  <listitem>kOfxBitDepthByte</listitem>
  <listitem>kOfxBitDepthShort</listitem>
  <listitem>kOfxBitDepthHalf</listitem>
  <listitem>kOfxBitDepthFloat</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the type of each component in a clip or image (after any mapping)
</para>
<para>
Note that for a clip, this is the value set by the clip preferences action, not the raw 'actual' value of the clip.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropPluginHandle">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropPluginHandle</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropPluginHandle</literal></refname>
<refpurpose> The plugin handle passed to the initial 'describe' action.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropPluginHandle "OfxImageEffectPropPluginHandle"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropPluginHandle</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin instance, (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The plugin handle passed to the initial 'describe' action.
</para>
<para>
This value will be the same for all instances of a plugin.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropPreMultiplication">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropPreMultiplication</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropPreMultiplication</literal></refname>
<refpurpose> Indicates the premultiplication state of a clip or image</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropPreMultiplication "OfxImageEffectPropPreMultiplication"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropPreMultiplication</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only), image instance (read only), out args property in the <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action (read/write).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>kOfxImageOpaque          - the image is opaque and so has no premultiplication state</listitem>
  <listitem>kOfxImagePreMultiplied   - the image is premultiplied by its alpha</listitem>
  <listitem>kOfxImageUnPreMultiplied - the image is unpremultiplied</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the premultiplication state of a clip or image
</para>
<para>
See the documentation on clip preferences for more details on how this is used with the <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropProjectExtent">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropProjectExtent</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropProjectExtent</literal></refname>
<refpurpose> The extent of the current project in canonical coordinates.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropProjectExtent "OfxImageEffectPropProjectExtent"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropProjectExtent</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a plugin  instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The extent of the current project in canonical coordinates.
</para>
<para>
The extent is the size of the 'output' for the current project. See <link linkend="NormalisedCoordinateSystem">NormalisedCoordinateSystem</link> for more infomation on the project extent.
</para>
<para>
The extent is in canonical coordinates and only returns the top right position, as the extent is always rooted at 0,0.
</para>
<para>
For example a PAL SD project would have an extent of 768, 576.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropProjectOffset">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropProjectOffset</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropProjectOffset</literal></refname>
<refpurpose> The offset of the current project in canonical coordinates.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropProjectOffset "OfxImageEffectPropProjectOffset"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropProjectOffset</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a plugin  instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The offset of the current project in canonical coordinates.
</para>
<para>
The offset is related to the <link linkend="kOfxImageEffectPropProjectSize"><code>kOfxImageEffectPropProjectSize</code></link> and is the offset from the origin of the project 'subwindow'. 
</para>
<para>
For example for a PAL SD project that is in letterbox form, the project offset is the offset to the bottom left hand corner of the letter box.
</para>
<para>
The project offset is in canonical coordinates.
</para>
<para>
See <link linkend="NormalisedCoordinateSystem">NormalisedCoordinateSystem</link> for more infomation on the project extent.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropProjectPixelAspectRatio">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropProjectPixelAspectRatio</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropProjectPixelAspectRatio</literal></refname>
<refpurpose> The pixel aspect ratio of the current project</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropProjectPixelAspectRatio "OfxImageEffectPropPixelAspectRatio"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropProjectPixelAspectRatio</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a plugin  instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The pixel aspect ratio of the current project
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropProjectSize">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropProjectSize</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropProjectSize</literal></refname>
<refpurpose> The size of the current project in canonical coordinates.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropProjectSize "OfxImageEffectPropProjectSize"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropProjectSize</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a plugin  instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The size of the current project in canonical coordinates.
</para>
<para>
The size of a project is a sub set of the <link linkend="kOfxImageEffectPropProjectExtent"><code>kOfxImageEffectPropProjectExtent</code></link>. For example a project may be a PAL SD project, but only be a letter-box within that. The project size is the size of this sub window.
</para>
<para>
The project size is in canonical coordinates.
</para>
<para>
See <link linkend="NormalisedCoordinateSystem">NormalisedCoordinateSystem</link> for more infomation on the project extent.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropRegionOfDefinition">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropRegionOfDefinition</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropRegionOfDefinition</literal></refname>
<refpurpose> Used to indicate the region of definition of a plug-in</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropRegionOfDefinition "OfxImageEffectPropRegionOfDefinition"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropRegionOfDefinition</literal> is of type <type>double</type>, and has 4 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a read/write out argument property to the <link linkend="kOfxImageEffectActionGetRegionOfDefinition"><code>kOfxImageEffectActionGetRegionOfDefinition</code></link> action.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is see <link linkend="kOfxImageEffectActionGetRegionOfDefinition"><code>kOfxImageEffectActionGetRegionOfDefinition</code></link>.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Used to indicate the region of definition of a plug-in
</para>
<para>
The order of the values is x1, y1, x2, y2.
</para>
<para>
This will be in <link linkend="CanonicalCoordinates">CanonicalCoordinates</link>
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropRegionOfInterest">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropRegionOfInterest</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropRegionOfInterest</literal></refname>
<refpurpose> The value of a region of interest.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropRegionOfInterest "OfxImageEffectPropRegionOfInterest"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropRegionOfInterest</literal> is of type <type>double</type>, and has 4 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a read only in argument property to the <link linkend="kOfxImageEffectActionGetRegionsOfInterest"><code>kOfxImageEffectActionGetRegionsOfInterest</code></link> action.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The value of a region of interest.
</para>
<para>
A host passes this value into the region of interest action to specify the region it is interested in rendering.
</para>
<para>
The order of the values is x1, y1, x2, y2.
</para>
<para>
This will be in <link linkend="CanonicalCoordinates">CanonicalCoordinates</link>.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropRenderQualityDraft">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropRenderQualityDraft</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropRenderQualityDraft</literal></refname>
<refpurpose> Indicates whether an effect can take quality shortcuts to improve speed.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropRenderQualityDraft "OfxImageEffectPropRenderQualityDraft"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropRenderQualityDraft</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the render calls, host (read-only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0  - 0: Best Quality (1: Draft).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of 0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether an effect can take quality shortcuts to improve speed.
</para>
<para>
This property indicates that the host provides the plug-in the option to render in Draft/Preview mode. This is useful for applications that must support fast scrubbing. These allow a plug-in to take short-cuts for improved performance when the situation allows and it makes sense, for example to generate thumbnails with effects applied. 
For example switch to a cheaper interpolation type or rendering mode. A plugin should expect frames rendered in this manner that will not be stucked in host cache unless the cache is only used in the same draft situations.
If an host does not support that property a value of 0 is assumed.
Also note that some hosts do implement kOfxImageEffectPropRenderScale - these two properties can be used independently. 
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropRenderScale">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropRenderScale</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropRenderScale</literal></refname>
<refpurpose> The proxy render scale currently being applied.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropRenderScale "OfxImageEffectPropRenderScale"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropRenderScale</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the an image instance (read only) and as read only an in argument on the following actions,.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The proxy render scale currently being applied.

<itemizedlist>
  <listitem><link linkend="kOfxImageEffectActionRender"><code>kOfxImageEffectActionRender</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectActionBeginSequenceRender"><code>kOfxImageEffectActionBeginSequenceRender</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectActionEndSequenceRender"><code>kOfxImageEffectActionEndSequenceRender</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectActionIsIdentity"><code>kOfxImageEffectActionIsIdentity</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectActionGetRegionOfDefinition"><code>kOfxImageEffectActionGetRegionOfDefinition</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectActionGetRegionsOfInterest"><code>kOfxImageEffectActionGetRegionsOfInterest</code></link></listitem>
  <listitem><link linkend="kOfxActionInstanceChanged"><code>kOfxActionInstanceChanged</code></link></listitem>
  <listitem><link linkend="kOfxInteractActionDraw"><code>kOfxInteractActionDraw</code></link></listitem>
  <listitem><link linkend="kOfxInteractActionPenMotion"><code>kOfxInteractActionPenMotion</code></link></listitem>
  <listitem><link linkend="kOfxInteractActionPenDown"><code>kOfxInteractActionPenDown</code></link></listitem>
  <listitem><link linkend="kOfxInteractActionPenUp"><code>kOfxInteractActionPenUp</code></link></listitem>
  <listitem><link linkend="kOfxInteractActionKeyDown"><code>kOfxInteractActionKeyDown</code></link></listitem>
  <listitem><link linkend="kOfxInteractActionKeyUp"><code>kOfxInteractActionKeyUp</code></link></listitem>
  <listitem><link linkend="kOfxInteractActionKeyRepeat"><code>kOfxInteractActionKeyRepeat</code></link></listitem>
  <listitem><link linkend="kOfxInteractActionGainFocus"><code>kOfxInteractActionGainFocus</code></link></listitem>
  <listitem><link linkend="kOfxInteractActionLoseFocus"><code>kOfxInteractActionLoseFocus</code></link></listitem>
</itemizedlist>
</para>
<para>
This should be applied to any spatial parameters to position them correctly. Not that the 'x' value does not include any pixel aspect ratios.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropRenderWindow">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropRenderWindow</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropRenderWindow</literal></refname>
<refpurpose> The region to be rendered.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropRenderWindow "OfxImageEffectPropRenderWindow"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropRenderWindow</literal> is of type <type>integer</type>, and has 4 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the a read only in argument property to the <link linkend="kOfxImageEffectActionRender"><code>kOfxImageEffectActionRender</code></link> and <link linkend="kOfxImageEffectActionIsIdentity"><code>kOfxImageEffectActionIsIdentity</code></link> actions.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The region to be rendered.
</para>
<para>
The order of the values is x1, y1, x2, y2.
</para>
<para>
This will be in <link linkend="PixelCoordinates">PixelCoordinates</link>
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSequentialRenderStatus">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSequentialRenderStatus</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSequentialRenderStatus</literal></refname>
<refpurpose> Property on all the render action that indicate the current sequential render status of a host</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSequentialRenderStatus "OfxImageEffectPropSequentialRenderStatus"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSequentialRenderStatus</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the read only property on the inArgs of the following actions....
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>

<itemizedlist>
  <listitem>0 - the host is not currently sequentially rendering,</listitem>
  <listitem>1 - the host is currentely rendering in a way so that it guarantees sequential rendering.</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Property on all the render action that indicate the current sequential render status of a host

<itemizedlist>
  <listitem><link linkend="kOfxImageEffectActionBeginSequenceRender"><code>kOfxImageEffectActionBeginSequenceRender</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectActionRender"><code>kOfxImageEffectActionRender</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectActionEndSequenceRender"><code>kOfxImageEffectActionEndSequenceRender</code></link></listitem>
</itemizedlist>
</para>
<para>
This property is set to indicate whether the effect is currently being rendered in frame order on a single effect instance. See <link linkend="kOfxImageEffectInstancePropSequentialRender"><code>kOfxImageEffectInstancePropSequentialRender</code></link> for more details on sequential rendering.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSetableFielding">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSetableFielding</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSetableFielding</literal></refname>
<refpurpose> Indicates whether the host will let a plugin set the fielding of the output clip.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSetableFielding "OfxImageEffectPropSetableFielding"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSetableFielding</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 - in which case the plugin may not change the fielding of the output clip,</listitem>
  <listitem>1 - which means a plugin is able to change the output clip's fielding in the <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action.</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether the host will let a plugin set the fielding of the output clip.
</para>
<para>
See <link linkend="ImageEffectClipPreferences">ImageEffectClipPreferences</link>.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSetableFrameRate">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSetableFrameRate</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSetableFrameRate</literal></refname>
<refpurpose> Indicates whether the host will let a plugin set the frame rate of the output clip.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSetableFrameRate "OfxImageEffectPropSetableFrameRate"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSetableFrameRate</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 - in which case the plugin may not change the frame rate of the output clip,</listitem>
  <listitem>1 - which means a plugin is able to change the output clip's frame rate in the <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action.</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether the host will let a plugin set the frame rate of the output clip.
</para>
<para>
See <link linkend="ImageEffectClipPreferences">ImageEffectClipPreferences</link>.
</para>
<para>
If a clip can be continously sampled, the frame rate will be set to 0.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSupportedComponents">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSupportedComponents</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSupportedComponents</literal></refname>
<refpurpose> Indicates the components supported by a clip or host,</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSupportedComponents "OfxImageEffectPropSupportedComponents"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSupportedComponents</literal> is of type <type>string</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only), clip descriptor (read/write).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>kOfxImageComponentNone (implying a clip is unconnected)</listitem>
  <listitem>kOfxImageComponentRGBA</listitem>
  <listitem>kOfxImageComponentRGB</listitem>
  <listitem>kOfxImageComponentAlpha</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the components supported by a clip or host,
</para>
<para>
This list of strings indicate what component types are supported by a host or are expected as input to a clip.
</para>
<para>
The default for a clip descriptor is to have none set, the plugin <emphasis> m</emphasis> must define at least one in its define function
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSupportedContexts">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSupportedContexts</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSupportedContexts</literal></refname>
<refpurpose> Indicates to the host the contexts a plugin can be used in.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSupportedContexts "OfxImageEffectPropSupportedContexts"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSupportedContexts</literal> is of type <type>string</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the image effect descriptor passed to kOfxActionDescribe (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is this has no defaults, it must be set.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem><link linkend="kOfxImageEffectContextGenerator"><code>kOfxImageEffectContextGenerator</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectContextFilter"><code>kOfxImageEffectContextFilter</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectContextTransition"><code>kOfxImageEffectContextTransition</code></link></listitem>
  <listitem><link linkend="kOfxImageEffectContextPaint"><code>kOfxImageEffectContextPaint</code></link></listitem>
  <listitem><code>kOfxImageEffectContextGeneral</code></listitem>
  <listitem><link linkend="kOfxImageEffectContextRetimer"><code>kOfxImageEffectContextRetimer</code></link></listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates to the host the contexts a plugin can be used in.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSupportedPixelDepths">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSupportedPixelDepths</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSupportedPixelDepths</literal></refname>
<refpurpose> Indicates the bit depths support by a plug-in or host</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSupportedPixelDepths "OfxImageEffectPropSupportedPixelDepths"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSupportedPixelDepths</literal> is of type <type>string</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only), plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is plugin descriptor none set.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>kOfxBitDepthNone (implying a clip is unconnected, not valid for an image)</listitem>
  <listitem>kOfxBitDepthByte</listitem>
  <listitem>kOfxBitDepthShort</listitem>
  <listitem>kOfxBitDepthHalf</listitem>
  <listitem>kOfxBitDepthFloat</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the bit depths support by a plug-in or host    
</para>
<para>
The default for a plugin is to have none set, the plugin <emphasis> m</emphasis> must define at least one in its describe action.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSupportsMultiResolution">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSupportsMultiResolution</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSupportsMultiResolution</literal></refname>
<refpurpose> Indicates whether a plugin or host support multiple resolution images.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSupportsMultiResolution "OfxImageEffectPropSupportsMultiResolution"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSupportsMultiResolution</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only), plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1 for plugins.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 - the plugin or host does not support multiple resolutions</listitem>
  <listitem>1 - the plugin or host does support multiple resolutions</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether a plugin or host support multiple resolution images.
</para>
<para>
Multiple resolution images mean...

<itemizedlist>
  <listitem>input and output images can be of any size</listitem>
  <listitem>input and output images can be offset from the origin</listitem>
</itemizedlist>
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSupportsMultipleClipDepths">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSupportsMultipleClipDepths</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSupportsMultipleClipDepths</literal></refname>
<refpurpose> Indicates whether a host or plugin can support clips of differing component depths going into/out of an effect</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSupportsMultipleClipDepths "OfxImageEffectPropMultipleClipDepths"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSupportsMultipleClipDepths</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write), host descriptor (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0 for a plugin.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 - in which case the host or plugin does not support clips of multiple pixel depths,</listitem>
  <listitem>1 - which means a host or plugin is able to to deal with clips of multiple pixel depths,</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether a host or plugin can support clips of differing component depths going into/out of an effect
</para>
<para>
If a host indicates that it can support multiple pixels depths, then it will allow the plugin to explicitly set 
the output clip's pixel depth in the <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action. See <link linkend="ImageEffectClipPreferences">ImageEffectClipPreferences</link>.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSupportsMultipleClipPARs">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSupportsMultipleClipPARs</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSupportsMultipleClipPARs</literal></refname>
<refpurpose> Indicates whether a host or plugin can support clips of differing pixel aspect ratios going into/out of an effect</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSupportsMultipleClipPARs "OfxImageEffectPropSupportsMultipleClipPARs"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSupportsMultipleClipPARs</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write), host descriptor (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0 for a plugin.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 - in which case the host or plugin does not support clips of multiple pixel aspect ratios</listitem>
  <listitem>1 - which means a host or plugin is able to to deal with clips of multiple pixel aspect ratios</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether a host or plugin can support clips of differing pixel aspect ratios going into/out of an effect
</para>
<para>
If a host indicates that it can support multiple  pixel aspect ratios, then it will allow the plugin to explicitly set 
the output clip's aspect ratio in the <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action. See <link linkend="ImageEffectClipPreferences">ImageEffectClipPreferences</link>.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSupportsOverlays">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSupportsOverlays</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSupportsOverlays</literal></refname>
<refpurpose> Indicates whether a host support image effect <link linkend="ImageEffectOverlays">ImageEffectOverlays</link>.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSupportsOverlays "OfxImageEffectPropSupportsOverlays"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSupportsOverlays</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 - the host won't allow a plugin to draw a GUI over the output image,</listitem>
  <listitem>1 - the host will allow a plugin to draw a GUI over the output image.</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether a host support image effect &lt;link linkend="ImageEffectOverlays"&gt;ImageEffectOverlays&lt;/link&gt;.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropSupportsTiles">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropSupportsTiles</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropSupportsTiles</literal></refname>
<refpurpose> Indicates whether a clip, plugin or host supports tiled images</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropSupportsTiles "OfxImageEffectPropSupportsTiles"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropSupportsTiles</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only), plugin descriptor (read/write), clip descriptor (read/write), instance (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is to 1 for a plugin and clip.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of 0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether a clip, plugin or host supports tiled images
</para>
<para>
Tiled images mean that input or output images can contain pixel data that is only a subset of their full RoD.
</para>
<para>
If a clip or plugin does not support tiled images, then the host should supply full RoD images to the effect whenever it fetches one.
</para>
<para>
V1.4:  It is now possible (defined) to change OfxImageEffectPropSupportsTiles in Instance Changed 
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropTemporalClipAccess">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropTemporalClipAccess</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropTemporalClipAccess</literal></refname>
<refpurpose> Indicates support for random temporal access to images in a clip.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropTemporalClipAccess "OfxImageEffectPropTemporalClipAccess"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropTemporalClipAccess</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only), plugin descriptor (read/write), clip descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is to 0 for a plugin and clip.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of 0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates support for random temporal access to images in a clip.
</para>
<para>
On a host, it indicates whether the host supports temporal access to images.
</para>
<para>
On a plugin, indicates if the plugin needs temporal access to images.
</para>
<para>
On a clip, it indicates that the clip needs temporal access to images.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropUnmappedFrameRange">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropUnmappedFrameRange</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropUnmappedFrameRange</literal></refname>
<refpurpose> The unmaped frame range over which an output clip has images.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropUnmappedFrameRange "OfxImageEffectPropUnmappedFrameRange"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropUnmappedFrameRange</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The unmaped frame range over which an output clip has images.
</para>
<para>
Dimension 0 is the first frame for which the clip can produce valid data.
</para>
<para>
Dimension 1 is the last frame for which the clip can produce valid data.
</para>
<para>
If a plugin changes the output frame rate in the pixel preferences action, it will affect the frame range
of the output clip, this property allows a plugin to get to the original value.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImageEffectPropUnmappedFrameRate">
<refmeta>
<refentrytitle><literal>kOfxImageEffectPropUnmappedFrameRate</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImageEffectPropUnmappedFrameRate</literal></refname>
<refpurpose> Indicates the original unmapped frame rate (frames/second) of a clip</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImageEffectPropUnmappedFrameRate "OfxImageEffectPropUnmappedFrameRate"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImageEffectPropUnmappedFrameRate</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only), .
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Indicates the original unmapped frame rate (frames/second) of a clip
</para>
<para>
If a plugin changes the output frame rate in the pixel preferences action, this property allows a plugin to get to the original value.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImagePropBounds">
<refmeta>
<refentrytitle><literal>kOfxImagePropBounds</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImagePropBounds</literal></refname>
<refpurpose> The bounds of an image's pixels.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImagePropBounds "OfxImagePropBounds"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImagePropBounds</literal> is of type <type>integer</type>, and has 4 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the an image  instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The bounds of an image's pixels.
</para>
<para>
The bounds, in <link linkend="PixelCoordinates">PixelCoordinates</link>, are of the addressable pixels in an image's data pointer.
</para>
<para>
The order of the values is x1, y1, x2, y2.
</para>
<para>
X values are x1 &amp;lt;= X &amp;lt; x2 
Y values are y1 &amp;lt;= Y &amp;lt; y2
</para>
<para>
For less than full frame images, the pixel bounds will be contained by the <link linkend="kOfxImagePropRegionOfDefinition"><code>kOfxImagePropRegionOfDefinition</code></link> bounds.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImagePropData">
<refmeta>
<refentrytitle><literal>kOfxImagePropData</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImagePropData</literal></refname>
<refpurpose> The pixel data pointer of an image.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImagePropData "OfxImagePropData"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImagePropData</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the an image  instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The pixel data pointer of an image.
</para>
<para>
This property contains a pointer to memory that is the lower left hand corner of an image.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImagePropField">
<refmeta>
<refentrytitle><literal>kOfxImagePropField</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImagePropField</literal></refname>
<refpurpose> Which fields are present in the image</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImagePropField "OfxImagePropField"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImagePropField</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the an image instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem><code>kOfxImageFieldNone</code>  - the image is an unfielded frame</listitem>
  <listitem><code>kOfxImageFieldBoth</code>  - the image is fielded and contains both interlaced fields </listitem>
  <listitem><code>kOfxImageFieldLower</code> - the image is fielded and contains a single field, being the lower field (rows 0,2,4...)</listitem>
  <listitem><code>kOfxImageFieldUpper</code> - the image is fielded and contains a single field, being the upper field (rows 1,3,5...)</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Which fields are present in the image
</para>

</refsect2>
</refentry>

<refentry id="kOfxImagePropPixelAspectRatio">
<refmeta>
<refentrytitle><literal>kOfxImagePropPixelAspectRatio</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImagePropPixelAspectRatio</literal></refname>
<refpurpose> The pixel aspect ratio of a clip or image.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImagePropPixelAspectRatio "OfxImagePropPixelAspectRatio"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImagePropPixelAspectRatio</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the clip instance (read only), image instance (read only) and <link linkend="kOfxImageEffectActionGetClipPreferences"><code>kOfxImageEffectActionGetClipPreferences</code></link> action out args property (read/write).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The pixel aspect ratio of a clip or image.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImagePropRegionOfDefinition">
<refmeta>
<refentrytitle><literal>kOfxImagePropRegionOfDefinition</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImagePropRegionOfDefinition</literal></refname>
<refpurpose> The full region of definition of an image.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImagePropRegionOfDefinition "OfxImagePropRegionOfDefinition"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImagePropRegionOfDefinition</literal> is of type <type>integer</type>, and has 4 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the an image  instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The full region of definition of an image.
</para>
<para>
An image's region of definition, in <link linkend="PixelCoordinates">PixelCoordinates</link>, is the full frame area of the image plane that the image covers.
</para>
<para>
The order of the values is x1, y1, x2, y2.
</para>
<para>
X values are x1 &amp;lt;= X &amp;lt; x2 
Y values are y1 &amp;lt;= Y &amp;lt; y2
</para>
<para>
The <link linkend="kOfxImagePropBounds"><code>kOfxImagePropBounds</code></link> property contains the actuall addressable pixels in an image, which may be less than its full region of definition.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImagePropRowBytes">
<refmeta>
<refentrytitle><literal>kOfxImagePropRowBytes</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImagePropRowBytes</literal></refname>
<refpurpose> The number of bytes in a row of an image.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImagePropRowBytes "OfxImagePropRowBytes"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImagePropRowBytes</literal> is of type <type>integer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the an image  instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The number of bytes in a row of an image.
</para>
<para>
For various alignment reasons, a row of pixels may need to be padded at the end with several bytes before the next row starts in memory. 
</para>
<para>
This property indicates the number of bytes in a row of pixels. This will be at least sizeof(PIXEL)  (bounds.x2-bounds.x1). Where bounds
is fetched from the <link linkend="kOfxImagePropBounds"><code>kOfxImagePropBounds</code></link> property.
</para>
<para>
Note that row bytes can be negative, which allows hosts with a native top down row order to pass image into OFX without having to repack pixels.
</para>

</refsect2>
</refentry>

<refentry id="kOfxImagePropUniqueIdentifier">
<refmeta>
<refentrytitle><literal>kOfxImagePropUniqueIdentifier</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxImagePropUniqueIdentifier</literal></refname>
<refpurpose> Uniquely labels an image </refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxImageEffect.h"
#define kOfxImagePropUniqueIdentifier "OfxImagePropUniqueIdentifier"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxImagePropUniqueIdentifier</literal> is of type <type>ASCII string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the image instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Uniquely labels an image 
</para>
<para>
This is host set and allows a plug-in to differentiate between images. This is especially
useful if a plugin caches analysed information about the image (for example motion vectors). The plugin can label the
cached information with this identifier. If a user connects a different clip to the analysed input, or the image has changed in some way
then the plugin can detect this via an identifier change and re-evaluate the cached information.
</para>

</refsect2>
</refentry>

<refentry id="kOfxInteractPropBackgroundColour">
<refmeta>
<refentrytitle><literal>kOfxInteractPropBackgroundColour</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxInteractPropBackgroundColour</literal></refname>
<refpurpose> The background colour of the application behind an interact instance</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxInteract.h"
#define kOfxInteractPropBackgroundColour "OfxInteractPropBackgroundColour"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxInteractPropBackgroundColour</literal> is of type <type>double</type>, and has 3 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the read only on the interact instance and in argument to the <link linkend="kOfxInteractActionDraw"><code>kOfxInteractActionDraw</code></link> action.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
from 0 to 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The background colour of the application behind an interact instance
</para>
<para>
The components are in the order red, green then blue.
</para>

</refsect2>
</refentry>

<refentry id="kOfxInteractPropBitDepth">
<refmeta>
<refentrytitle><literal>kOfxInteractPropBitDepth</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxInteractPropBitDepth</literal></refname>
<refpurpose> Indicates whether the dits per component in the interact's openGL frame buffer</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxInteract.h"
#define kOfxInteractPropBitDepth "OfxInteractPropBitDepth"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxInteractPropBitDepth</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the interact instance and descriptor (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Indicates whether the dits per component in the interact's openGL frame buffer
</para>

</refsect2>
</refentry>

<refentry id="kOfxInteractPropHasAlpha">
<refmeta>
<refentrytitle><literal>kOfxInteractPropHasAlpha</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxInteractPropHasAlpha</literal></refname>
<refpurpose> Indicates whether the interact's frame buffer has an alpha component or not</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxInteract.h"
#define kOfxInteractPropHasAlpha "OfxInteractPropHasAlpha"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxInteractPropHasAlpha</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the interact instance and descriptor (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>0 indicates no alpha component</listitem>
  <listitem>1 indicates an alpha component</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates whether the interact's frame buffer has an alpha component or not
</para>

</refsect2>
</refentry>

<refentry id="kOfxInteractPropPenPosition">
<refmeta>
<refentrytitle><literal>kOfxInteractPropPenPosition</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxInteractPropPenPosition</literal></refname>
<refpurpose> The position of the pen in an interact.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxInteract.h"
#define kOfxInteractPropPenPosition "OfxInteractPropPenPosition"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxInteractPropPenPosition</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the read only in argument to the <link linkend="kOfxInteractActionPenMotion"><code>kOfxInteractActionPenMotion</code></link>, <link linkend="kOfxInteractActionPenDown"><code>kOfxInteractActionPenDown</code></link> and <link linkend="kOfxInteractActionPenUp"><code>kOfxInteractActionPenUp</code></link> actions.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The position of the pen in an interact.
</para>
<para>
This value passes the postion of the pen into an interact. This is in the interact's canonical coordinates.
</para>

</refsect2>
</refentry>

<refentry id="kOfxInteractPropPenPressure">
<refmeta>
<refentrytitle><literal>kOfxInteractPropPenPressure</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxInteractPropPenPressure</literal></refname>
<refpurpose> The pressure of the pen in an interact.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxInteract.h"
#define kOfxInteractPropPenPressure "OfxInteractPropPenPressure"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxInteractPropPenPressure</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the read only in argument to the <link linkend="kOfxInteractActionPenMotion"><code>kOfxInteractActionPenMotion</code></link>, <link linkend="kOfxInteractActionPenDown"><code>kOfxInteractActionPenDown</code></link> and <link linkend="kOfxInteractActionPenUp"><code>kOfxInteractActionPenUp</code></link> actions.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
from 0 (no pressure) to 1 (maximum pressure)
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The pressure of the pen in an interact.
</para>
<para>
This is used to indicate the status of the 'pen' in an interact. If a pen has only two states (eg: a mouse button), these should map to 0.0 and 1.0.
</para>

</refsect2>
</refentry>

<refentry id="kOfxInteractPropPenViewportPosition">
<refmeta>
<refentrytitle><literal>kOfxInteractPropPenViewportPosition</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxInteractPropPenViewportPosition</literal></refname>
<refpurpose> The position of the pen in an interact in viewport coordinates.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxInteract.h"
#define kOfxInteractPropPenViewportPosition "OfxInteractPropPenViewportPosition"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxInteractPropPenViewportPosition</literal> is of type <type>int</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the read only in argument to the <link linkend="kOfxInteractActionPenMotion"><code>kOfxInteractActionPenMotion</code></link>, <link linkend="kOfxInteractActionPenDown"><code>kOfxInteractActionPenDown</code></link> and <link linkend="kOfxInteractActionPenUp"><code>kOfxInteractActionPenUp</code></link> actions.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The position of the pen in an interact in viewport coordinates.
</para>
<para>
This value passes the postion of the pen into an interact. This is in the interact's openGL viewport coordinates, with 0,0 being at the bottom left.
</para>

</refsect2>
</refentry>

<refentry id="kOfxInteractPropPixelScale">
<refmeta>
<refentrytitle><literal>kOfxInteractPropPixelScale</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxInteractPropPixelScale</literal></refname>
<refpurpose> The size of a real screen pixel under the interact's canonical projection.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxInteract.h"
#define kOfxInteractPropPixelScale "OfxInteractPropPixelScale"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxInteractPropPixelScale</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the interact instance and actions (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The size of a real screen pixel under the interact's canonical projection.
</para>

</refsect2>
</refentry>

<refentry id="kOfxInteractPropSlaveToParam">
<refmeta>
<refentrytitle><literal>kOfxInteractPropSlaveToParam</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxInteractPropSlaveToParam</literal></refname>
<refpurpose> The set of parameters on which a value change will trigger a redraw for an interact.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxInteract.h"
#define kOfxInteractPropSlaveToParam "OfxInteractPropSlaveToParam"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxInteractPropSlaveToParam</literal> is of type <type>string</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the interact instance property (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is no values set.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
the name of any parameter associated with this interact.
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The set of parameters on which a value change will trigger a redraw for an interact.
</para>
<para>
If the interact is representing the state of some set of OFX parameters, then is will
need to be redrawn if any of those parameters' values change. This multi-dimensional property
links such parameters to the interact.
</para>
<para>
The interact can be slaved to multiple parameters (setting index 0, then index 1 etc...)
</para>

</refsect2>
</refentry>

<refentry id="kOfxInteractPropSuggestedColour">
<refmeta>
<refentrytitle><literal>kOfxInteractPropSuggestedColour</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxInteractPropSuggestedColour</literal></refname>
<refpurpose> The suggested colour to draw a widget in an interact, typically for overlays.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxInteract.h"
#define kOfxInteractPropSuggestedColour "OfxInteractPropSuggestedColour"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxInteractPropSuggestedColour</literal> is of type <type>double</type>, and has 3 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the read only on the interact instance.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
greater than or equal to 0.0
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The suggested colour to draw a widget in an interact, typically for overlays. 
</para>
<para>
Some applications allow the user to specify colours of any overlay via a colour picker, this
property represents the value of that colour. Plugins are at liberty to use this or not when
they draw an overlay.
</para>
<para>
If a host does not support such a colour, it should return kOfxStatReplyDefault
</para>

</refsect2>
</refentry>

<refentry id="kOfxOpenGLPropPixelDepth">
<refmeta>
<refentrytitle><literal>kOfxOpenGLPropPixelDepth</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxOpenGLPropPixelDepth</literal></refname>
<refpurpose> Indicates the bit depths supported by a plug-in during OpenGL renders.
</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxOpenGLRender.h"
#define kOfxOpenGLPropPixelDepth "OfxOpenGLPropPixelDepth"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxOpenGLPropPixelDepth</literal> is of type <type>string</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read only)
.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is none set
.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem><link linkend="kOfxBitDepthNone"><code>kOfxBitDepthNone</code></link> (implying a clip is unconnected, not valid for an
</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates the bit depths supported by a plug-in during OpenGL renders.

This is analogous to <link linkend="kOfxImageEffectPropSupportedPixelDepths"><code>kOfxImageEffectPropSupportedPixelDepths</code></link>. When a
plug-in sets this property, the host will try to provide buffers/textures
in one of the supported formats. Additionally, the target buffers where
the plug-in renders to will be set to one of the supported formats.
</para>
<para>
Unlike <link linkend="kOfxImageEffectPropSupportedPixelDepths"><code>kOfxImageEffectPropSupportedPixelDepths</code></link>, this property is
optional. Shader-based effects might not really care about any
format specifics when using OpenGL textures, so they can leave this unset
and allow the host the decide the format.
</para>
<para>
image)

<itemizedlist>
  <listitem><link linkend="kOfxBitDepthByte"><code>kOfxBitDepthByte</code></link>
</listitem>
  <listitem><link linkend="kOfxBitDepthShort"><code>kOfxBitDepthShort</code></link>
</listitem>
  <listitem><link linkend="kOfxBitDepthHalf"><code>kOfxBitDepthHalf</code></link>
</listitem>
  <listitem><link linkend="kOfxBitDepthFloat"><code>kOfxBitDepthFloat</code></link>
</listitem>
</itemizedlist>
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamHostPropMaxPages">
<refmeta>
<refentrytitle><literal>kOfxParamHostPropMaxPages</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamHostPropMaxPages</literal></refname>
<refpurpose> Indicates the maximum number of parameter pages.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamHostPropMaxPages "OfxParamHostPropMaxPages"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamHostPropMaxPages</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Indicates the maximum number of parameter pages.
</para>
<para>
If there is no limit to the number of pages on a host, set this to -1.
</para>
<para>
Hosts that do not support paged parameter layout should set this to zero.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamHostPropMaxParameters">
<refmeta>
<refentrytitle><literal>kOfxParamHostPropMaxParameters</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamHostPropMaxParameters</literal></refname>
<refpurpose> Indicates the maximum numbers of parameters available on the host.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamHostPropMaxParameters "OfxParamHostPropMaxParameters"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamHostPropMaxParameters</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Indicates the maximum numbers of parameters available on the host.
</para>
<para>
If set to -1 it implies unlimited number of parameters.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamHostPropPageRowColumnCount">
<refmeta>
<refentrytitle><literal>kOfxParamHostPropPageRowColumnCount</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamHostPropPageRowColumnCount</literal></refname>
<refpurpose> This indicates the number of parameter rows and coloumns on a page.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamHostPropPageRowColumnCount "OfxParamHostPropPageRowColumnCount"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamHostPropPageRowColumnCount</literal> is of type <type>int</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
This indicates the number of parameter rows and coloumns on a page.
</para>
<para>
If the host has supports paged parameter layout, used dimension 0 as the number of columns per page and dimension 1 as the number of rows per page.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamHostPropSupportsBooleanAnimation">
<refmeta>
<refentrytitle><literal>kOfxParamHostPropSupportsBooleanAnimation</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamHostPropSupportsBooleanAnimation</literal></refname>
<refpurpose> Indicates if the host supports animation of boolean params</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamHostPropSupportsBooleanAnimation "OfxParamHostPropSupportsBooleanAnimation"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamHostPropSupportsBooleanAnimation</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates if the host supports animation of boolean params
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamHostPropSupportsChoiceAnimation">
<refmeta>
<refentrytitle><literal>kOfxParamHostPropSupportsChoiceAnimation</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamHostPropSupportsChoiceAnimation</literal></refname>
<refpurpose> Indicates if the host supports animation of choice params </refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamHostPropSupportsChoiceAnimation "OfxParamHostPropSupportsChoiceAnimation"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamHostPropSupportsChoiceAnimation</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates if the host supports animation of choice params 
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamHostPropSupportsCustomAnimation">
<refmeta>
<refentrytitle><literal>kOfxParamHostPropSupportsCustomAnimation</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamHostPropSupportsCustomAnimation</literal></refname>
<refpurpose> Indicates if the host supports animation of custom parameters </refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamHostPropSupportsCustomAnimation "OfxParamHostPropSupportsCustomAnimation"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamHostPropSupportsCustomAnimation</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Indicates if the host supports animation of custom parameters 

<itemizedlist>
  <listitem>Value Values - 0 or 1</listitem>
</itemizedlist>
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamHostPropSupportsCustomInteract">
<refmeta>
<refentrytitle><literal>kOfxParamHostPropSupportsCustomInteract</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamHostPropSupportsCustomInteract</literal></refname>
<refpurpose> Indicates if the host supports custom interacts for parameters</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamHostPropSupportsCustomInteract "OfxParamHostPropSupportsCustomInteract"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamHostPropSupportsCustomInteract</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates if the host supports custom interacts for parameters
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamHostPropSupportsParametricAnimation">
<refmeta>
<refentrytitle><literal>kOfxParamHostPropSupportsParametricAnimation</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamHostPropSupportsParametricAnimation</literal></refname>
<refpurpose> Property on the host to indicate support for parametric parameter animation.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParametricParam.h"
#define kOfxParamHostPropSupportsParametricAnimation "OfxParamHostPropSupportsParametricAnimation"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamHostPropSupportsParametricAnimation</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Property on the host to indicate support for parametric parameter animation. 

<itemizedlist>
  <listitem>Valid Values </listitem>
  <listitem>0 indicating the host does not support animation of parmetric params,</listitem>
  <listitem>1 indicating the host does support animation of parmetric params,</listitem>
</itemizedlist>
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamHostPropSupportsStringAnimation">
<refmeta>
<refentrytitle><literal>kOfxParamHostPropSupportsStringAnimation</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamHostPropSupportsStringAnimation</literal></refname>
<refpurpose> Indicates if the host supports animation of string params </refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamHostPropSupportsStringAnimation "OfxParamHostPropSupportsStringAnimation"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamHostPropSupportsStringAnimation</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates if the host supports animation of string params 
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropAnimates">
<refmeta>
<refentrytitle><literal>kOfxParamPropAnimates</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropAnimates</literal></refname>
<refpurpose> Flags whether a parameter can animate.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropAnimates "OfxParamPropAnimates"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropAnimates</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Flags whether a parameter can animate.
</para>
<para>
A plug-in uses this property to indicate if a parameter is able to animate.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropCacheInvalidation">
<refmeta>
<refentrytitle><literal>kOfxParamPropCacheInvalidation</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropCacheInvalidation</literal></refname>
<refpurpose> Specifies how modifying the value of a param will affect any output of an effect over time.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropCacheInvalidation "OfxParamPropCacheInvalidation"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropCacheInvalidation</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is <code>kOfxParamInvalidateValueChange</code>.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem><code>kOfxParamInvalidateValueChange</code></listitem>
  <listitem><code>kOfxParamInvalidateValueChangeToEnd</code></listitem>
  <listitem><code>kOfxParamInvalidateAll</code></listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Specifies how modifying the value of a param will affect any output of an effect over time.
</para>
<para>
Imagine an effect with an animating parameter in a host that caches
rendered output. Think of the what happens when you add a new key frame.

<itemizedlist>
  <listitem>If the parameter represents something like an absolute position, the cache will only need to be invalidated for the range of frames that keyframe affects.</listitem>
  <listitem>If the parameter represents something like a speed which is integrated, the cache will be invalidated from the keyframe until the end of the clip.</listitem>
  <listitem>There are potentially other situations where the entire cache will need to be invalidated (though I can't think of one off the top of my head).</listitem>
</itemizedlist>
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropCanUndo">
<refmeta>
<refentrytitle><literal>kOfxParamPropCanUndo</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropCanUndo</literal></refname>
<refpurpose> Flags whether changes to a parameter should be put on the undo/redo stack</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropCanUndo "OfxParamPropCanUndo"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropCanUndo</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Flags whether changes to a parameter should be put on the undo/redo stack
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropChoiceOption">
<refmeta>
<refentrytitle><literal>kOfxParamPropChoiceOption</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropChoiceOption</literal></refname>
<refpurpose> Set an option in a choice parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropChoiceOption "OfxParamPropChoiceOption"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropChoiceOption</literal> is of type <type>UTF8 C string</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is the property is empty with no options set..
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Set an option in a choice parameter.
</para>
<para>
This property contains the set of options that will be presented to a user from a choice parameter. See @ref ParametersChoice for more details. 
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropCustomInterpCallbackV1">
<refmeta>
<refentrytitle><literal>kOfxParamPropCustomInterpCallbackV1</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropCustomInterpCallbackV1</literal></refname>
<refpurpose> A pointer to a custom parameter's interpolation function.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropCustomInterpCallbackV1 "OfxParamPropCustomCallbackV1"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropCustomInterpCallbackV1</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is NULL.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
must point to a <link linkend="OfxCustomParamInterpFuncV1"><code>OfxCustomParamInterpFuncV1</code></link>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
A pointer to a custom parameter's interpolation function.
</para>
<para>
It is an error not to set this property in a custom parameter during a plugin's define call if the custom parameter declares itself to be an animating parameter.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropCustomValue">
<refmeta>
<refentrytitle><literal>kOfxParamPropCustomValue</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropCustomValue</literal></refname>
<refpurpose> Used by interpolating custom parameters to get and set interpolated values.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropCustomValue "OfxParamPropCustomValue"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropCustomValue</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin string parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Used by interpolating custom parameters to get and set interpolated values.
This property is on the <emphasis> inArgs</emphasis> property and <emphasis> outArgs</emphasis> property of a <link linkend="OfxCustomParamInterpFuncV1"><code>OfxCustomParamInterpFuncV1</code></link> and in both cases contains the encoded value of a custom parameter. As an <emphasis> inArgs</emphasis> property it will have two values, being the two keyframes to interpolate. As an <emphasis> outArgs</emphasis> property it will have a single value and the plugin should fill this with the encoded interpolated value of the parameter.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropDataPtr">
<refmeta>
<refentrytitle><literal>kOfxParamPropDataPtr</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropDataPtr</literal></refname>
<refpurpose> A private data pointer that the plug-in can store its own data behind.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropDataPtr "OfxParamPropDataPtr"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropDataPtr</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is NULL.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
A private data pointer that the plug-in can store its own data behind.
</para>
<para>
This data pointer is unique to each parameter instance, so two instances of the same parameter do not share the same data pointer. Use it to hang any needed private data structures.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropDefault">
<refmeta>
<refentrytitle><literal>kOfxParamPropDefault</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropDefault</literal></refname>
<refpurpose> The default value of a parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropDefault "OfxParamPropDefault"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
The type is dependant on the parameter type as is the dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0 cast to the relevant type (or "" for strings and custom parameters).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The default value of a parameter.
</para>
<para>
The exact type and dimension is dependant on the type of the parameter. These are....

<itemizedlist>
  <listitem><code>kOfxParamTypeInteger</code> - integer property of one dimension</listitem>
  <listitem><code>kOfxParamTypeDouble</code> - double property of one dimension</listitem>
  <listitem><code>kOfxParamTypeBoolean</code> - integer property of one dimension</listitem>
  <listitem><code>kOfxParamTypeChoice</code> - integer property of one dimension</listitem>
  <listitem><code>kOfxParamTypeRGBA</code> - double property of four dimensions</listitem>
  <listitem><code>kOfxParamTypeRGB</code> - double property of three dimensions</listitem>
  <listitem><code>kOfxParamTypeDouble2D</code> - double property of two dimensions</listitem>
  <listitem><code>kOfxParamTypeInteger2D</code> - integer property of two dimensions</listitem>
  <listitem><code>kOfxParamTypeDouble3D</code> - double property of three dimensions</listitem>
  <listitem><code>kOfxParamTypeInteger3D</code> - integer property of three dimensions</listitem>
  <listitem><code>kOfxParamTypeString</code> - string property of one dimension</listitem>
  <listitem><code>kOfxParamTypeCustom</code> - string property of one dimension</listitem>
  <listitem><code>kOfxParamTypeGroup</code> - does not have this property</listitem>
  <listitem><code>kOfxParamTypePage</code> - does not have this property</listitem>
  <listitem><code>kOfxParamTypePushButton</code> - does not have this property</listitem>
</itemizedlist>
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropDefaultCoordinateSystem">
<refmeta>
<refentrytitle><literal>kOfxParamPropDefaultCoordinateSystem</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropDefaultCoordinateSystem</literal></refname>
<refpurpose> Describes in which coordinate system a spatial double parameter's default value is specified.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropDefaultCoordinateSystem "OfxParamPropDefaultCoordinateSystem"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropDefaultCoordinateSystem</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the Non normalised spatial double parameters, ie: any double param who's <link linkend="kOfxParamPropDoubleType"><code>kOfxParamPropDoubleType</code></link> is set to one of....
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is kOfxParamCoordinatesCanonical.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem>kOfxParamCoordinatesCanonical - the default is in canonical coords</listitem>
  <listitem>kOfxParamCoordinatesNormalised - the default is in normalised coordinates</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Describes in which coordinate system a spatial double parameter's default value is specified.

<itemizedlist>
  <listitem>kOfxParamDoubleTypeX </listitem>
  <listitem>kOfxParamDoubleTypeXAbsolute </listitem>
  <listitem>kOfxParamDoubleTypeY </listitem>
  <listitem>kOfxParamDoubleTypeYAbsolute </listitem>
  <listitem>kOfxParamDoubleTypeXY </listitem>
  <listitem>kOfxParamDoubleTypeXYAbsolute </listitem>
</itemizedlist>
</para>
<para>
This allows a spatial param to specify what its default is, so by saying normalised and "0.5" it would be in the 'middle', by saying canonical and 100 it would be at value 100 independent of the size of the image being applied to.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropDigits">
<refmeta>
<refentrytitle><literal>kOfxParamPropDigits</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropDigits</literal></refname>
<refpurpose> How many digits after a decimal point to display for a double param in a GUI.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropDigits "OfxParamPropDigits"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropDigits</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 2.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
any greater than 0.
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
How many digits after a decimal point to display for a double param in a GUI.
</para>
<para>
This applies to double params of any dimension.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropDimensionLabel">
<refmeta>
<refentrytitle><literal>kOfxParamPropDimensionLabel</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropDimensionLabel</literal></refname>
<refpurpose> Label for individual dimensions on a multidimensional numeric parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropDimensionLabel "OfxParamPropDimensionLabel"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropDimensionLabel</literal> is of type <type>UTF8 C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "x", "y" and "z".
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
any
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Label for individual dimensions on a multidimensional numeric parameter.
</para>
<para>
Use this on 2D and 3D double and integer parameters to change the label on an individual dimension in any GUI for that parameter.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropDisplayMax">
<refmeta>
<refentrytitle><literal>kOfxParamPropDisplayMax</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropDisplayMax</literal></refname>
<refpurpose> The maximum value for a numeric parameter on any user interface.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropDisplayMax "OfxParamPropDisplayMax"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropDisplayMax</literal> is of type <type>int or double</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is the largest possible value corresponding to the parameter type (eg: INT_MAX for an integer, DBL_MAX for a double parameter).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The maximum value for a numeric parameter on any user interface.
</para>
<para>
If a user interface represents a parameter with a slider or similar, this should be the maximum bound on that slider.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropDisplayMin">
<refmeta>
<refentrytitle><literal>kOfxParamPropDisplayMin</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropDisplayMin</literal></refname>
<refpurpose> The minimum value for a numeric parameter on any user interface.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropDisplayMin "OfxParamPropDisplayMin"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropDisplayMin</literal> is of type <type>int or double</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is the smallest possible value corresponding to the parameter type (eg: INT_MIN for an integer, -DBL_MAX for a double parameter).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The minimum value for a numeric parameter on any user interface.
</para>
<para>
If a user interface represents a parameter with a slider or similar, this should be the minumum bound on that slider.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropDoubleType">
<refmeta>
<refentrytitle><literal>kOfxParamPropDoubleType</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropDoubleType</literal></refname>
<refpurpose> Describes how the double parameter should be interpreted by a host. </refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropDoubleType "OfxParamPropDoubleType"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropDoubleType</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the 1D, 2D and 3D float plugin parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is <code>kOfxParamDoubleTypePlain</code>.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of

<itemizedlist>
  <listitem><code>kOfxParamDoubleTypePlain</code> - parameter has no special interpretation,</listitem>
  <listitem><code>kOfxParamDoubleTypeAngle</code> - parameter is to be interpretted as an angle,</listitem>
  <listitem><code>kOfxParamDoubleTypeScale</code> - parameter is to be interpretted as a scale factor,</listitem>
  <listitem><code>kOfxParamDoubleTypeTime</code>  - parameter represents a time value (1D only),</listitem>
  <listitem><code>kOfxParamDoubleTypeAbsoluteTime</code>  - parameter represents an absolute time value (1D only),</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Describes how the double parameter should be interpreted by a host. 

<itemizedlist>
  <listitem><link linkend="kOfxParamDoubleTypeX"><code>kOfxParamDoubleTypeX</code></link> - size wrt to the project's X dimension (1D only), in canonical coordinates,</listitem>
  <listitem><link linkend="kOfxParamDoubleTypeXAbsolute"><code>kOfxParamDoubleTypeXAbsolute</code></link> - absolute position on the X axis (1D only), in canonical coordinates,</listitem>
  <listitem><link linkend="kOfxParamDoubleTypeY"><code>kOfxParamDoubleTypeY</code></link> - size wrt to the project's Y dimension(1D only), in canonical coordinates,</listitem>
  <listitem><link linkend="kOfxParamDoubleTypeYAbsolute"><code>kOfxParamDoubleTypeYAbsolute</code></link> - absolute position on the Y axis (1D only), in canonical coordinates,</listitem>
  <listitem><link linkend="kOfxParamDoubleTypeXY"><code>kOfxParamDoubleTypeXY</code></link> - size in 2D (2D only), in canonical coordinates,</listitem>
  <listitem><link linkend="kOfxParamDoubleTypeXYAbsolute"><code>kOfxParamDoubleTypeXYAbsolute</code></link> - an absolute position on the image plane, in canonical coordinates.</listitem>
</itemizedlist>
</para>
<para>
Double parameters can be interpreted in several different ways, this property tells the host how to do so and thus gives hints
as to the interface of the parameter.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropEnabled">
<refmeta>
<refentrytitle><literal>kOfxParamPropEnabled</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropEnabled</literal></refname>
<refpurpose> Used to enable a parameter in the user interface.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropEnabled "OfxParamPropEnabled"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropEnabled</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Used to enable a parameter in the user interface.
</para>
<para>
When set to 0 a user should not be able to modify the value of the parameter. Note that the plug-in itself can still change the value of a disabled parameter.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropEvaluateOnChange">
<refmeta>
<refentrytitle><literal>kOfxParamPropEvaluateOnChange</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropEvaluateOnChange</literal></refname>
<refpurpose> Flags whether changing a parameter's value forces an evalution (ie: render),</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropEvaluateOnChange "OfxParamPropEvaluateOnChange"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropEvaluateOnChange</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Flags whether changing a parameter's value forces an evalution (ie: render),
</para>
<para>
This is used to indicate if the value of a parameter has any affect on an effect's output, eg: the parameter may be purely for GUI purposes, and so changing its value should not trigger a re-render.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropGroupOpen">
<refmeta>
<refentrytitle><literal>kOfxParamPropGroupOpen</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropGroupOpen</literal></refname>
<refpurpose> Whether the initial state of a group is open or closed in a hierarchical layout. </refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropGroupOpen "OfxParamPropGroupOpen"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropGroupOpen</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Whether the initial state of a group is open or closed in a hierarchical layout. 
</para>
<para>
This is a property on parameters of type <code>kOfxParamTypeGroup</code>, and tells the group whether it should be open or closed by default.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropHasHostOverlayHandle">
<refmeta>
<refentrytitle><literal>kOfxParamPropHasHostOverlayHandle</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropHasHostOverlayHandle</literal></refname>
<refpurpose> A flag to indicate if there is a host overlay UI handle for the given parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropHasHostOverlayHandle "OfxParamPropHasHostOverlayHandle"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropHasHostOverlayHandle</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read only) .
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
A flag to indicate if there is a host overlay UI handle for the given parameter.
</para>
<para>
If set to 1, then the host is flagging that there is some sort of native user overlay interface handle available for the given parameter.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropHint">
<refmeta>
<refentrytitle><literal>kOfxParamPropHint</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropHint</literal></refname>
<refpurpose> A hint to the user as to how the parameter is to be used.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropHint "OfxParamPropHint"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropHint</literal> is of type <type>UTF8 C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "".
</para> </refsect2>


<refsect2><title>Description</title>
<para>
A hint to the user as to how the parameter is to be used.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropIncrement">
<refmeta>
<refentrytitle><literal>kOfxParamPropIncrement</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropIncrement</literal></refname>
<refpurpose> The granularity of a slider used to represent a numeric parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropIncrement "OfxParamPropIncrement"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropIncrement</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
any greater than 0.
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The granularity of a slider used to represent a numeric parameter.
</para>
<para>
This value is always in canonical coordinates for double parameters that are normalised.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropInteractMinimumSize">
<refmeta>
<refentrytitle><literal>kOfxParamPropInteractMinimumSize</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropInteractMinimumSize</literal></refname>
<refpurpose> The minimum size of a parameter's custom interface, in screen pixels.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropInteractMinimumSize "OfxParamPropInteractMinimumSize"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropInteractMinimumSize</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 10,10.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
greater than (0, 0)
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The minimum size of a parameter's custom interface, in screen pixels.
</para>
<para>
Any custom interface will not be less than this size.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropInteractPreferedSize">
<refmeta>
<refentrytitle><literal>kOfxParamPropInteractPreferedSize</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropInteractPreferedSize</literal></refname>
<refpurpose> The preferred size of a parameter's custom interface.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropInteractPreferedSize "OfxParamPropInteractPreferedSize"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropInteractPreferedSize</literal> is of type <type>int</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 10,10.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
greater than (0, 0)
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The preferred size of a parameter's custom interface.
</para>
<para>
A host should attempt to set a parameter's custom interface on a parameter to be this size if possible, otherwise it will be of <link linkend="kOfxParamPropInteractSizeAspect"><code>kOfxParamPropInteractSizeAspect</code></link> aspect but larger than <link linkend="kOfxParamPropInteractMinimumSize"><code>kOfxParamPropInteractMinimumSize</code></link>.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropInteractSize">
<refmeta>
<refentrytitle><literal>kOfxParamPropInteractSize</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropInteractSize</literal></refname>
<refpurpose> The size of a parameter instance's custom interface in screen pixels.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropInteractSize "OfxParamPropInteractSize"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropInteractSize</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The size of a parameter instance's custom interface in screen pixels.  
</para>
<para>
This is set by a host to indicate the current size of a custom interface if the plug-in has one. If not this is set to (0,0).
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropInteractSizeAspect">
<refmeta>
<refentrytitle><literal>kOfxParamPropInteractSizeAspect</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropInteractSizeAspect</literal></refname>
<refpurpose> The preferred aspect ratio of a parameter's custom interface.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropInteractSizeAspect "OfxParamPropInteractSizeAspect"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropInteractSizeAspect</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
greater than or equal to 0.0
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The preferred aspect ratio of a parameter's custom interface.
</para>
<para>
If set to anything other than 0.0, the custom interface for this parameter will be of a size with this aspect ratio (x size/y size).
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropInteractV1">
<refmeta>
<refentrytitle><literal>kOfxParamPropInteractV1</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropInteractV1</literal></refname>
<refpurpose> Overrides the parameter's standard user interface with the given interact.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropInteractV1 "OfxParamPropInteractV1"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropInteractV1</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is NULL.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
must point to a OfxPluginEntryPoint
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Overrides the parameter's standard user interface with the given interact.
</para>
<para>
If set, the parameter's normal interface is replaced completely by the interact gui.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropInterpolationAmount">
<refmeta>
<refentrytitle><literal>kOfxParamPropInterpolationAmount</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropInterpolationAmount</literal></refname>
<refpurpose> Property used by <link linkend="OfxCustomParamInterpFuncV1"><code>OfxCustomParamInterpFuncV1</code></link> to indicate the amount of interpolation to perform</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropInterpolationAmount "OfxParamPropInterpolationAmount"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropInterpolationAmount</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the inArgs parameter of a <link linkend="OfxCustomParamInterpFuncV1"><code>OfxCustomParamInterpFuncV1</code></link> (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
from 0 to 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Property used by &lt;link linkend="OfxCustomParamInterpFuncV1"&gt;&lt;code&gt;OfxCustomParamInterpFuncV1&lt;/code&gt;&lt;/link&gt; to indicate the amount of interpolation to perform
</para>
<para>
This property indicates how far between the two <link linkend="kOfxParamPropCustomValue"><code>kOfxParamPropCustomValue</code></link> keys to interpolate.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropInterpolationTime">
<refmeta>
<refentrytitle><literal>kOfxParamPropInterpolationTime</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropInterpolationTime</literal></refname>
<refpurpose> Used by interpolating custom parameters to indicate the time a key occurs at.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropInterpolationTime "OfxParamPropInterpolationTime"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropInterpolationTime</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the inArgs parameter of a <link linkend="OfxCustomParamInterpFuncV1"><code>OfxCustomParamInterpFuncV1</code></link> (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Used by interpolating custom parameters to indicate the time a key occurs at.
</para>
<para>
The two values indicate the absolute times the surrounding keyframes occur at. The keyframes are encoded in a <link linkend="kOfxParamPropCustomValue"><code>kOfxParamPropCustomValue</code></link> property.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropIsAnimating">
<refmeta>
<refentrytitle><literal>kOfxParamPropIsAnimating</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropIsAnimating</literal></refname>
<refpurpose> Flags whether a parameter is currently animating.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropIsAnimating "OfxParamPropIsAnimating"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropIsAnimating</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Flags whether a parameter is currently animating.
</para>
<para>
Set by a host on a parameter instance to indicate if the parameter has a non-constant value set on it. This can
be as a consequence of animation or of scripting modifying the value, or of a parameter being connected to
an expression in the host.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropIsAutoKeying">
<refmeta>
<refentrytitle><literal>kOfxParamPropIsAutoKeying</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropIsAutoKeying</literal></refname>
<refpurpose> Will a value change on the parameter add automatic keyframes.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropIsAutoKeying "OfxParamPropIsAutoKeying"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropIsAutoKeying</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter instance (read only),.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Will a value change on the parameter add automatic keyframes.
</para>
<para>
This is set by the host simply to indicate the state of the property.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropMax">
<refmeta>
<refentrytitle><literal>kOfxParamPropMax</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropMax</literal></refname>
<refpurpose> The maximum value for a numeric parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropMax "OfxParamPropMax"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropMax</literal> is of type <type>int or double</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is the largest possible value corresponding to the parameter type (eg: INT_MAX for an integer, DBL_MAX for a double parameter).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The maximum value for a numeric parameter.
</para>
<para>
Setting this will also reset :;kOfxParamPropDisplayMax.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropMin">
<refmeta>
<refentrytitle><literal>kOfxParamPropMin</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropMin</literal></refname>
<refpurpose> The minimum value for a numeric parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropMin "OfxParamPropMin"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropMin</literal> is of type <type>int or double</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is the smallest possible value corresponding to the parameter type (eg: INT_MIN for an integer, -DBL_MAX for a double parameter).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The minimum value for a numeric parameter.
</para>
<para>
Setting this will also reset <link linkend="kOfxParamPropDisplayMin"><code>kOfxParamPropDisplayMin</code></link>.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropPageChild">
<refmeta>
<refentrytitle><literal>kOfxParamPropPageChild</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropPageChild</literal></refname>
<refpurpose> The names of the parameters included in a page parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropPageChild "OfxParamPropPageChild"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropPageChild</literal> is of type <type>C string</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "".
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
the names of any parameter that is not a group or page, as well as <code>kOfxParamPageSkipRow</code> and <code>kOfxParamPageSkipColumn</code>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The names of the parameters included in a page parameter.
</para>
<para>
This is a property on parameters of type <code>kOfxParamTypePage</code>, and tells the page what parameters it contains. The parameters are added to the page from the top left, filling in columns as we go. The two pseudo param names <code>kOfxParamPageSkipRow</code> and <code>kOfxParamPageSkipColumn</code> are used to control layout.
</para>
<para>
Note parameters can appear in more than one page.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropParametricDimension">
<refmeta>
<refentrytitle><literal>kOfxParamPropParametricDimension</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropParametricDimension</literal></refname>
<refpurpose> The dimension of a parametric param</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParametricParam.h"
#define kOfxParamPropParametricDimension "OfxParamPropParametricDimension"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropParametricDimension</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the parametric param descriptor (read/write) and instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The dimension of a parametric param

<itemizedlist>
  <listitem>default - 1</listitem>
  <listitem>Value Values - greater than 0</listitem>
</itemizedlist>
</para>
<para>
This indicates the dimension of the parametric param.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropParametricInteractBackground">
<refmeta>
<refentrytitle><literal>kOfxParamPropParametricInteractBackground</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropParametricInteractBackground</literal></refname>
<refpurpose> Interact entry point to draw the background of a parametric parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParametricParam.h"
#define kOfxParamPropParametricInteractBackground "OfxParamPropParametricInteractBackground"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropParametricInteractBackground</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plug-in parametric parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is NULL, which implies the host should draw its default background..
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Interact entry point to draw the background of a parametric parameter. 
</para>
<para>
Defines a pointer to an interact which will be used to draw the background of a parametric 
parameter's user interface.  None of the pen or keyboard actions can ever be called on the interact.
</para>
<para>
The openGL transform will be set so that it is an orthographic transform that maps directly to the
'parametric' space, so that 'x' represents the parametric position and 'y' represents the evaluated
value.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropParametricRange">
<refmeta>
<refentrytitle><literal>kOfxParamPropParametricRange</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropParametricRange</literal></refname>
<refpurpose> Property to indicate the min and max range of the parametric input value.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParametricParam.h"
#define kOfxParamPropParametricRange "OfxParamPropParametricRange"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropParametricRange</literal> is of type <type>double</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the parameter descriptor (read/write only), and instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
any pair of numbers so that  the first is less than the second.
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Property to indicate the min and max range of the parametric input value. 

<itemizedlist>
  <listitem>Default Value - (0, 1)</listitem>
</itemizedlist>
</para>
<para>
This controls the min and max values that the parameter will be evaluated at.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropParametricUIColour">
<refmeta>
<refentrytitle><literal>kOfxParamPropParametricUIColour</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropParametricUIColour</literal></refname>
<refpurpose> The colour of parametric param curve interface in any UI.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParametricParam.h"
#define kOfxParamPropParametricUIColour "OfxParamPropParametricUIColour"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropParametricUIColour</literal> is of type <type>double</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the parametric param descriptor (read/write) and instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The colour of parametric param curve interface in any UI.

<itemizedlist>
  <listitem>default - unset, </listitem>
  <listitem>Value Values - three values for each dimension (see <link linkend="kOfxParamPropParametricDimension"><code>kOfxParamPropParametricDimension</code></link>)</listitem>
</itemizedlist>
being interpretted as R, G and B of the colour for each curve drawn in the UI.
</para>
<para>
This sets the colour of a parametric param curve drawn a host user interface. A colour triple
is needed for each dimension of the oparametric param. 
</para>
<para>
If not set, the host should generally draw these in white.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropParent">
<refmeta>
<refentrytitle><literal>kOfxParamPropParent</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropParent</literal></refname>
<refpurpose> The name of a parameter's parent group.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropParent "OfxParamPropParent"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropParent</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "", which implies the "root" of the hierarchy,.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
the name of a parameter with type of <code>kOfxParamTypeGroup</code>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The name of a parameter's parent group.
</para>
<para>
Hosts that have hierarchical layouts of their params use this to recursively group parameter.
</para>
<para>
By default parameters are added in order of declaration to the 'root' hierarchy. This property is used to reparent params to a predefined param of type <code>kOfxParamTypeGroup</code>.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropPersistant">
<refmeta>
<refentrytitle><literal>kOfxParamPropPersistant</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropPersistant</literal></refname>
<refpurpose> Flags whether the value of a parameter should persist.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropPersistant "OfxParamPropPersistant"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropPersistant</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Flags whether the value of a parameter should persist.
</para>
<para>
This is used to tell the host whether the value of the parameter is important and should be save in any description of the plug-in.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropPluginMayWrite">
<refmeta>
<refentrytitle><literal>kOfxParamPropPluginMayWrite</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropPluginMayWrite</literal></refname>
<refpurpose> Flags whether the plugin will attempt to set the value of a parameter in some callback or analysis pass</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropPluginMayWrite "OfxParamPropPluginMayWrite"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropPluginMayWrite</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Flags whether the plugin will attempt to set the value of a parameter in some callback or analysis pass
</para>
<para>
This is used to tell the host whether the plug-in is going to attempt to set the value of the parameter.
</para>
<para>
@deprecated - v1.4: deprecated - to be removed in 1.5
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropScriptName">
<refmeta>
<refentrytitle><literal>kOfxParamPropScriptName</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropScriptName</literal></refname>
<refpurpose> The value to be used as the id of the parameter in a host scripting language.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropScriptName "OfxParamPropScriptName"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropScriptName</literal> is of type <type>ASCII C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is the unique name the parameter was created with..
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
ASCII string unique to all parameters in the plug-in.
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
The value to be used as the id of the parameter in a host scripting language.
</para>
<para>
Many hosts have a scripting language that they use to set values of parameters and more. If so, this is the name of a parameter in such scripts.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropSecret">
<refmeta>
<refentrytitle><literal>kOfxParamPropSecret</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropSecret</literal></refname>
<refpurpose> Flags whether a parameter should be exposed to a user,</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropSecret "OfxParamPropSecret"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropSecret</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Flags whether a parameter should be exposed to a user,
</para>
<para>
If secret, a parameter is not exposed to a user in any interface, but should otherwise behave as a normal parameter.
</para>
<para>
Secret params are typically used to hide important state detail that would otherwise be unintelligible to a user, for example the result of a statical analysis that might need many parameters to store.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropShowTimeMarker">
<refmeta>
<refentrytitle><literal>kOfxParamPropShowTimeMarker</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropShowTimeMarker</literal></refname>
<refpurpose> Enables the display of a time marker on the host's time line to indicate the value of the absolute time param.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropShowTimeMarker "OfxParamPropShowTimeMarker"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropShowTimeMarker</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Enables the display of a time marker on the host's time line to indicate the value of the absolute time param.
</para>
<para>
If a double parameter is has <link linkend="kOfxParamPropDoubleType"><code>kOfxParamPropDoubleType</code></link> set to <code>kOfxParamDoubleTypeAbsoluteTime</code>, then this indicates whether 
any marker should be made visible on the host's time line.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropStringFilePathExists">
<refmeta>
<refentrytitle><literal>kOfxParamPropStringFilePathExists</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropStringFilePathExists</literal></refname>
<refpurpose> Indicates string parameters of file or directory type need that file to exist already.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropStringFilePathExists    "OfxParamPropStringFilePathExists"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropStringFilePathExists</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin string parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 1.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates string parameters of file or directory type need that file to exist already.
</para>
<para>
If set to 0, it implies the user can specify a new file name, not just a pre-existing one.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropStringMode">
<refmeta>
<refentrytitle><literal>kOfxParamPropStringMode</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropStringMode</literal></refname>
<refpurpose> Used to indicate the type of a string parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropStringMode "OfxParamPropStringMode"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropStringMode</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin string parameter descriptor (read/write) and instance (read only),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is <code>kOfxParamStringIsSingleLine</code>.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
This must be one of the following

<itemizedlist>
  <listitem><code>kOfxParamStringIsSingleLine</code></listitem>
  <listitem><code>kOfxParamStringIsMultiLine</code></listitem>
  <listitem><code>kOfxParamStringIsFilePath</code></listitem>
  <listitem><code>kOfxParamStringIsDirectoryPath</code></listitem>
  <listitem><code>kOfxParamStringIsLabel</code></listitem>
  <listitem><link linkend="kOfxParamStringIsRichTextFormat"><code>kOfxParamStringIsRichTextFormat</code></link></listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Used to indicate the type of a string parameter.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropType">
<refmeta>
<refentrytitle><literal>kOfxParamPropType</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropType</literal></refname>
<refpurpose> The type of a parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropType "OfxParamPropType"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropType</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read only) and instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The type of a parameter.
</para>
<para>
This string will be set to the type that the parameter was create with.
</para>

</refsect2>
</refentry>

<refentry id="kOfxParamPropUseHostOverlayHandle">
<refmeta>
<refentrytitle><literal>kOfxParamPropUseHostOverlayHandle</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxParamPropUseHostOverlayHandle</literal></refname>
<refpurpose> A flag to indicate that the host should use a native UI overlay handle for the given parameter.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxParamPropUseHostOverlayHandle "kOfxParamPropUseHostOverlayHandle"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxParamPropUseHostOverlayHandle</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write only) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
A flag to indicate that the host should use a native UI overlay handle for the given parameter.
</para>
<para>
If set to 1, then a plugin is flaging to the host that the host should use a native UI overlay handle for the given parameter. A plugin can use this to keep a native look and feel for parameter handles. A plugin can use <link linkend="kOfxParamPropHasHostOverlayHandle"><code>kOfxParamPropHasHostOverlayHandle</code></link> to see if handles are available on the given parameter.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPluginPropFilePath">
<refmeta>
<refentrytitle><literal>kOfxPluginPropFilePath</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPluginPropFilePath</literal></refname>
<refpurpose> The file path to the plugin.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPluginPropFilePath "OfxPluginPropFilePath"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPluginPropFilePath</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the effect descriptor (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
The file path to the plugin.
</para>
<para>
This is a string that indicates the file path where the plug-in was found by the host. The path is in the native
path format for the host OS (eg:  UNIX directory separators are forward slashes, Windows ones are backslashes).
</para>
<para>
The path is to the bundle location, see <link linkend="InstallationLocation">InstallationLocation</link>.
eg:  '/usr/OFX/Plugins/AcmePlugins/AcmeFantasticPlugin.ofx.bundle'
</para>

</refsect2>
</refentry>

<refentry id="kOfxPluginPropParamPageOrder">
<refmeta>
<refentrytitle><literal>kOfxPluginPropParamPageOrder</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPluginPropParamPageOrder</literal></refname>
<refpurpose> Sets the parameter pages and order of pages.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxPluginPropParamPageOrder "OfxPluginPropParamPageOrder"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPluginPropParamPageOrder</literal> is of type <type>C string</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin parameter descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "".
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
the names of any page param in the plugin
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Sets the parameter pages and order of pages.
</para>
<para>
This property sets the preferred order of parameter pages on a host. If this is never set, the preferred order is the order the parameters were declared in.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropAPIVersion">
<refmeta>
<refentrytitle><literal>kOfxPropAPIVersion</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropAPIVersion</literal></refname>
<refpurpose> Property on the host descriptor, saying what API version of the API is being implemented</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropAPIVersion "OfxPropAPIVersion"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropAPIVersion</literal> is of type <type>int</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor..
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Property on the host descriptor, saying what API version of the API is being implemented
</para>
<para>
This is a version string that will specify which version of the API is being implemented by a host. It
can have multiple values. For example "1.0", "1.2.4" etc.....
</para>
<para>
If this is not present, it is safe to assume that the version of the API is "1.0".
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropChangeReason">
<refmeta>
<refentrytitle><literal>kOfxPropChangeReason</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropChangeReason</literal></refname>
<refpurpose> Indicates why a plug-in changed.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropChangeReason "OfxPropChangeReason"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropChangeReason</literal> is of type <type>ASCII C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the inArgs parameter on the <link linkend="kOfxActionInstanceChanged"><code>kOfxActionInstanceChanged</code></link> action..
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
this can be...

<itemizedlist>
  <listitem><code>kOfxChangeUserEdited</code> - the user directly edited the instance somehow and caused a change to something, this includes undo/redos and resets</listitem>
  <listitem><code>kOfxChangePluginEdited</code> - the plug-in itself has changed the value of the object in some action</listitem>
  <listitem><code>kOfxChangeTime</code> - the time has changed and this has affected the value of the object because it varies over time</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates why a plug-in changed.
</para>
<para>
Argument property for the <link linkend="kOfxActionInstanceChanged"><code>kOfxActionInstanceChanged</code></link> action.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropEffectInstance">
<refmeta>
<refentrytitle><literal>kOfxPropEffectInstance</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropEffectInstance</literal></refname>
<refpurpose> A pointer to an effect instance.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropEffectInstance "OfxPropEffectInstance"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropEffectInstance</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the on an interact instance (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
A pointer to an effect instance.
</para>
<para>
This property is used to link an object to the effect. For example if the plug-in supplies an openGL overlay for an image effect,
the interact instance will have one of these so that the plug-in can connect back to the effect the GUI links to.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropHostOSHandle">
<refmeta>
<refentrytitle><literal>kOfxPropHostOSHandle</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropHostOSHandle</literal></refname>
<refpurpose> A pointer to an operating system specific application handle.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropHostOSHandle "OfxPropHostOSHandle"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropHostOSHandle</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor..
</para> </refsect2>


<refsect2><title>Description</title>
<para>
A pointer to an operating system specific application handle.
</para>
<para>
Some plug-in vendor want raw OS specific handles back from the host so they can do interesting things with host OS APIs. Typically this is to control windowing properly on Microsoft Windows. This property returns the appropriate 'root' window handle on the current operating system. So on Windows this would be the hWnd of the application main window.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropIcon">
<refmeta>
<refentrytitle><literal>kOfxPropIcon</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropIcon</literal></refname>
<refpurpose> If set this tells the host to use an icon instead of a label for some object in the interface.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropIcon "OfxPropIcon"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropIcon</literal> is of type <type>string</type>, and has 2 dimensions.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the various descriptors in the API.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "".
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
ASCII string
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
If set this tells the host to use an icon instead of a label for some object in the interface.
</para>
<para>
The value is a path is defined relative to the Resource folder that points to an SVG or PNG file containing the icon.
</para>
<para>
The first dimension, if set, will the name of and SVG file, the second a PNG file.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropInstanceData">
<refmeta>
<refentrytitle><literal>kOfxPropInstanceData</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropInstanceData</literal></refname>
<refpurpose>  A private data pointer that the plug-in can store its own data behind.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropInstanceData "OfxPropInstanceData"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropInstanceData</literal> is of type <type>pointer</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin instance (read/write),.
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is NULL.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
A private data pointer that the plug-in can store its own data behind.
</para>
<para>
This data pointer is unique to each plug-in instance, so two instances of the same plug-in do not share the same data pointer. Use it to hang any needed private data structures.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropIsInteractive">
<refmeta>
<refentrytitle><literal>kOfxPropIsInteractive</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropIsInteractive</literal></refname>
<refpurpose> Indicates if a host is actively editing the effect with some GUI.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropIsInteractive "OfxPropIsInteractive"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropIsInteractive</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the effect instance (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
0 or 1
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Indicates if a host is actively editing the effect with some GUI.
</para>
<para>
If false the effect currently has no interface, however this may be because the effect is loaded in a background render host, or it may be loaded on an interactive host that has not yet opened an editor for the effect.
</para>
<para>
The output of an effect should only ever depend on the state of its parameters, not on the interactive flag. The interactive flag is more a courtesy flag to let a plugin know that it has an interace. If a plugin want's to have its behaviour dependant on the interactive flag, it can always make a secret parameter which shadows the state if the flag.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropKeyString">
<refmeta>
<refentrytitle><literal>kOfxPropKeyString</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropKeyString</literal></refname>
<refpurpose> This property encodes a single keypresses that generates a unicode code point. The value is stored as a UTF8 string. </refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxKeySyms.h"
#define kOfxPropKeyString "kOfxPropKeyString"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropKeyString</literal> is of type <type>C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the an read only in argument for the actions <link linkend="kOfxInteractActionKeyDown"><code>kOfxInteractActionKeyDown</code></link>, <link linkend="kOfxInteractActionKeyUp"><code>kOfxInteractActionKeyUp</code></link> and <link linkend="kOfxInteractActionKeyRepeat"><code>kOfxInteractActionKeyRepeat</code></link>..
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
a UTF8 string representing a single character, or the empty string.
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
This property encodes a single keypresses that generates a unicode code point. The value is stored as a UTF8 string. 
</para>
<para>
This property represents the UTF8 encode value of a single key press by a user in an OFX interact.
</para>
<para>
This property is associated with a <code>kOfxPropKeySym</code> which represents an integer value for the key press. Some keys (for example arrow keys) have no UTF8 equivalant, 
in which case this is set to the empty string "", and the associate <code>kOfxPropKeySym</code> is set to the equivilant raw key press.
</para>
<para>
Some keys, especially on non-english language systems, may have a UTF8 value, but <emphasis> m</emphasis> not a keysym values, in these
cases, the keysym will have a value of kOfxKey_Unknown, but the <code>kOfxPropKeyString</code> property will still be set with
the UTF8 value.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropKeySym">
<refmeta>
<refentrytitle><literal>kOfxPropKeySym</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropKeySym</literal></refname>
<refpurpose> Property used to indicate which a key on the keyboard or a button on a button device has been pressed</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxKeySyms.h"
#define kOfxPropKeySym "kOfxPropKeySym"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropKeySym</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the an read only in argument for the actions <link linkend="kOfxInteractActionKeyDown"><code>kOfxInteractActionKeyDown</code></link>, <link linkend="kOfxInteractActionKeyUp"><code>kOfxInteractActionKeyUp</code></link> and <link linkend="kOfxInteractActionKeyRepeat"><code>kOfxInteractActionKeyRepeat</code></link>..
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
one of any specified by #defines in the file ofxKeySyms.h.
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Property used to indicate which a key on the keyboard or a button on a button device has been pressed
</para>
<para>
This property represents a raw key press, it does not represent the 'character value' of the key. 
</para>
<para>
This property is associated with a <code>kOfxPropKeyString</code> property, which encodes the UTF8
value for the keypress/button press. Some keys (for example arrow keys) have no UTF8 equivalant.
</para>
<para>
Some keys, especially on non-english language systems, may have a UTF8 value, but <emphasis> m</emphasis> not a keysym values, in these
cases, the keysym will have a value of kOfxKey_Unknown, but the <code>kOfxPropKeyString</code> property will still be set with
the UTF8 value.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropLabel">
<refmeta>
<refentrytitle><literal>kOfxPropLabel</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropLabel</literal></refname>
<refpurpose> User visible name of an object.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropLabel "OfxPropLabel"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropLabel</literal> is of type <type>UTF8 C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the on many objects (descriptors and instances), see <link linkend="PropertiesByObject">PropertiesByObject</link>. Typically readable and writable in most cases..
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is the <link linkend="kOfxPropName"><code>kOfxPropName</code></link> the object was created with..
</para> </refsect2>


<refsect2><title>Description</title>
<para>
User visible name of an object.
</para>
<para>
The label is what a user sees on any interface in place of the object's name.
</para>
<para>
Note that resetting this will also reset <link linkend="kOfxPropShortLabel"><code>kOfxPropShortLabel</code></link> and <link linkend="kOfxPropLongLabel"><code>kOfxPropLongLabel</code></link>.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropLongLabel">
<refmeta>
<refentrytitle><literal>kOfxPropLongLabel</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropLongLabel</literal></refname>
<refpurpose> Long user visible name of an object.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropLongLabel "OfxPropLongLabel"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropLongLabel</literal> is of type <type>UTF8 C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the on many objects (descriptors and instances), see <link linkend="PropertiesByObject">PropertiesByObject</link>. Typically readable and writable in most cases..
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is initially <link linkend="kOfxPropName"><code>kOfxPropName</code></link>, but will be reset if <link linkend="kOfxPropLabel"><code>kOfxPropLabel</code></link> is changed..
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Long user visible name of an object.
</para>
<para>
This is a longer version of the label, typically 32 character glyphs or so. Hosts should use this if they have mucg display space for their object labels.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropName">
<refmeta>
<refentrytitle><literal>kOfxPropName</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropName</literal></refname>
<refpurpose> Unique name of an object.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropName "OfxPropName"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropName</literal> is of type <type>ASCII C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the on many objects (descriptors and instances), see <link linkend="PropertiesByObject">PropertiesByObject</link> (read only).
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Unique name of an object.
</para>
<para>
This property is used to label objects uniquely amoung objects of that type. It is typically set when a plugin creates a new object with a function that takes a name.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropParamSetNeedsSyncing">
<refmeta>
<refentrytitle><literal>kOfxPropParamSetNeedsSyncing</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropParamSetNeedsSyncing</literal></refname>
<refpurpose> States whether the plugin needs to resync its private data</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxParam.h"
#define kOfxPropParamSetNeedsSyncing "OfxPropParamSetNeedsSyncing"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropParamSetNeedsSyncing</literal> is of type <type>int</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the param set instance (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>

<itemizedlist>
  <listitem>0 - no need to sync</listitem>
  <listitem>1 - paramset is not synced</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
States whether the plugin needs to resync its private data
</para>
<para>
The plugin should set this flag to true whenever any internal state has not
been flushed to the set of params.
</para>
<para>
The host will examine this property each time it does a copy or save
operation on the instance.
If it is set to 1, the host will call SyncPrivateData and then set
it to zero before doing the copy/save.
If it is set to 0, the host will assume that the param data
correctly represents the private state, and will not call
SyncPrivateData before copying/saving.
If this property is not set, the host will always call
SyncPrivateData before copying or saving the effect (as if the
property were set to 1 -- but the host will not create or
modify the property).
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropPluginDescription">
<refmeta>
<refentrytitle><literal>kOfxPropPluginDescription</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropPluginDescription</literal></refname>
<refpurpose> Description of the plug-in to a user.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropPluginDescription "OfxPropPluginDescription"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropPluginDescription</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the plugin descriptor (read/write) and instance (read only).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "".
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
UTF8 string
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Description of the plug-in to a user.
</para>
<para>
This is a string giving a potentially verbose description of the effect.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropShortLabel">
<refmeta>
<refentrytitle><literal>kOfxPropShortLabel</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropShortLabel</literal></refname>
<refpurpose> Short user visible name of an object.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropShortLabel "OfxPropShortLabel"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropShortLabel</literal> is of type <type>UTF8 C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the on many objects (descriptors and instances), see <link linkend="PropertiesByObject">PropertiesByObject</link>. Typically readable and writable in most cases..
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is initially <link linkend="kOfxPropName"><code>kOfxPropName</code></link>, but will be reset if <link linkend="kOfxPropLabel"><code>kOfxPropLabel</code></link> is changed..
</para> </refsect2>


<refsect2><title>Description</title>
<para>
Short user visible name of an object.
</para>
<para>
This is a shorter version of the label, typically 13 character glyphs or less. Hosts should use this if they have limitted display space for their object labels.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropTime">
<refmeta>
<refentrytitle><literal>kOfxPropTime</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropTime</literal></refname>
<refpurpose> General property used to get/set the time of something.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropTime "OfxPropTime"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropTime</literal> is of type <type>double</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the commonly used as an argument to actions, input and output..
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is 0, if a setable property.
</para> </refsect2>


<refsect2><title>Description</title>
<para>
General property used to get/set the time of something.
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropType">
<refmeta>
<refentrytitle><literal>kOfxPropType</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropType</literal></refname>
<refpurpose> General property, used to identify the kind of an object behind a handle</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropType "OfxPropType"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropType</literal> is of type <type>ASCII C string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the any object handle (read only).
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
currently this can be...

<itemizedlist>
  <listitem><code>kOfxTypeImageEffectHost</code></listitem>
  <listitem><code>kOfxTypeImageEffect</code></listitem>
  <listitem><code>kOfxTypeImageEffectInstance</code></listitem>
  <listitem><code>kOfxTypeParameter</code></listitem>
  <listitem><code>kOfxTypeParameterInstance</code></listitem>
  <listitem><code>kOfxTypeClip</code></listitem>
  <listitem><code>kOfxTypeImage</code></listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
General property, used to identify the kind of an object behind a handle
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropVersion">
<refmeta>
<refentrytitle><literal>kOfxPropVersion</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropVersion</literal></refname>
<refpurpose> Identifies a specific version of a host or plugin.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropVersion "OfxPropVersion"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropVersion</literal> is of type <type>int</type>, and is of variable dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only), plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is "0".
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
positive integers
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Identifies a specific version of a host or plugin.
</para>
<para>
This is a multi dimensional integer property that represents the version of a host (host descriptor), or plugin (plugin descriptor). These represent a version number of the form '1.2.3.4', with each dimension adding another 'dot' on the right.
</para>
<para>
A version is considered to be more recent than another if its ordered set of values is lexicographically greater than another, reading left to right. (ie: 1.2.4 is smaller than 1.2.6). Also, if the number of dimensions is different, then the values of the missing dimensions are considered to be zero (so 1.2.4 is greater than 1.2).
</para>

</refsect2>
</refentry>

<refentry id="kOfxPropVersionLabel">
<refmeta>
<refentrytitle><literal>kOfxPropVersionLabel</literal></refentrytitle>
</refmeta>
<refnamediv>
<refname><literal>kOfxPropVersionLabel</literal></refname>
<refpurpose> Unique user readable version string of a plugin or host.</refpurpose>
</refnamediv>
<refsynopsisdiv><blockquote><programlisting>
#include "/ofxCore.h"
#define kOfxPropVersionLabel "OfxPropVersionLabel"
</programlisting></blockquote></refsynopsisdiv>
<refsect2><title>Type</title>
<para>
<literal>kOfxPropVersionLabel</literal> is of type <type>string</type>, and has only a single dimension.
</para>  </refsect2>
<refsect2><title>Property Set</title>
<para> This is a property that belongs to the host descriptor (read only), plugin descriptor (read/write).
</para> </refsect2>
<refsect2><title>Default</title> <para>
The default value is none, the host needs to set this.
</para> </refsect2>

<refsect2><title>Valid Values</title>
<para>
ASCII string
</para>

</refsect2>

<refsect2><title>Description</title>
<para>
Unique user readable version string of a plugin or host.
</para>
<para>
This is purely for user feedback, a plugin or host should use <link linkend="kOfxPropVersion"><code>kOfxPropVersion</code></link> if they need
to check for specific versions.
</para>

</refsect2>
</refentry>
