Me again ;-). Now I found a solution for the 2 years old issue #42 which is closed but not fixed yet.
Problem description:
Pugl-based Plugin UIs are realized in jalv and ardour with size zero (or maybe (1, 1) - I'm not sure) if no ui_resize() (provided as LV2 feature) is called instantly. Even if puglSetSize() or puglSetSizeHint() is called prior puglRealize(). jalv addidtionally prints error messages on the screen. To visualize the problem (jalv with B.Amp at 100x100 (but not displayed) is in top left):
ui:resize became deprecated as requested by faktx (AFAIK, didn't check). The manual resize mechanism (dragging) without resize as feature or interface fully works in jalv, ardour, reaper, zrythm, and carla. This was also one of the reasons to deprecate. Only the zero size-intitialized UIs in jalv and ardour stopped me to remove resize from my code, yet.
Solution:
I saw that @brummer10 uses XSetWMNormalHints() instead of XSetNormalHints().
Tests:
This works with all hosts tested (jalv, ardour, reaper, zrythm, carla, qtractor) without any error message. Also my standalone test apps (like B.Widgets widgetgallery) work as expected.
Note:
Calling puglSetSize() or puglSetSizeHint()afterpuglRealize() still produces different host-dependent results. Only to keep in mind, no TODO for now.
Me again ;-). Now I found a solution for the 2 years old issue #42 which is closed but not fixed yet.
Problem description: Pugl-based Plugin UIs are realized in jalv and ardour with size zero (or maybe (1, 1) - I'm not sure) if no
ui_resize()
(provided as LV2 feature) is called instantly. Even ifpuglSetSize()
orpuglSetSizeHint()
is called priorpuglRealize()
. jalv addidtionally prints error messages on the screen. To visualize the problem (jalv with B.Amp at 100x100 (but not displayed) is in top left):ui:resize
became deprecated as requested by faktx (AFAIK, didn't check). The manual resize mechanism (dragging) without resize as feature or interface fully works in jalv, ardour, reaper, zrythm, and carla. This was also one of the reasons to deprecate. Only the zero size-intitialized UIs in jalv and ardour stopped me to removeresize
from my code, yet.Solution: I saw that @brummer10 uses
XSetWMNormalHints()
instead ofXSetNormalHints()
.Tests: This works with all hosts tested (jalv, ardour, reaper, zrythm, carla, qtractor) without any error message. Also my standalone test apps (like B.Widgets widgetgallery) work as expected.
Note: Calling
puglSetSize()
orpuglSetSizeHint()
afterpuglRealize()
still produces different host-dependent results. Only to keep in mind, no TODO for now.