AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AAX_CParameterManager.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright (c) 2009 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 Technolgy, INC.
13  *
14  */
15 
22 /*================================================================================================*/
23 
24 
25 #ifndef AAX_CPARAMETERMANAGER_H
26 #define AAX_CPARAMETERMANAGER_H
27 
28 #include "AAX.h"
29 #include <vector>
30 #include <map>
31 #include "AAX_CParameter.h"
32 #include "AAX_CString.h"
33 
34 
35 
37 
51 {
52 public:
55 
65  void Initialize(AAX_IAutomationDelegate* iAutomationDelegateUnknown);
66 
71  int32_t NumParameters() const;
72 
81  void RemoveParameterByID(AAX_CParamID identifier);
82 
88  void RemoveAllParameters();
89 
97 
104  const AAX_IParameter* GetParameterByID(AAX_CParamID identifier) const;
105 
115  AAX_IParameter* GetParameter(int32_t index);
116 
126  const AAX_IParameter* GetParameter(int32_t index) const;
127 
135  int32_t ControlIndexFromID(AAX_CParamID identifier) const;
136 
144  void AddParameter(AAX_IParameter* param);
145 
153  void RemoveParameter(AAX_IParameter* param);
154 
155 protected:
156 
157  AAX_IAutomationDelegate* mAutomationDelegate; //This object is not ref-counted here. Do not delete it. It is ref counted by this object's parent.
158  std::vector<AAX_IParameter*> mParameters;
159  std::map<std::string, AAX_IParameter*> mParametersMap;
160 };
161 
162 
163 
164 
165 #endif // AAX_CPARAMETERMANAGER_H
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.
Various utility definitions for AAX.
Generic implementation of an AAX_IParameter.
std::map< std::string, AAX_IParameter * > mParametersMap
Definition: AAX_CParameterManager.h:159
int32_t NumParameters() const
Returns the number of parameters in this instance of the parameter manager.
void RemoveParameterByID(AAX_CParamID identifier)
Removes a parameter from the manager.
AAX_IParameter * GetParameterByID(AAX_CParamID identifier)
Given a parameter ID, retrieves a reference to the requested parameter.
Interface allowing an AAX plug-in to interact with the host&#39;s event system.
Definition: AAX_IAutomationDelegate.h:46
void RemoveParameter(AAX_IParameter *param)
AAX_IAutomationDelegate * mAutomationDelegate
Definition: AAX_CParameterManager.h:157
void RemoveAllParameters()
Removes all parameters from the manager.
void AddParameter(AAX_IParameter *param)
A container object for plug-in parameters.
Definition: AAX_CParameterManager.h:50
int32_t ControlIndexFromID(AAX_CParamID identifier) const
const char * AAX_CParamID
Parameter identifier.
Definition: AAX.h:128
std::vector< AAX_IParameter * > mParameters
Definition: AAX_CParameterManager.h:158
The base interface for all normalizable plug-in parameters.
Definition: AAX_IParameter.h:52
A generic AAX string class with similar functionality to std::string.