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:
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 caseinput_{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