ssj71 / rkrlv2

Rakarrack Effects Ported to LV2 Plugins
GNU General Public License v2.0
54 stars 10 forks source link

Fix issues with hosts providing in-place buffers #36

Closed x42 closed 5 years ago

x42 commented 5 years ago

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.

ssj71 commented 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. :\