[linux-audio-dev] VST compiled for linux / gui message loop

torbenh at gmx.de torbenh at gmx.de
Sat Jan 7 15:45:21 UTC 2006


On Sat, Jan 07, 2006 at 02:43:24PM +0100, jorgen wrote:
> torbenh at gmx.de 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.


-- 
torben Hohn
http://galan.sourceforge.net -- The graphical Audio language



More information about the Linux-audio-dev mailing list