10 #include <mathutils.h>
13 #include <audio/utility/audiofunctions.h>
30 virtual T
translate(
const T& inputValue) = 0;
66 for (
int i = 0; i < mTable.size(); i++)
68 mTable[i] = fillFunction(i / T(mTable.size() - 1));
75 static inline T
translate(
const T& inputValue,
const std::vector<T>& inTable)
78 T index =
math::clamp(inputValue, 0.f, 1.f) * (inTable.size() - 1);
84 T frac = index - floor;
86 return lerp(inTable[floor], inTable[floor + 1], frac);
88 return inTable[floor];
92 std::vector<T> mTable;
T translate(const T &inputValue) override final
Definition: translator.h:56
Definition: translator.h:40
std::function< T(T)> FillFunction
Definition: translator.h:46
static T translate(const T &inputValue, const std::vector< T > &inTable)
Definition: translator.h:75
void fill(FillFunction fillFunction)
Definition: translator.h:64
EqualPowerTranslator(unsigned int size)
Definition: translator.h:106
constexpr double PI_2
Definition: mathutils.h:26
virtual T translate(const T &inputValue)=0
T lerp(const T &v0, const T &v1, const T &t)
Definition: audiofunctions.h:34
virtual ~Translator()
Definition: translator.h:28
Definition: templateapp.h:17
Definition: translator.h:100
TableTranslator(unsigned int size)
Definition: translator.h:51
Definition: translator.h:25
T clamp(T value, T min, T max)
Definition: mathutils.h:318