37template <
typename SampleType>
61 template <
typename ProcessContext>
62 void process (
const ProcessContext& context)
noexcept
64 const auto& inputBlock = context.getInputBlock();
65 auto& outputBlock = context.getOutputBlock();
66 const auto numChannels = outputBlock.getNumChannels();
67 const auto numSamples = outputBlock.getNumSamples();
69 jassert (inputBlock.getNumChannels() == numChannels);
70 jassert (inputBlock.getNumSamples() == numSamples);
72 if (context.isBypassed)
74 outputBlock.copyFrom (inputBlock);
85 for (
size_t channel = 0; channel < numChannels; ++channel)
87 FloatVectorOperations::clip (outputBlock.getChannelPointer (channel), outputBlock.getChannelPointer (channel),
88 (SampleType) -1.0, (SampleType) 1.0, (
int) numSamples);
Definition juce_SmoothedValue.h:227
Definition juce_Compressor.h:39
void prepare(const ProcessSpec &spec)
Definition juce_Limiter.cpp:48
void reset()
Definition juce_Limiter.cpp:63
SampleType thresholddB
Definition juce_Limiter.h:101
SmoothedValue< SampleType, ValueSmoothingTypes::Linear > outputVolume
Definition juce_Limiter.h:98
void process(const ProcessContext &context) noexcept
Definition juce_Limiter.h:62
Compressor< SampleType > secondStageCompressor
Definition juce_Limiter.h:97
SampleType releaseTime
Definition juce_Limiter.h:101
void setThreshold(SampleType newThreshold)
Definition juce_Limiter.cpp:33
double sampleRate
Definition juce_Limiter.h:100
Compressor< SampleType > firstStageCompressor
Definition juce_Limiter.h:97
void setRelease(SampleType newRelease)
Definition juce_Limiter.cpp:40
Definition juce_AudioBlock.h:29
Definition carla_juce.cpp:31
Definition juce_ProcessContext.h:88
Definition juce_ProcessContext.h:38