AAX SDK  2.4.1
Avid Audio Extensions Development Kit
AAX_CParameterManager.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright 2014-2015, 2018 by Avid Technology, Inc.
5  * All rights reserved.
6  *
7  * CONFIDENTIAL: This document contains confidential information. Do not
8  * read or examine this document unless you are an Avid Technology employee
9  * or have signed a non-disclosure agreement with Avid Technology which protects
10  * the confidentiality of this document. DO NOT DISCLOSE ANY INFORMATION
11  * CONTAINED IN THIS DOCUMENT TO ANY THIRD-PARTY WITHOUT THE PRIOR WRITTEN CONSENT
12  * OF Avid Technology, INC.
13  *
14  */
15 
22 /*================================================================================================*/
23 
24 
25 #ifndef AAX_CPARAMETERMANAGER_H
26 #define AAX_CPARAMETERMANAGER_H
27 
28 #include "AAX_CParameter.h"
29 #include "AAX.h"
30 
31 #include <vector>
32 #include <map>
33 
34 
35 
36 
38 
52 {
53 public:
56 
66  void Initialize(AAX_IAutomationDelegate* iAutomationDelegateUnknown);
67 
72  int32_t NumParameters() const;
73 
83 
90 
98 
105  const AAX_IParameter* GetParameterByID(AAX_CParamID identifier) const;
106 
115  AAX_IParameter* GetParameterByName(const char* name);
116 
125  const AAX_IParameter* GetParameterByName(const char* name) const;
126 
136  AAX_IParameter* GetParameter(int32_t index);
137 
147  const AAX_IParameter* GetParameter(int32_t index) const;
148 
154  int32_t GetParameterIndex(AAX_CParamID identifier) const;
155 
164 
173 
174 protected:
175 
176  AAX_IAutomationDelegate* mAutomationDelegate; //This object is not ref-counted here. Do not delete it. It is ref counted by this object's parent.
177  std::vector<AAX_IParameter*> mParameters;
178  std::map<std::string, AAX_IParameter*> mParametersMap;
179 };
180 
181 
182 
183 
184 #endif // AAX_CPARAMETERMANAGER_H
Various utility definitions for AAX.
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:352
Generic implementation of an AAX_IParameter.
A container object for plug-in parameters.
Definition: AAX_CParameterManager.h:52
std::map< std::string, AAX_IParameter * > mParametersMap
Definition: AAX_CParameterManager.h:178
void RemoveParameterByID(AAX_CParamID identifier)
Removes a parameter from the manager.
AAX_IAutomationDelegate * mAutomationDelegate
Definition: AAX_CParameterManager.h:176
AAX_IParameter * GetParameterByID(AAX_CParamID identifier)
Given a parameter ID, retrieves a reference to the requested parameter.
const AAX_IParameter * GetParameter(int32_t index) const
Given a parameter index, retrieves a const reference to the requested parameter.
std::vector< AAX_IParameter * > mParameters
Definition: AAX_CParameterManager.h:177
AAX_IParameter * GetParameterByName(const char *name)
Given a parameter name, retrieves a reference to the requested parameter.
void RemoveAllParameters()
Removes all parameters from the manager.
int32_t NumParameters() const
Returns the number of parameters in this instance of the parameter manager.
const AAX_IParameter * GetParameterByName(const char *name) const
Given a parameter name, retrieves a const reference to the requested parameter.
AAX_IParameter * GetParameter(int32_t index)
Given a parameter index, retrieves a reference to the requested parameter.
void Initialize(AAX_IAutomationDelegate *iAutomationDelegateUnknown)
Initialize the parameter manager.
const AAX_IParameter * GetParameterByID(AAX_CParamID identifier) const
Given a parameter ID, retrieves a const reference to the requested parameter.
void RemoveParameter(AAX_IParameter *param)
int32_t GetParameterIndex(AAX_CParamID identifier) const
void AddParameter(AAX_IParameter *param)
Interface allowing an AAX plug-in to interact with the host's event system.
Definition: AAX_IAutomationDelegate.h:47
The base interface for all normalizable plug-in parameters.
Definition: AAX_IParameter.h:140