| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

- File List
- File Members

Loading...
Searching...
No Matches
AAX_Callbacks.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2014-2017, 2023-2024 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * This file is part of the Avid AAX SDK.
8 *
9 * The AAX SDK is subject to commercial or open-source licensing.
10 *
11 * By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
12 * Agreement and Avid Privacy Policy.
13 *
14 * AAX SDK License: https://developer.avid.com/aax
15 * Privacy Policy: https://www.avid.com/legal/privacy-policy-statement
16 *
17 * Or: You may also use this code under the terms of the GPL v3 (see
18 * www.gnu.org/licenses).
19 *
20 * THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
21 * EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
22 * DISCLAIMED.
23 *
24 */
25
32/*================================================================================================*/
33
34
36#ifndef AAX_CALLBACKS_H_
37#define AAX_CALLBACKS_H_
39
40#include "AAX.h"
41
42// Callback IDs
43 enum AAX_CProcPtrID
44{
45 kAAX_ProcPtrID_Create_EffectParameters = 0,
46 kAAX_ProcPtrID_Create_EffectGUI = 1,
47 kAAX_ProcPtrID_Create_HostProcessor = 3,
48 kAAX_ProcPtrID_Create_EffectDirectData = 5,
49 kAAX_ProcPtrID_Create_TaskAgent = 6,
50 kAAX_ProcPtrID_Create_SessionDocumentClient = 7
51};
52
53 class IACFUnknown;
54
55 typedef IACFUnknown* (AAX_CALLBACK *AAXCreateObjectProc)(void);
56
57
61 template <typename aContextType>
62 class AAX_Component
63{
64 public:
65
66 typedef void
67 (AAX_CALLBACK *CProcessProc) (
68 aContextType * const inContextPtrsBegin [],
69 const void * inContextPtrsEnd);
70
71 typedef void *
72 (AAX_CALLBACK *CPacketAllocator) (
73 const aContextType * inContextPtr,
74 AAX_CFieldIndex inOutputPort,
75 AAX_CTimestamp inTimestamp);
76
77 typedef int32_t
78 (AAX_CALLBACK *CInstanceInitProc) (
79 const aContextType * inInstanceContextPtr,
80 AAX_EComponentInstanceInitAction iAction );
81
82 typedef int32_t
83 (AAX_CALLBACK *CBackgroundProc) ( void );
84
85 typedef void
86 (AAX_CALLBACK *CInitPrivateDataProc) (
87 AAX_CFieldIndex inFieldIndex,
88 void * inNewBlock,
89 int32_t inSize,
90 IACFUnknown * const inController);
91
92};
93
114 typedef AAX_Component <void>::CProcessProc AAX_CProcessProc;
115
128 typedef AAX_Component <void>::CPacketAllocator AAX_CPacketAllocator;
129
150 typedef AAX_Component <void>::CInstanceInitProc AAX_CInstanceInitProc;
151
161 typedef AAX_Component <void>::CBackgroundProc AAX_CBackgroundProc;
162
204 typedef AAX_Component <void>::CInitPrivateDataProc AAX_CInitPrivateDataProc;
205
207#endif // AAX_CALLBACKS_H_
AAX_EComponentInstanceInitAction
AAX_EComponentInstanceInitAction
Selector indicating the action that occurred to prompt a component initialization callback.
Definition: AAX_Enums.h:860
AAX.h
Various utility definitions for AAX.
AAX_CALLBACK
#define AAX_CALLBACK
Definition: AAX.h:295
AAX_CTimestamp
int64_t AAX_CTimestamp
Time stamp value. Measured against the DAE clock (see AAX_IComponentDescriptor::AddClock() )
Definition: AAX.h:341
AAX_CFieldIndex
AAX_CIndex AAX_CFieldIndex
Not used by AAX plug-ins (except in AAX_FIELD_INDEX macro)
Definition: AAX.h:359
AAX_CInstanceInitProc
AAX_Component< void >::CInstanceInitProc AAX_CInstanceInitProc
A user-defined callback that AAX calls to notify the component that an instance is being added or rem...
Definition: AAX_Callbacks.h:150
AAX_CPacketAllocator
AAX_Component< void >::CPacketAllocator AAX_CPacketAllocator
Used by AAX_SchedulePacket()
Definition: AAX_Callbacks.h:128
AAXCreateObjectProc
IACFUnknown *(AAX_CALLBACK * AAXCreateObjectProc)(void)
Definition: AAX_Callbacks.h:55
AAX_CBackgroundProc
AAX_Component< void >::CBackgroundProc AAX_CBackgroundProc
A user-defined callback that AAX calls in the AAX Idle time.
Definition: AAX_Callbacks.h:161
AAX_CProcessProc
AAX_Component< void >::CProcessProc AAX_CProcessProc
A user-defined callback that AAX calls to process data packets and/or audio.
Definition: AAX_Callbacks.h:114
AAX_CInitPrivateDataProc
AAX_Component< void >::CInitPrivateDataProc AAX_CInitPrivateDataProc
A user-defined callback to initialize a private data block.
Definition: AAX_Callbacks.h:204
AAX_CProcPtrID
AAX_CProcPtrID
Definition: AAX_Callbacks.h:44
kAAX_ProcPtrID_Create_HostProcessor
@ kAAX_ProcPtrID_Create_HostProcessor
AAX_IHostProcessor creation procedure
Definition: AAX_Callbacks.h:47
kAAX_ProcPtrID_Create_EffectGUI
@ kAAX_ProcPtrID_Create_EffectGUI
AAX_IEffectGUI creation procedure
Definition: AAX_Callbacks.h:46
kAAX_ProcPtrID_Create_EffectDirectData
@ kAAX_ProcPtrID_Create_EffectDirectData
AAX_IEffectDirectData creation procedure, used by plug-ins that want direct access to their alg memor...
Definition: AAX_Callbacks.h:48
kAAX_ProcPtrID_Create_EffectParameters
@ kAAX_ProcPtrID_Create_EffectParameters
AAX_IEffectParameters creation procedure
Definition: AAX_Callbacks.h:45
kAAX_ProcPtrID_Create_SessionDocumentClient
@ kAAX_ProcPtrID_Create_SessionDocumentClient
AAX_ISessionDocumentClient creation procedure
Definition: AAX_Callbacks.h:50
kAAX_ProcPtrID_Create_TaskAgent
@ kAAX_ProcPtrID_Create_TaskAgent
AAX_ITaskAgent creation procedure, used by plug-ins that want to process task requests made by the ho...
Definition: AAX_Callbacks.h:49
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:265
AAX_Component
Empty class containing type declarations for the AAX algorithm and associated callbacks.
Definition: AAX_Callbacks.h:63
AAX_Component::CInitPrivateDataProc
void(AAX_CALLBACK * CInitPrivateDataProc)(AAX_CFieldIndex inFieldIndex, void *inNewBlock, int32_t inSize, IACFUnknown *const inController)
Definition: AAX_Callbacks.h:86
AAX_Component::CBackgroundProc
int32_t(AAX_CALLBACK * CBackgroundProc)(void)
Definition: AAX_Callbacks.h:83
AAX_Component::CPacketAllocator
void *(AAX_CALLBACK * CPacketAllocator)(const aContextType *inContextPtr, AAX_CFieldIndex inOutputPort, AAX_CTimestamp inTimestamp)
Definition: AAX_Callbacks.h:72
AAX_Component::CProcessProc
void(AAX_CALLBACK * CProcessProc)(aContextType *const inContextPtrsBegin[], const void *inContextPtrsEnd)
Definition: AAX_Callbacks.h:67
AAX_Component::CInstanceInitProc
int32_t(AAX_CALLBACK * CInstanceInitProc)(const aContextType *inInstanceContextPtr, AAX_EComponentInstanceInitAction iAction)
Definition: AAX_Callbacks.h:78