#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) { outLeft[i] = clip(inLeft[i]); outRight[i] = clip(inRight[i]); } } float Clipper::clip(const float in) { float out = in; if (in > 0) { out = in > clip_ ? clip_ : in; } else { out = in < -clip_ ? -clip_ : in; } return out; }