42template <
typename FloatType>
54 jassert (newBias >=
static_cast<FloatType
> (-1) && newBias <=
static_cast<FloatType
> (1));
55 bias.setTargetValue (newBias);
91 template <
typename SampleType>
94 return inputSample +
bias.getNextValue();
99 template <
typename ProcessContext>
100 void process (
const ProcessContext& context)
noexcept
102 auto&& inBlock = context.getInputBlock();
103 auto&& outBlock = context.getOutputBlock();
105 jassert (inBlock.getNumChannels() == outBlock.getNumChannels());
106 jassert (inBlock.getNumSamples() == outBlock.getNumSamples());
108 auto len = inBlock.getNumSamples();
109 auto numChannels = inBlock.getNumChannels();
111 if (context.isBypassed)
113 bias.skip (
static_cast<int> (len));
115 if (context.usesSeparateInputAndOutputBlocks())
116 outBlock.copyFrom (inBlock);
121 if (numChannels == 1)
123 auto* src = inBlock.getChannelPointer (0);
124 auto* dst = outBlock.getChannelPointer (0);
126 for (
size_t i = 0;
i < len; ++
i)
127 dst[
i] = src[
i] +
bias.getNextValue();
132 auto* biases =
static_cast<FloatType*
> (alloca (
sizeof (FloatType) * len));
134 for (
size_t i = 0;
i < len; ++
i)
135 biases[
i] =
bias.getNextValue();
137 for (
size_t chan = 0; chan < numChannels; ++chan)
138 FloatVectorOperations::add (outBlock.getChannelPointer (chan),
139 inBlock.getChannelPointer (chan),
140 biases,
static_cast<int> (len));
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_SmoothedValue.h:227
SmoothedValue< FloatType > bias
Definition juce_Bias.h:148
SampleType processSample(SampleType inputSample) noexcept
Definition juce_Bias.h:92
double getRampDurationSeconds() const noexcept
Definition juce_Bias.h:74
FloatType getBias() const noexcept
Definition juce_Bias.h:62
double rampDurationSeconds
Definition juce_Bias.h:149
double sampleRate
Definition juce_Bias.h:149
void prepare(const ProcessSpec &spec) noexcept
Definition juce_Bias.h:78
void updateRamp() noexcept
Definition juce_Bias.h:151
void setRampDurationSeconds(double newDurationSeconds) noexcept
Definition juce_Bias.h:65
void setBias(FloatType newBias) noexcept
Definition juce_Bias.h:52
void reset() noexcept
Definition juce_Bias.h:84
void process(const ProcessContext &context) noexcept
Definition juce_Bias.h:100
register unsigned i
Definition inflate.c:1575
#define JUCE_BEGIN_IGNORE_WARNINGS_MSVC(warnings)
Definition juce_CompilerWarnings.h:198
#define JUCE_END_IGNORE_WARNINGS_MSVC
Definition juce_CompilerWarnings.h:199
Definition juce_AudioBlock.h:29
Definition carla_juce.cpp:31
Definition juce_ProcessContext.h:38
#define const
Definition zconf.h:137