| 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_CParameterManager.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2014-2015, 2018, 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
35#ifndef AAX_CPARAMETERMANAGER_H
36#define AAX_CPARAMETERMANAGER_H
37
38#include "AAX_CParameter.h"
39#include "AAX.h"
40
41#include <vector>
42#include <map>
43
44
45
46
47 class AAX_IAutomationDelegate;
48
61 class AAX_CParameterManager
62{
63 public:
64 AAX_CParameterManager();
65 ~AAX_CParameterManager();
66
76 void Initialize(AAX_IAutomationDelegate* iAutomationDelegateUnknown);
77
82 int32_t NumParameters() const;
83
92 void RemoveParameterByID(AAX_CParamID identifier);
93
99 void RemoveAllParameters();
100
107 AAX_IParameter* GetParameterByID(AAX_CParamID identifier);
108
115 const AAX_IParameter* GetParameterByID(AAX_CParamID identifier) const;
116
125 AAX_IParameter* GetParameterByName(const char* name);
126
135 const AAX_IParameter* GetParameterByName(const char* name) const;
136
146 AAX_IParameter* GetParameter(int32_t index);
147
157 const AAX_IParameter* GetParameter(int32_t index) const;
158
164 int32_t GetParameterIndex(AAX_CParamID identifier) const;
165
173 void AddParameter(AAX_IParameter* param);
174
182 void RemoveParameter(AAX_IParameter* param);
183
184 protected:
185
186 AAX_IAutomationDelegate* mAutomationDelegate; //This object is not ref-counted here. Do not delete it. It is ref counted by this object's parent.
187 std::vector<AAX_IParameter*> mParameters;
188 std::map<std::string, AAX_IParameter*> mParametersMap;
189};
190
191
192
193
194#endif // AAX_CPARAMETERMANAGER_H
AAX.h
Various utility definitions for AAX.
AAX_CParamID
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:362
AAX_CParameter.h
Generic implementation of an AAX_IParameter.
AAX_CParameterManager
A container object for plug-in parameters.
Definition: AAX_CParameterManager.h:62
AAX_CParameterManager::mParametersMap
std::map< std::string, AAX_IParameter * > mParametersMap
Definition: AAX_CParameterManager.h:188
AAX_CParameterManager::RemoveParameterByID
void RemoveParameterByID(AAX_CParamID identifier)
Removes a parameter from the manager.
AAX_CParameterManager::AAX_CParameterManager
AAX_CParameterManager()
AAX_CParameterManager::GetParameterByName
AAX_IParameter * GetParameterByName(const char *name)
Given a parameter name, retrieves a reference to the requested parameter.
AAX_CParameterManager::mAutomationDelegate
AAX_IAutomationDelegate * mAutomationDelegate
Definition: AAX_CParameterManager.h:186
AAX_CParameterManager::GetParameter
AAX_IParameter * GetParameter(int32_t index)
Given a parameter index, retrieves a reference to the requested parameter.
AAX_CParameterManager::mParameters
std::vector< AAX_IParameter * > mParameters
Definition: AAX_CParameterManager.h:187
AAX_CParameterManager::RemoveAllParameters
void RemoveAllParameters()
Removes all parameters from the manager.
AAX_CParameterManager::NumParameters
int32_t NumParameters() const
Returns the number of parameters in this instance of the parameter manager.
AAX_CParameterManager::~AAX_CParameterManager
~AAX_CParameterManager()
AAX_CParameterManager::GetParameterByID
const AAX_IParameter * GetParameterByID(AAX_CParamID identifier) const
Given a parameter ID, retrieves a const reference to the requested parameter.
AAX_CParameterManager::GetParameterByName
const AAX_IParameter * GetParameterByName(const char *name) const
Given a parameter name, retrieves a const reference to the requested parameter.
AAX_CParameterManager::Initialize
void Initialize(AAX_IAutomationDelegate *iAutomationDelegateUnknown)
Initialize the parameter manager.
AAX_CParameterManager::GetParameterByID
AAX_IParameter * GetParameterByID(AAX_CParamID identifier)
Given a parameter ID, retrieves a reference to the requested parameter.
AAX_CParameterManager::RemoveParameter
void RemoveParameter(AAX_IParameter *param)
AAX_CParameterManager::GetParameterIndex
int32_t GetParameterIndex(AAX_CParamID identifier) const
AAX_CParameterManager::GetParameter
const AAX_IParameter * GetParameter(int32_t index) const
Given a parameter index, retrieves a const reference to the requested parameter.
AAX_CParameterManager::AddParameter
void AddParameter(AAX_IParameter *param)
AAX_IAutomationDelegate
Interface allowing an AAX plug-in to interact with the host's event system.
Definition: AAX_IAutomationDelegate.h:57
AAX_IParameter
The base interface for all normalizable plug-in parameters.
Definition: AAX_IParameter.h:150