C++ API Reference RNBO: common/RNBO_ParameterInterface.h Source File

RNBO: common/RNBO_ParameterInterface.h Source File

1 #ifndef RNBO_ParameterInterface_h
2 #define RNBO_ParameterInterface_h
3 
4 #include "RNBO_Types.h"
5 #include "RNBO_Math.h"
6 
7 namespace RNBO {
8 
10 
11  protected:
12  ~ParameterInterface() { }
13 
14  public:
15 
25  virtual ParameterIndex getNumParameters() const = 0;
26 
34 
49 
56  virtual void getParameterInfo(ParameterIndex index, ParameterInfo* info) const = 0;
57 
63 
71  virtual void setParameterValue(ParameterIndex index, ParameterValue value, MillisecondTime time = RNBOTimeNow) = 0;
72 
80  }
81 
89  virtual void setParameterValueNormalized(ParameterIndex index, ParameterValue normalizedValue, MillisecondTime time = RNBOTimeNow) {
90  setParameterValue(index, convertFromNormalizedParameterValue(index, normalizedValue), time);
91  }
92 
101 
110 
120  virtual ParameterValue constrainParameterValue(ParameterIndex, ParameterValue value) const { return value; }
121  };
122 
123 } // namespace RNBO
124 
125 #endif // RNBO_ParameterInterface_h