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

jorgen support at xt-hq.com
Sat Jan 7 16:32:36 UTC 2006


torbenh at gmx.de wrote:

>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.
>
>
>  
>
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.





More information about the Linux-audio-dev mailing list