Closed djiamnot closed 4 months ago
Thanks, what are the offending plug-ins ?
Tried something according to what I could read on the internets, if you can pull and try the above
ah I can reproduce with the Calf plug-ins indeed... :|
hmmm... I tried to check other hosts: Qtractor and LMMS but it seems that neither try to show the native UI for Calf plugs, so I'm wondering if there's a deeper incompatibility here ? I thought the suil library was used to make this work but maybe not... @rncbc any idea if that is just not a tractable problem ? (or did I just miss the open GUI button in Qtractor :x)
qtractor does open both ways: a generic stock GUI (plugin > Properties...) and the plugin's native GUI if it has one (plugin > Edit...).
only qtractor builds of yore Qt5 may use libSUIL; on Qt6, qtractor uses its own LV2UI wrappers to X11 and Gtk2 LV2 GUIs (nb. calf is the later kind); of course, qtractor has to be built with all the necessary support for Gtk2+ development libraries and headers, for it to work or show the Calf GUIs.
okay, when trying here, Plugin > [Edit...] does not open anything so I guess it's my distro's build (which uses Qt6) which lacks the relevant things
I think I got it @djiamnot ! To check that it was the same issue than you have, can you try to open the GUI while the score is playing and has reached the LV2 execution ?
after a pull and rebuild, score seems to hang after displaying this in the terminal:
QVariant::load: unknown user type with name TimeVal.
(ossia-score:378853): GLib-GObject-WARNING **: 10:54:03.978: cannot register existing type 'GdkDisplayManager'
(ossia-score:378853): GLib-CRITICAL **: 10:54:03.978: g_once_init_leave: assertion 'result != 0' failed
(ossia-score:378853): GLib-GObject-CRITICAL **: 10:54:03.978: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
it does nothing after that, does not open its window, either.
But for the record, the noted issue was with Calf and Gx (guitarix) plugins. Just before the pull I tried with some LSP plugins and Nekobi which appeared to work fine.
hummm, could you try using a gtk2 theme like it says here ? https://bugs.launchpad.net/ubuntu/+source/qtstyleplugins-src/+bug/1874102
hum, so after trying on an ubuntu VM, it turns out that just this code:
#include <QApplication>
#include <QLabel>
#include <dlfcn.h>
int main(int argc, char** argv)
{
using gdk_init_check_ptr = void *(*)(int*, char***);
auto gdk = dlopen("libgdk-x11-2.0.so.0", RTLD_LAZY | RTLD_LOCAL);
auto gdk_init_check = (gdk_init_check_ptr)dlsym(gdk, "gdk_init_check");
gdk_init_check(nullptr, nullptr);
QApplication app{argc, argv};
QLabel label{"foo"};
label.show();
return app.exec();
}
fails, because by default on Ubuntu the theme is qgtk3 which already calls gdkinit and calling it twice either hangs or crashes. --
in the meantime @djiamnot what you can do is :
sudo apt install qt5-style-plugins
QT_QPA_PLATFORMTHEME=gtk2 ./ossia-score
with that, it seems to work here on a 20.04 VM...
That's so funny! I confirm that it works, however yesterday it was not. It may have been user error, I run fish as default shell and there may be some detail in handling environment variables interaction that escapes me. It now runs correctly in both bash and fish and I can open LV2 native interfaces, including Calf and Gx. Thank you for your patience and sorry for the noise.
no worries, it's not noise, the problem still exists (but I don't see an easy way out of it right now..)
(reported https://github.com/lv2/suil/issues/16 on suil, maybe some answer will come out of it..)
upstream LV2 / Suil has removed support for displaying GTK2 UIs altogether so this is no longer relevant
Platform:
On a freshly compiled score from
master
(as of 2021-11-21), I can see a list of LV2 plugins and use them until I try to open the native interface. It segfaults. I observed the same behaviour on several plugins. Below you will find score's output:and a gdb stacktrace: