| AAX SDK 2.6.1 Avid Audio Extensions Development Kit

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

- File List
- File Members

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
22#include "AAX_ISessionDocumentClient.h"
23#include <memory>
24
25#ifdef __clang__
26#pragma clang diagnostic push
27#pragma clang diagnostic ignored "-Wunused-parameter"
28#endif
29
30 class AAX_IController;
31 class AAX_IEffectParameters;
32 class AAX_ISessionDocument;
33 class AAX_VSessionDocument;
34
35
38 class AAX_CSessionDocumentClient : public AAX_ISessionDocumentClient
39{
40 public:
41
42 AAX_CSessionDocumentClient(void);
43 ~AAX_CSessionDocumentClient(void) AAX_OVERRIDE;
44
45 public:
46
53 AAX_Result Initialize (IACFUnknown * iUnknown) AAX_OVERRIDE;
57 AAX_Result Uninitialize (void) AAX_OVERRIDE;
59
66 AAX_Result SetSessionDocument(IACFUnknown * iSessionDocument) AAX_OVERRIDE;
68
75 AAX_Result NotificationReceived(/* AAX_ENotificationEvent */ AAX_CTypeID /*inNotificationType*/, const void * /*inNotificationData*/, uint32_t /*inNotificationDataSize*/) AAX_OVERRIDE { return AAX_SUCCESS; }
77
78 protected:
79
91 virtual AAX_Result SessionDocumentWillChange() { return AAX_SUCCESS; }
100 virtual AAX_Result SessionDocumentChanged() { return AAX_SUCCESS; }
102
110 AAX_IController* GetController (void);
111 const AAX_IController* GetController (void) const;
112
117 AAX_IEffectParameters* GetEffectParameters (void);
118 const AAX_IEffectParameters* GetEffectParameters (void) const;
119
124 std::shared_ptr<AAX_ISessionDocument> GetSessionDocument (void);
125 std::shared_ptr<const AAX_ISessionDocument> GetSessionDocument (void) const;
127
128 private:
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
@ AAX_SUCCESS
Definition: AAX_Errors.h:36
AAX_UNIQUE_PTR
#define AAX_UNIQUE_PTR(X)
Definition: AAX.h:163
AAX_Result
int32_t AAX_Result
Definition: AAX.h:334
AAX_OVERRIDE
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:151
AAX_CTypeID
uint32_t AAX_CTypeID
Matches type of OSType used in classic plugins.
Definition: AAX.h:333
AAX_ISessionDocumentClient.h
IACFUnknown
COM compatible IUnknown C++ interface.
Definition: AAX_ACFInterface.doxygen:252
AAX_CSessionDocumentClient
Default implementation of the AAX_ISessionDocumentClient interface.
Definition: AAX_CSessionDocumentClient.h:39
AAX_CSessionDocumentClient::SessionDocumentWillChange
virtual AAX_Result SessionDocumentWillChange()
The session document interface is about to be added, replaced, or removed.
Definition: AAX_CSessionDocumentClient.h:91
AAX_CSessionDocumentClient::Initialize
AAX_Result Initialize(IACFUnknown *iUnknown) AAX_OVERRIDE
AAX_CSessionDocumentClient::Uninitialize
AAX_Result Uninitialize(void) AAX_OVERRIDE
AAX_CSessionDocumentClient::GetEffectParameters
AAX_IEffectParameters * GetEffectParameters(void)
Retrieves a reference to the plug-in's data model interface.
AAX_CSessionDocumentClient::~AAX_CSessionDocumentClient
~AAX_CSessionDocumentClient(void) AAX_OVERRIDE
AAX_CSessionDocumentClient::GetEffectParameters
const AAX_IEffectParameters * GetEffectParameters(void) const
Retrieves a reference to the plug-in's data model interface.
AAX_CSessionDocumentClient::GetSessionDocument
std::shared_ptr< const AAX_ISessionDocument > GetSessionDocument(void) const
Retrieves a reference to the session document interface.
AAX_CSessionDocumentClient::GetController
AAX_IController * GetController(void)
Retrieves a reference to the plug-in's controller interface.
AAX_CSessionDocumentClient::GetSessionDocument
std::shared_ptr< AAX_ISessionDocument > GetSessionDocument(void)
Retrieves a reference to the session document interface.
AAX_CSessionDocumentClient::NotificationReceived
AAX_Result NotificationReceived(AAX_CTypeID, const void *, uint32_t) AAX_OVERRIDE
Definition: AAX_CSessionDocumentClient.h:75
AAX_CSessionDocumentClient::SetSessionDocument
AAX_Result SetSessionDocument(IACFUnknown *iSessionDocument) AAX_OVERRIDE
AAX_CSessionDocumentClient::SessionDocumentChanged
virtual AAX_Result SessionDocumentChanged()
The session document interface has been added, replaced, or removed.
Definition: AAX_CSessionDocumentClient.h:100
AAX_CSessionDocumentClient::GetController
const AAX_IController * GetController(void) const
Retrieves a reference to the plug-in's controller interface.
AAX_CSessionDocumentClient::AAX_CSessionDocumentClient
AAX_CSessionDocumentClient(void)
AAX_IController
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
AAX_IEffectParameters
The interface for an AAX Plug-in's data model.
Definition: AAX_IEffectParameters.h:80
AAX_ISessionDocument
Interface representing information in a host session document.
Definition: AAX_ISessionDocument.h:39
AAX_ISessionDocumentClient
Interface representing a client of the session document interface.
Definition: AAX_ISessionDocumentClient.h:35
AAX_VSessionDocument
Definition: AAX_VSessionDocument.h:29