The Generic Begin/End Instance Changed Actions

	#include "ofxCore.h"
	#define kOfxActionBeginInstanceChanged "OfxActionBeginInstanceChanged" 
	#define kOfxActionEndInstanceChanged "OfxActionEndInstanceChanged" 

  • handle handle to the plug-in instance, cast to an OfxImageEffectHandle
  • inArgs has the following properties...
    • kOfxPropChangeReason - what triggered the change, which will be one of...
      • kOfxChangeUserEdited - the user or host changed the instance somehow and caused a change to something, this includes undo/redos, resets and loading values from files or presets,
      • kOfxChangePluginEdited - the plugin itself has changed the value of the instance in some action
      • kOfxChangeTime - the time has changed and this has affected the value of the object because it varies over time
  • outArgs is redundant and is set to NULL.


kOfxActionBeginInstanceChanged and kOfxActionEndInstanceChanged are used to bracket all kOfxActionInstanceChanged actions, whether a single change or multiple changes. Some changes to a plugin instance can be grouped logically (eg: a 'reset all' button resetting all the instance's parameters), the begin/end instance changed actions allow a plugin to respond appropriately to a large set of changes. For example, a plugin that maintains a complex internal state can delay any changes to that state until all parameter changes have completed.


For kOfxActionBeginInstanceChanged,

  • kOfxActionCreateInstance has been called on the instance handle.

For kOfxActionEndInstanceChanged,

  • kOfxActionBeginInstanceChanged has been called on the instance handle.
  • kOfxActionCreateInstance has been called on the instance handle.


For kOfxActionBeginInstanceChanged,

  • kOfxActionInstanceChanged will be called at least once on the instance handle.
  • kOfxActionEndInstanceChanged will be called on the instance handle.

Return Values

  • kOfxStatOK, the action was trapped and all was well
  • kOfxStatReplyDefault, the action was ignored
  • kOfxStatErrFatal,
  • kOfxStatFailed, something went wrong, but no error code appropriate, the plugin should to post a message