This commit is contained in:
2026-07-03 14:15:12 -05:00
parent 6913736476
commit 41f7499c23
3 changed files with 59 additions and 4 deletions

37
src/ParameterStore.hpp Normal file
View File

@@ -0,0 +1,37 @@
#pragma once
#include <vector>
#include <cstdint>
enum class ParamId : uint8_t {
MasterGain,
Count
};
struct Param {
float val;
float min;
float max;
};
constexpr size_t PARAM_COUNT = static_cast<size_t>(ParamId::Count);
class ParameterStore {
public:
ParameterStore();
~ParameterStore() = default;
void set(ParamId id, float value);
void set(ParamId id, int32_t value) { set(id, static_cast<float>(value)); }
void set(EnvelopeId id, float depth, float a, float d, float s, float r);
float get(ParamId id) const;
int32_t getInt(ParamId id) const { return static_cast<int32_t>(get(id)); }
private:
std::array<std::atomic<Param>, PARAM_COUNT> values_;
};