aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mastering.h
Commit message (Collapse)AuthorAgeFilesLines
* Make the Compressor more class-likeChris Robinson2018-12-241-30/+32
|
* Clean up most of the compressor loopsChris Robinson2018-12-201-8/+8
|
* Add and use a macro to define placement-new-only allocatorsChris Robinson2018-11-221-3/+1
| | | | | | This is for structs that utilize over-allocation, either flexible array members, or which store optional additional objects in the same allocation block.
* Use a unique_ptr for the CompressorChris Robinson2018-11-211-9/+59
|
* Convert ALc.c to C++Chris Robinson2018-11-141-0/+8
|
* Replace restrict with RESTRICTChris Robinson2018-10-291-1/+1
|
* Make the Compressor struct opaqueChris Robinson2018-09-301-68/+3
|
* 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