AAX SDK 2.6.1
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
AAX_CSessionDocumentClient.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2023 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * CONFIDENTIAL: this document contains confidential information of Avid. Do
8 * not disclose to any third party. Use of the information contained in this
9 * document is subject to an Avid SDK license.
10 *
11 */
12
16/*================================================================================================*/
17
18#pragma once
19#ifndef AAX_CSessionDocumentClient_H
20#define AAX_CSessionDocumentClient_H
21
23#include <memory>
24
25#ifdef __clang__
26#pragma clang diagnostic push
27#pragma clang diagnostic ignored "-Wunused-parameter"
28#endif
29
30class AAX_IController;
34
35
39{
40public:
41
44
45public:
46
59
68
75 AAX_Result NotificationReceived(/* AAX_ENotificationEvent */ AAX_CTypeID /*inNotificationType*/, const void * /*inNotificationData*/, uint32_t /*inNotificationDataSize*/) AAX_OVERRIDE { return AAX_SUCCESS; }
77
78protected:
79
102
111 const AAX_IController* GetController (void) const;
112
119
124 std::shared_ptr<AAX_ISessionDocument> GetSessionDocument (void);
125 std::shared_ptr<const AAX_ISessionDocument> GetSessionDocument (void) const;
127
128private:
129 void ClearInternalState();
130
131 //These are private, but they all have protected accessors.
132 AAX_UNIQUE_PTR(AAX_IController) mController;
133 AAX_IEffectParameters * mEffectParameters;
134 std::shared_ptr<AAX_VSessionDocument> mSessionDocument;
135};
136
137#ifdef __clang__
138#pragma clang diagnostic pop
139#endif
140
141#endif // AAX_CSessionDocumentClient
@ AAX_SUCCESS
Definition: AAX_Errors.h:36
#define AAX_UNIQUE_PTR(X)
Definition: AAX.h:163
int32_t AAX_Result
Definition: AAX.h:334
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:151
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:333
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:252
Default implementation of the AAX_ISessionDocumentClient interface.
Definition: AAX_CSessionDocumentClient.h:39
virtual AAX_Result SessionDocumentWillChange()
The session document interface is about to be added, replaced, or removed.
Definition: AAX_CSessionDocumentClient.h:91
AAX_Result Initialize(IACFUnknown *iUnknown) AAX_OVERRIDE
AAX_Result Uninitialize(void) AAX_OVERRIDE
AAX_IEffectParameters * GetEffectParameters(void)
Retrieves a reference to the plug-in's data model interface.
~AAX_CSessionDocumentClient(void) AAX_OVERRIDE
const AAX_IEffectParameters * GetEffectParameters(void) const
Retrieves a reference to the plug-in's data model interface.
std::shared_ptr< const AAX_ISessionDocument > GetSessionDocument(void) const
Retrieves a reference to the session document interface.
AAX_IController * GetController(void)
Retrieves a reference to the plug-in's controller interface.
std::shared_ptr< AAX_ISessionDocument > GetSessionDocument(void)
Retrieves a reference to the session document interface.
AAX_Result NotificationReceived(AAX_CTypeID, const void *, uint32_t) AAX_OVERRIDE
Definition: AAX_CSessionDocumentClient.h:75
AAX_Result SetSessionDocument(IACFUnknown *iSessionDocument) AAX_OVERRIDE
virtual AAX_Result SessionDocumentChanged()
The session document interface has been added, replaced, or removed.
Definition: AAX_CSessionDocumentClient.h:100
const AAX_IController * GetController(void) const
Retrieves a reference to the plug-in's controller interface.
Interface for the AAX host's view of a single instance of an effect. Used by both clients of the AAX ...
Definition: AAX_IController.h:42
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:80
Interface representing information in a host session document.
Definition: AAX_ISessionDocument.h:39
Interface representing a client of the session document interface.
Definition: AAX_ISessionDocumentClient.h:35
Definition: AAX_VSessionDocument.h:29