10 std::shared_ptr<KParameter> param;
18 for (
int i = 0; i < numModulators; i++)
40 for (
int i = 0; i < numModulators; i++)
87 for (
int i = 0; i < numModulators; i++)
106 for (
int i = 0; i < numModulators; i++)
116 for (
int i = 0; i < numModulators; i++)
137 for (
int i = 0; i < numModulators; i++)
155 for (
int i = 0; i < numModulators; i++)
165 for (
int i = 0; i < numModulators; i++)
185 for (
int i = 0; i < numModulators; i++)
243 m_buffer.setSize(1, samplesPerBlock);
250 auto numSamples = buffer.getNumSamples();
251 auto bufferPtr =
m_buffer.getWritePointer(0);
258 for (
int i = 0; i < numSamples; i++)
268 float c = 1.0f - depth;
269 float a = (c - 1.0f) / 0.25f;
272 float mappedValue = a * powf(incomingValues[0], 2.0f) + b * incomingValues[0] + c;
281 float min = 1.0f - depth;
283 if (incomingValues[0] <= 0.5f)
286 float lamda = (max - min) / 0.5f;
288 float mappedValue = lamda * incomingValues[0] + min;
294 float lamda = (min - max) / 0.5f;
295 float mappedValue = lamda * incomingValues[0] + (max + depth);
310 return sinf(val * MathConstants<float>::halfPi);
320 float puckY{incomingValues[1]};
321 return jmin<float>(std::abs(1.0f - puckY), 1.f);
325 const Point<float> corner)
328 Point<float> puckVector{incomingValues[0], incomingValues[1]};
329 float distanceToCorner = jmin<float>(puckVector.getDistanceFrom(corner), 1.f);
332 float modulationValue =
constPower(1.f - distanceToCorner * depth);
334 return modulationValue;
363 float modulationValue;
364 if (0.0f <= distanceToTop && distanceToTop <= 0.5f)
367 modulationValue = 1.0f - depth;
369 return modulationValue;
378 float modulationValue;
379 if (0.0f <= distanceToTop && distanceToTop <= 0.5f)
382 distanceToTop -= 0.5f;
383 modulationValue = std::sqrtf(std::abs(1.0f + 2.0f * distanceToTop * depth));
388 distanceToTop -= 0.5f;
389 modulationValue = std::sqrtf(std::abs(1.0f - (2.0f * distanceToTop * depth)));
392 return modulationValue;
398 float puckY{incomingValues[1]};
399 float distanceToTop = jmin<float>(std::abs(1.0f - puckY), 1.f);
403 float modulationValue;
404 if (0.0f <= distanceToTop && distanceToTop < 0.5f)
405 modulationValue = 1.0f - depth;
409 return modulationValue;
415 Point<float> puckVector{incomingValues[0], incomingValues[1]};
416 float distanceToCentre = jmin<float>(puckVector.getDistanceFrom(
m_centre), 1.f);
419 float modValue = (1.f - distanceToCentre * depth);
427 Point<float> puckVector{incomingValues[0], incomingValues[1]};
428 float distanceToCentre = jmin<float>(puckVector.getDistanceFrom(
m_centre), 1.f);
432 float modValue = 1.0f + depth * (distanceToCentre - 1.0f);
void callListeners()
Definition ModulationSource.cpp:9
float(* mappingFunctionPtr)(const float *parameterValuesVector, const float depth)
Definition ModulationSource.h:58
void setValues(const float *values, int numValues)
Definition ModulationSource.h:34
Definition AirAbsorptionFilter.cpp:2
A KParameter Listener which can be used to trigger a callback syncrhonously.
Definition KParameter.h:30