AAX SDK 2.8.0
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
Classes | Enumerations

A mechanism for hosts to request that plug-ins perform tasks.

This interface represents an optional component that you can add to your plug-in in order to support extended features of the AAX SDK.

Host Compatibility Notes:
This interface is not yet used in any AAX hosts

The plug-in implements an AAX_ITaskAgent, which is used by the host to add or cancel tasks.

The host implements AAX_IACFTask for task objects representing each task that it wants the plug-in to perform.

To request a task, the host adds a task object to the plug-in's task agent interface.

The type of each task is identified with a four-char ID. If additional arbitrary data is necessary to describe the task it is provided via data buffers.

The plug-in checks this data to understand what work needs to be done, then performs the task. The task may be, and usually is, executed asynchronously. The plug-in optionally updates the task progress as it proceedds, then calls AAX_ITask::SetDone() when the work is completed. If the task involves returning data back to the host, the plug-in first calls AAX_ITask::AddResult() one or more times to provide the data via data buffers.

To be available as a task agent, the plug-in's task agent implementation must be registered with the host in the plug-in's Description callback like other process pointers. To add this interface to your plug-in at describe time, call AAX_IEffectDescriptor::AddProcPtr() using the kAAX_ProcPtrID_Create_TaskAgent selector.

Communicating with other modules

Like other modules, the task agent interface is provided with a reference to the plug-in's AAX_IEffectDirectData object at initialization. In order to transfer data between a plug-in's AAX_IEffectDirectData object and its other objects, dedicated custom data methods in those objects' interfaces should be used. For example, to communicate with the plug-in's data model, use AAX_IEffectParameters::GetCustomData() and AAX_IEffectParameters::SetCustomData() .

Classes

class  AAX_CTaskAgent
 Default implementation of the AAX_ITaskAgent interface. More...
 
class  AAX_IACFTask
 Versioned interface for an asynchronous task. More...
 
class  AAX_IACFTaskAgent
 Versioned interface for a component that accepts task requests. More...
 
class  AAX_ITask
 Interface representing a request to perform a task. More...
 
class  AAX_ITaskAgent
 Interface for a component that accepts task requests. More...
 

Enumerations

enum class  AAX_TaskCompletionStatus : int32_t {
  AAX_TaskCompletionStatus::None = 0 ,
  AAX_TaskCompletionStatus::Done = 1 ,
  AAX_TaskCompletionStatus::Canceled = 2 ,
  AAX_TaskCompletionStatus::Error = 3
}
 

Enumeration Type Documentation

◆ AAX_TaskCompletionStatus

enum class AAX_TaskCompletionStatus : int32_t
strong

Completion status for use with AAX_ITask::SetDone()

Enumerator
None 
Done 
Canceled 
Error 
Collaboration diagram for Task agent interface: