I’m trying to make a GUI for a VSTi plugin in Qt on Linux.
I managed to create a VSTi gui-less synth as a shared library.
When Renoise opens up the external synth, it opens up an X11 window, runs an AEffEditor::open() in the shared library with a handle to it.
How am I supposed to take that handle and draw on it? I find that difficult/impossible with Qt.
On Windows you apparently make a QWinWidget with the window handle as a parameter, and that makes it into a QWidget. (example here)
When I try the equivalent on Linux, that is create a QWidget, and run QWidget::create(x11 handle), I get this error:
X Error: BadAccess (attempt to access private resource denied) 10
Major opcode: 2 (X_ChangeWindowAttributes)
Resource id: 0x4400140
How am I supposed to take the X11 handle and make use of it? Or is it possible to make Renoise not create the window for me, so I can create it myself?
Some example code: http://codepad.org/YAYuyv1k Error is generated when calling create().