#include "Clipper.hpp" Clipper::Clipper(float init_clip) : clip_(init_clip) {} void Clipper::process(const float *in, float *out, uint32_t frames) { for (uint32_t i = 0; i < frames; ++i) { out[i] = in[i] > clip_ ? clip_ : in[i]; } } void Clipper::processStereo(const float *inLeft, const float *inRight, float *outLeft, float *outRight, uint32_t frames) { for (uint32_t i = 0; i < frames; ++i) { if (outLeft[i] > 0) { outLeft[i] = inLeft[i] > clip_ ? clip_ : inLeft[i]; } else { outLeft[i] = inLeft[i] < -clip_ ? -clip_ : inLeft[i]; } if (outRight[i] > 0) { outRight[i] = inRight[i] > clip_ ? clip_ : inRight[i]; } else { outRight[i] = inRight[i] < -clip_ ? -clip_ : inRight[i]; } } }