Added better desktop entry categorization (contributed by Dennis Braun).
Added protection from NaNs, Inf’s and denormal floating point values passed to plugins’ audio
inputs, all considered to be invalid values are replaced with zeros.
Added ‘-fvisibility=hidden’ compilation option to avoid conflict between builtin resources of
shared objects that contain implementation of different plugin formats.
In previous releases, all symbols were published and visible.
When an application tries to load two libraries, one symbol from the first library overrides the same symbol in the second library. I’ve reproduced the case by creating the empty session and adding some LADSPA plugin to the bus. Then I’ve added the second LV2 plugin and all worked OK until I’ve tried to run the UI.
When I tried to run the UI, Ardour crashed because LV2 library tried to initialize and perform access to builtin resources from LADSPA library which are empty for LADSPA and not empty for LV2.
So to make libraries non-confilicting, we are required to make these resource symbols invisible by applying ‘-fvisibility=hidden’ to the build. The best way is to make all symbols invisible except the ones required to be visible to the host.
Thank you for the work! I would love to get started using these, but I read on Linuxmusicians forum that a critical bugfix is coming up real soon ? Or is it possible / feasable to install 2 versions side-by-side ?