36template <
typename SampleType>
54 size_t lookupTableNumPoints = 0)
64 size_t lookupTableNumPoints = 0)
66 if (lookupTableNumPoints != 0)
71 lookupTableNumPoints);
88 frequency.setCurrentAndTargetValue (newFrequency);
103 rampBuffer.resize ((
int) spec.maximumBlockSize);
127 template <
typename ProcessContext>
128 void process (
const ProcessContext& context)
noexcept
131 auto&& outBlock = context.getOutputBlock();
132 auto&& inBlock = context.getInputBlock();
137 auto len = outBlock.getNumSamples();
138 auto numChannels = outBlock.getNumChannels();
139 auto inputChannels = inBlock.getNumChannels();
142 if (context.isBypassed)
143 context.getOutputBlock().clear();
147 auto* buffer =
rampBuffer.getRawDataPointer();
149 for (
size_t i = 0;
i < len; ++
i)
153 if (! context.isBypassed)
157 if (context.usesSeparateInputAndOutputBlocks())
159 for (ch = 0; ch <
jmin (numChannels, inputChannels); ++ch)
161 auto* dst = outBlock.getChannelPointer (ch);
162 auto* src = inBlock.getChannelPointer (ch);
164 for (
size_t i = 0;
i < len; ++
i)
170 for (ch = 0; ch <
jmin (numChannels, inputChannels); ++ch)
172 auto* dst = outBlock.getChannelPointer (ch);
174 for (
size_t i = 0;
i < len; ++
i)
179 for (; ch < numChannels; ++ch)
181 auto* dst = outBlock.getChannelPointer (ch);
183 for (
size_t i = 0;
i < len; ++
i)
193 if (context.isBypassed)
202 if (context.usesSeparateInputAndOutputBlocks())
204 for (ch = 0; ch <
jmin (numChannels, inputChannels); ++ch)
207 auto* dst = outBlock.getChannelPointer (ch);
208 auto* src = inBlock.getChannelPointer (ch);
210 for (
size_t i = 0;
i < len; ++
i)
216 for (ch = 0; ch <
jmin (numChannels, inputChannels); ++ch)
219 auto* dst = outBlock.getChannelPointer (ch);
221 for (
size_t i = 0;
i < len; ++
i)
226 for (; ch < numChannels; ++ch)
229 auto* dst = outBlock.getChannelPointer (ch);
231 for (
size_t i = 0;
i < len; ++
i)
Type jmin(const Type a, const Type b)
Definition MathsFunctions.h:60
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_Array.h:56
Definition juce_SmoothedValue.h:227
SampleType JUCE_VECTOR_CALLTYPE processSample(SampleType input) noexcept
Definition juce_Oscillator.h:119
Array< NumericType > rampBuffer
Definition juce_Oscillator.h:244
SmoothedValue< NumericType > frequency
Definition juce_Oscillator.h:245
Oscillator(const std::function< NumericType(NumericType)> &function, size_t lookupTableNumPoints=0)
Definition juce_Oscillator.h:53
void prepare(const ProcessSpec &spec) noexcept
Definition juce_Oscillator.h:100
bool isInitialised() const noexcept
Definition juce_Oscillator.h:60
typename SampleTypeHelpers::ElementType< SampleType >::Type NumericType
Definition juce_Oscillator.h:43
Phase< NumericType > phase
Definition juce_Oscillator.h:247
void reset() noexcept
Definition juce_Oscillator.h:109
NumericType getFrequency() const noexcept
Definition juce_Oscillator.h:96
void process(const ProcessContext &context) noexcept
Definition juce_Oscillator.h:128
void setFrequency(NumericType newFrequency, bool force=false) noexcept
Definition juce_Oscillator.h:84
void initialise(const std::function< NumericType(NumericType)> &function, size_t lookupTableNumPoints=0)
Definition juce_Oscillator.h:63
std::unique_ptr< LookupTableTransform< NumericType > > lookupTable
Definition juce_Oscillator.h:243
std::function< NumericType(NumericType)> generator
Definition juce_Oscillator.h:242
NumericType sampleRate
Definition juce_Oscillator.h:246
register unsigned i
Definition inflate.c:1575
unsigned x[BMAX+1]
Definition inflate.c:1586
JHUFF_TBL long freq[]
Definition jchuff.h:50
#define JUCE_VECTOR_CALLTYPE
Definition juce_dsp.h:100
Definition juce_AudioBlock.h:29
Definition carla_juce.cpp:31
jack_client_t client jack_client_t client jack_client_t client jack_client_t JackInfoShutdownCallback function
Definition juce_linux_JackAudio.cpp:63
@ table
Definition juce_AccessibilityRole.h:50
static constexpr FloatType twoPi
Definition juce_MathsFunctions.h:385
static constexpr FloatType pi
Definition juce_MathsFunctions.h:382
Definition juce_Phase.h:41
Definition juce_ProcessContext.h:38
T Type
Definition juce_AudioBlock.h:37
uch * p
Definition crypt.c:594
#define const
Definition zconf.h:137