[EMAIL PROTECTED] wrote:
On Sat, Jan 07, 2006 at 02:43:24PM +0100, jorgen wrote:
[EMAIL PROTECTED] wrote:
On Sat, Jan 07, 2006 at 11:58:49AM +0100, jorgen wrote:
Hi, Im coding a VST host for windows and linux. The linux version will
support VSTs compiled on linux and not using wine or aything. Of course,
there is not alot of native linux VST plugins around but that will
change (I already made one :P )
:) cool welcome abord. so you ported vstGUI ?
how will that work ?
does a vst plugin coder only recompile his plug then ?
No, I have made my own toolkit based on xlib calls. The host (energyXT2)
will pass a xlib Window handle that I use as a parent when calling
XCreateWindow:
case effEditOpen:
if (!editor)
editor = new CEditor(app, 0, wsChild | wsNoBorder, "",
100, 100, 200, 200);
#ifdef WIN32
SetWindowLong (editor->handle, GWL_STYLE,
(GetWindowLong (editor->handle, GWL_STYLE) &~ WS_POPUP)
| WS_CHILD);
SetParent(editor->handle, HWND(ptr));
#endif
#ifdef linux
XReparentWindow(dp, editor->handle, (Window)ptr, 0, 0);
editor->parentWnd = (Window)ptr;
#endif
editor->show();
result = 1;
break;
why dont you open a separate display connection for the plugin ?
then you can even move the gui updates to a different thread and there
you go...
look into gtkplug.c and gtksocket.c on how this works.
I do open a separet connection for display in my toolkit and gui updates
are already working by the dispatcher code in effEditIdle. If gtk can
create a thread for gui updates than it sounds like it will work, but a
gui update thread for each plugin? Whats the performance loss, I mean a
typical song projects has 10-30 plugins.