3 #include "AudioConfig.h"
4 #include "AudioEffects/AudioEffect.h"
6 # include "freertos/FreeRTOS.h"
26 template <
class StkCls,
class T>
33 this->p_instrument = &instrument;
36 void setInput(StkCls &instrument){
37 this->p_instrument = &instrument;
62 if (p_instrument!=
nullptr) {
63 result = p_instrument->tick()*max_value;
69 StkCls *p_instrument=
nullptr;
78 template <
class StkCls>
86 generator.setInput(instrument);
89 void setInput(StkCls &instrument){
90 generator.setInput(instrument);
93 void setInput(StkCls *instrument){
94 generator.setInput(*instrument);
121 STKEffect(stk::Effect &stkEffect) { p_effect = &stkEffect; }
125 float value =
static_cast<float>(in) / 32767.0;
126 return p_effect->tick(value) * 32767.0;
130 stk::Effect *p_effect =
nullptr;
141 STKChorus(
float baseDelay = 6000) : stk::Chorus(baseDelay) {}
150 float value =
static_cast<float>(in) / 32767.0;
151 return tick(value) * 32767.0;
163 STKEcho(
unsigned long maximumDelay = (
unsigned long)Stk::sampleRate())
164 : stk::Echo(maximumDelay) {}
173 float value =
static_cast<float>(in) / 32767.0;
174 return tick(value) * 32767.0;
191 StkFloat tick (StkFloat input,
unsigned int channel=0)
override
193 return FreeVerb::tick(input, input, channel);
197 float value =
static_cast<float>(in) / 32767.0;
198 return tick(value) * 32767.0;
218 float value =
static_cast<float>(in) / 32767.0;
219 return tick(value) * 32767.0;
238 float value =
static_cast<float>(in) / 32767.0;
239 return tick(value) * 32767.0;
258 float value =
static_cast<float>(in) / 32767.0;
259 return tick(value) * 32767.0;
272 : stk::LentPitShift(periodRatio, tMax) {}
280 float value =
static_cast<float>(in) / 32767.0;
281 return tick(value) * 32767.0;
302 float value =
static_cast<float>(in) / 32767.0;
303 return tick(value) * 32767.0;