Closed JasonLG1979 closed 1 year ago
I guess making this modular is a technical enabler for other limiters / compressors?
Sure all you'd have to do is put whatever different kind of Normaliser in the Normaliser enum, with a few caveats ofc. I tried on purpose not to have to Box dny it. If you did anything that would make you have to box it, you might as well just use Traits. But I'm working under the assumption that any kind of normaliser is more or less just going to be some sort of fancy calculator and it shouldn't need to be complex from a moving parts aspect.
I did design it using Traits 1st. In that version the Normaliser kind was set at init. I then designed it as an enum to see what difference it made performance wise. It made absolutely none and the enum version is much simpler it allows for only 1 extra struct (currently ofc) because no state is needed for no and basic normalisation.
I think it's a nice add and allows some flexibility for those would want to do their own DSP, without making it too complex. Also taking it out of the monolithic player is a good thing. Would you add a changelog?
@roderickvd The change log is updated. Ready for you to merge.
I guess making this modular is a technical enabler for other limiters / compressors?