43 auto index2 = index + 1;
44 auto frac = firstFrac;
49 return value1 + (frac * (value2 - value1));
54 const int numCrossings = 100;
55 const float floatCrossings = (float) numCrossings;
58 auto samplePosition = indexBuffer;
59 float firstFrac = 0.0f;
60 float lastSincPosition = -1.0f;
61 int index = 0, sign = -1;
63 for (
int i = -numCrossings;
i <= numCrossings; ++
i)
65 auto sincPosition = (1.0f - offset) + (
float)
i;
67 if (
i == -numCrossings || (sincPosition >= 0 && lastSincPosition < 0))
69 auto indexFloat = (sincPosition >= 0.f ? sincPosition : -sincPosition) * 100.0f;
70 auto indexFloored = std::floor (indexFloat);
71 index = (
int) indexFloored;
72 firstFrac = indexFloat - indexFloored;
73 sign = (sincPosition < 0 ? -1 : 1);
76 if (sincPosition == 0.0f)
77 result += inputs[samplePosition];
78 else if (sincPosition < floatCrossings && sincPosition > -floatCrossings)
81 if (++samplePosition == numCrossings * 2)
84 lastSincPosition = sincPosition;
98 static float valueAtOffset (
const float*,
float,
int)
noexcept;
108 auto y0 = inputs[index];
if (++index == 4) index = 0;
109 auto y1 = inputs[index];
if (++index == 4) index = 0;
110 auto y2 = inputs[index];
if (++index == 4) index = 0;
111 auto y3 = inputs[index];
113 auto halfY0 = 0.5f * y0;
114 auto halfY3 = 0.5f * y3;
116 return y1 + offset * ((0.5f * y2 - halfY0)
117 + (offset * (((y0 + 2.0f * y2) - (halfY3 + 2.5f * y1))
118 + (offset * ((halfY3 + 1.5f * y1) - (halfY0 + 1.5f * y2))))));
128 auto y0 = inputs[index];
129 auto y1 = inputs[index == 0 ? 1 : 0];
131 return y1 * offset + y0 * (1.0f - offset);
Definition juce_GenericInterpolator.h:41
Definition juce_Interpolators.h:35
GenericInterpolator< ZeroOrderHoldTraits, 1 > ZeroOrderHold
Definition juce_Interpolators.h:150
GenericInterpolator< WindowedSincTraits, 200 > WindowedSinc
Definition juce_Interpolators.h:146
GenericInterpolator< LagrangeTraits, 5 > Lagrange
Definition juce_Interpolators.h:147
GenericInterpolator< LinearTraits, 2 > Linear
Definition juce_Interpolators.h:149
GenericInterpolator< CatmullRomTraits, 4 > CatmullRom
Definition juce_Interpolators.h:148
register unsigned i
Definition inflate.c:1575
Definition carla_juce.cpp:31
Interpolators::Lagrange LagrangeInterpolator
Definition juce_Interpolators.h:187
Interpolators::ZeroOrderHold ZeroOrderHoldInterpolator
Definition juce_Interpolators.h:240
Interpolators::Linear LinearInterpolator
Definition juce_Interpolators.h:221
Interpolators::WindowedSinc WindowedSincInterpolator
Definition juce_Interpolators.h:170
Interpolators::CatmullRom CatmullRomInterpolator
Definition juce_Interpolators.h:204
Definition juce_Interpolators.h:102
static constexpr float algorithmicLatency
Definition juce_Interpolators.h:104
static forcedinline float valueAtOffset(const float *const inputs, const float offset, int index) noexcept
Definition juce_Interpolators.h:106
Definition juce_Interpolators.h:95
static constexpr float algorithmicLatency
Definition juce_Interpolators.h:96
static float valueAtOffset(const float *, float, int) noexcept
Definition juce_LagrangeInterpolator.cpp:49
Definition juce_Interpolators.h:123
static forcedinline float valueAtOffset(const float *const inputs, const float offset, int index) noexcept
Definition juce_Interpolators.h:126
static constexpr float algorithmicLatency
Definition juce_Interpolators.h:124
Definition juce_Interpolators.h:38
static forcedinline float valueAtOffset(const float *const inputs, const float offset, int indexBuffer) noexcept
Definition juce_Interpolators.h:52
static const float lookupTable[10001]
Definition juce_Interpolators.h:91
static forcedinline float windowedSinc(float firstFrac, int index) noexcept
Definition juce_Interpolators.h:41
static constexpr float algorithmicLatency
Definition juce_Interpolators.h:39
Definition juce_Interpolators.h:136
static constexpr float algorithmicLatency
Definition juce_Interpolators.h:137
static forcedinline float valueAtOffset(const float *const inputs, const float, int) noexcept
Definition juce_Interpolators.h:139
int result
Definition process.c:1455
typedef int(UZ_EXP MsgFn)()