Krotos Modules 3
Loading...
Searching...
No Matches
ModulationSource.h
Go to the documentation of this file.
1namespace krotos
2{
3 //==============================================================================
20 {
21 public:
22 struct Listener
23 {
24 virtual void modulatorChanged(const Modulator* m) = 0;
25 virtual ~Listener() = default;
26 };
27
28 Modulator(bool isFast = true);
29 virtual ~Modulator() = default;
30
31 void addListener(Listener* l);
32 void removeListener(Listener* l);
33
34 void setValues(const float* values, int numValues)
35 {
36 m_values = values;
37 m_numValues = numValues;
38 }
39
40 bool isFast() const { return m_isFast; }
41 const float* getValues() const { return m_values; }
42 int getNumValues() const { return m_numValues; }
43
44 void callListeners();
45
58 float (*mappingFunctionPtr)(const float* parameterValuesVector, const float depth) = nullptr;
59
60 private:
61 const bool m_isFast;
62
63 const float* m_values;
65
66 ListenerList<Listener> m_listeners;
67 std::map<Listener*, float> m_amounts;
68 };
69} // namespace krotos
Holds a list of modulation destinations and sends events to them when the modulator output is updated...
Definition ModulationSource.h:20
const float * getValues() const
Definition ModulationSource.h:41
int getNumValues() const
Definition ModulationSource.h:42
virtual ~Modulator()=default
void removeListener(Listener *l)
Definition ModulationSource.cpp:7
void callListeners()
Definition ModulationSource.cpp:9
Modulator(bool isFast=true)
Definition ModulationSource.cpp:3
ListenerList< Listener > m_listeners
Definition ModulationSource.h:66
int m_numValues
Definition ModulationSource.h:64
const float * m_values
Definition ModulationSource.h:63
bool isFast() const
Definition ModulationSource.h:40
void addListener(Listener *l)
Definition ModulationSource.cpp:5
float(* mappingFunctionPtr)(const float *parameterValuesVector, const float depth)
Definition ModulationSource.h:58
void setValues(const float *values, int numValues)
Definition ModulationSource.h:34
std::map< Listener *, float > m_amounts
Definition ModulationSource.h:67
const bool m_isFast
Definition ModulationSource.h:61
Definition AirAbsorptionFilter.cpp:2
Definition ModulationSource.h:23
virtual ~Listener()=default
virtual void modulatorChanged(const Modulator *m)=0