Re: [linux-audio-dev] Mustajuuri -> LADSPA plugins.

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Mustajuuri -> LADSPA plugins.
From: Paul Davis (pbd_AT_op.net)
Date: Wed Mar 28 2001 - 20:12:19 EEST


In message <20010328165700.B3513_AT_ecs.soton.ac.uk>you write:
>On Wed, Mar 28, 2001 at 05:33:59PM +0200, Werner Schweer wrote:
>> > Is there anything to prevent the plugin from spawning a second process
>> > which has its own connection to the server, but is linked to the process
>> > via some sort of IPC? I'm guessing this would be frowned on though ;)
>>
>> IF the application uses more than one thread (which is typically true),
>> one thread is dedicated to the gui. Only one thread can process the
>> X11 event loop.
>
>I didn't say a thread, I meant a seperate process, connected via IPC.

no, there's nothing to stop this. if the host decides to dynamically
load code that the plugin claims implements its GUI, there is nothing
the host can do to stop the plugin from calling fork(), or unlink() or
anything else for that matter.

which, incidentally, is why we need to rapidly get a grip on
capabilities, so that these programs can run with the CAP_RESOURCE
capability to allow for RT scheduling and mlock(), but no be used as
root cracks.

but sure, there's nothing in principle from preventing this from being
done. and the way that you've phrased it this time makes it seem more
appealing than it ever did before. instead of LADSPA GUI XML, we could
just standardize on a way for the other-process GUI to communicate
with the plugin-instance in the host and/or the host. then people
could build totally arbitrary GUI's using whatever toolkit they want.
 
>> Plugin and (Plugin-) gui should be handled completly separate. It should
>> be possible for the plugin gui to exist without any plugin instance.
>> Parameter changes are send as messages to the plugin host. The plugin
>> hosts routes this parameter changes to the gui.
>
>In LADSPA the host controls th plugin's parameters.

But only as the last step. Something presumably tells the host to
modify the control port. It could be an in-process GUI, part of the
host GUI, an out-of-process GUI using some kind of IPC to its
plugin-instance counterpart, or it could be the phase of the moon.

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Apr 07 2001 - 15:39:27 EEST