aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mastering.h
Commit message (Collapse)AuthorAgeFilesLines
* Don't use a ringbuffer design for the limiter's side chainChris Robinson2018-09-291-8/+16
| | | | | | Rather than continuously wrapping when used, each update uses it from the front and copies the tail to the front at the end. This allows for more effficient accesses in loops.
* Update the output limiter/compressorChris Robinson2018-09-251-31/+80
| | | | | | | | | | This provides better characteristics for an amplitude limiter. In particular, it utilizes the peak amplitude instead of the RMS, and the used parameters basically guarantee no output samples exceed the given threshold... almost, due to floating-point errors as the threshold is converted from dB to log-e for the envelope, then is negated and converted to linear amplitude to apply to the signal. It's quite possible for some rounding errors to creep in and not perfectly saturate the result.
* Move the compressor/limiter declarations to their own headerChris Robinson2018-01-111-0/+57