LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
7.98k stars 994 forks source link

Lv2 plugins with no outputs should be loadable #7191

Open JohannesLorenz opened 5 months ago

JohannesLorenz commented 5 months ago

Enhancement Summary

Currently, a few of plugins will not load in LMMS, saying - no audio output channel (if you have LMMS_LV2_DEBUG set).

This is a missed opportunity, because those plugins could be used well.

Implementation Details / Mockup

As favored in discord, since LMMS requires to fill output buffers for all plugins, the solution is to let LMMS fill the output buffer with something sane in Lv2Proc::copyBuffersToCore, even if the plugin does not provide output via an output port. It has been agreed that in that case, the output buffer just shall mirror the values of the input buffer ("pass through").

An implementation must be careful so that for these plugins, the Lv2Proc::outPorts() function will never be called.

Please search the issue tracker for existing feature requests before submitting your own.

JohannesLorenz commented 1 month ago

This might have merge conflicts with #7387 , so waiting for that PR.