![]() |
AAX SDK 2.8.0
Avid Audio Extensions Development Kit
|
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.
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.
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 } |
|
strong |
Completion status for use with AAX_ITask::SetDone()
| Enumerator | |
|---|---|
| None | |
| Done | |
| Canceled | |
| Error | |
1.9.6