While reviewing #78 I realized that the DSP class's structure might be somewhat simplified by making process() do what _process_core_() does currently. In most cases, the existing _process_core_() implementations could become the implementations for process() directly with minimal modifications (e.g. add three lines to assign the pointers and buffer length before proceeding with the rest).
However, the current _apply_output_level_() is taking care of output level normalization; if we want this to remain part of this lbirary's responsibility, then the current class structure is a nice and DRY solution, but I can also see the justification of pushing this out of DSP and letting plugins using NAM take care of it themselves (getting the information they want via e.g. a new DSP::GetLoudness().
I'm somewhat keen to do the latter (simplify this library and push out the gain adjustment to be the responsibility of the plugin) but want to raise it as an issue here to see if anyone has any strong opinions or thoughts if I'm missing something.
While reviewing #78 I realized that the
DSPclass's structure might be somewhat simplified by makingprocess()do what_process_core_()does currently. In most cases, the existing_process_core_()implementations could become the implementations forprocess()directly with minimal modifications (e.g. add three lines to assign the pointers and buffer length before proceeding with the rest).However, the current
_apply_output_level_()is taking care of output level normalization; if we want this to remain part of this lbirary's responsibility, then the current class structure is a nice and DRY solution, but I can also see the justification of pushing this out ofDSPand letting plugins using NAM take care of it themselves (getting the information they want via e.g. a newDSP::GetLoudness().I'm somewhat keen to do the latter (simplify this library and push out the gain adjustment to be the responsibility of the plugin) but want to raise it as an issue here to see if anyone has any strong opinions or thoughts if I'm missing something.