lucianodato / noise-repellent

Lv2 suite of plugins for broadband noise reduction
GNU Lesser General Public License v3.0
455 stars 38 forks source link

Fix bypass for hosts providing in-place buffers #122

Open jmaibaum opened 2 months ago

jmaibaum commented 2 months ago

LV2 hosts can use the same buffer for input and output. As a popular example, Ardour chooses to do so, making the soft-bypass option a no-op, the plugin is thus "always on". To fix this, I introduced side buffers (1s long each) where we keep a copy for signal_crossfade_run() in case input_{1,2} == output_{1,2}.

1s long side buffers should be plenty for all usage during editing, yet I have no idea if they are long enough for example in free-wheeling during export. Just in case, I am discarding input longer than 1s to not overflow the buffers.

I read that you are not maintaining noise-repellent right now, but in case this changes, I wanted to make sure that you have the fix available. Thanks for this great plugin! :smiley:

Fixes #113