void AtanMiniProcessor::processBlock(juce::AudioBuffer<float>& buffer, int inputChannels, int outputChannels, ProcessParameters& p) {
ScopedNoDenormals noDenormals;
for (auto i = inputChannels; i < outputChannels; ++i)
buffer.clear(i, 0, buffer.getNumSamples());
for (int channel = 0; channel < inputChannels; ++channel) {
auto* channelData = buffer.getWritePointer(channel);
for (int sample = 0; sample < buffer.getNumSamples(); sample++) {
float cleanSig = *channelData;
*channelData *= p.drive * p.range;
*channelData = (((((2.0f / float_Pi) * atan(*channelData)) * p.blend) + (cleanSig * (1.0f - p.blend))) / 2) * p.volume;
channelData++;
}
}
}
Saturday, May 21, 2022
atan mini processor
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment