Closed x42 closed 5 years ago
Thanks for the PR. I've been aware of this issue (see #20 ), but the proper fix is to refactor the DSP algorithms to just work properly so I've never gone through to implement this solution. However, as I haven't had the time/energy to devote to this project I'm pretty happy to apply this fix. I don't know when I'll have a chance to test it. I trust your code so I'll go ahead and just apply this. Hopefully rkrlv2 hasn't been causing lots of issues for Ardour. :\
This fixes dry/wet as well as bypass x-fade and some undefined behavior when a host provides identical buffers for input, and output (e.g. Ardour).
A LV2 plugin needs to be able to process data in-place - or specify http://lv2plug.in/ns/lv2core/#inPlaceBroken
However many of the rkr algorithms do expect different I/O buffers, as does the bypass and dry/wet mechanism.