Line data Source code
1 : #pragma once
2 :
3 : #include <string>
4 : #include <vector>
5 :
6 : #include "audio/effects/core/effect_param.h"
7 :
8 : namespace Amplitron {
9 :
10 586 : class IParameterizable {
11 : public:
12 1251 : virtual ~IParameterizable() = default;
13 : virtual std::vector<EffectParam>& params() = 0;
14 : virtual const std::vector<EffectParam>& params() const = 0;
15 : virtual std::vector<std::string> get_param_names() = 0;
16 : virtual float get_param_value(const std::string& name) = 0;
17 : virtual void set_param_by_name(const std::string& name, float value) = 0;
18 : };
19 :
20 : } // namespace Amplitron
|