At full dry, the EQ will continue to output the equalized signal at the volume specified on the out slider, alongside the original dry audio.
System Details: Windows 10, LMMS 1.2.0 rc2
Is this fixed by https://github.com/LMMS/lmms/pull/3520?
@BaraMGB I believe I discovered the issue after the fact of that pull request.
Confirmed with latest master. Input gain and output gain are applied to dry signal.
I think it is not hard to fix, @curlymorphic?
System Details: Windows 10, LMMS 1.2.0 rc2
The pull request to fix this bug was merged on 02 may 2017, so would not have been present in the build under test.
Would someone please test this in RC3.
I changed the title because #3505 is partially fixed by #3520. However, Dry signals are still affected by IN/OUT gain sliders.
Isn't the reason that the gain is done by letting a separate function accessing the buffer?
https://github.com/LMMS/lmms/blob/3745bfbd7fb7b90f682eecd7cd9c7c264122f95f/plugins/Eq/EqEffect.h#L45
https://github.com/LMMS/lmms/blob/master/plugins/Eq/EqEffect.cpp#L176
https://github.com/LMMS/lmms/blob/master/plugins/Eq/EqEffect.cpp#L272
Shouldn't we handle all the dry/wet stuff in Effect, outside the call to processAudioBuffer, rather then leaving it to each individual effect to implement? The noise control on the flanger also doesn't interact properly with the dry/wet control, and these mistakes could easily be avoided while making the code a bit cleaner.
Shouldn't we handle all the dry/wet stuff in Effect, outside the call to processAudioBuffer, rather then leaving it to each individual effect to implement?
How would you deal with unknown signal latency of the effect? Say you feed in a 1 kHz sine wave, the effect does something with the signal and then produces output 0.5 ms later. When you mix the dry and wet signals (which are now exactly opposite phase), I imagine they would mostly cancel each other out.
How would you deal with unknown signal latency of the effect?
Make it known. virtual f_cnt_t latency(); 馃槈
If anything, latency compensation for dry/wet is a reason in favour of, not against, handling this in Effect. Surely you wouldn't want to repeat the code for that in every effect with non-zero latency? We'll need a single piece of code that can handle different latencies anyway for the various third-party plugin APIs we support.
Most helpful comment
Make it known.
virtual f_cnt_t latency();馃槈If anything, latency compensation for dry/wet is a reason in favour of, not against, handling this in
Effect. Surely you wouldn't want to repeat the code for that in every effect with non-zero latency? We'll need a single piece of code that can handle different latencies anyway for the various third-party plugin APIs we support.