1- GUI programming, and interface/audio syncronization.
As well as I can
Is it accepted to lock in cases where a destructive operation is being
performed?
As far as I am concerned it is never acceptable for a regular thread to
lock an rt thread for exactly the reason you mention: priority inversion
deadlock. You forgot to mention one other method for achieving this
communication; System V ipc messages, which i prefer because they don't
lock (if used right) and they are simple. See the man pages for msgget,
msgsnd, msgrcv.
3-Host instruments. I remember some discussion on XAP a
while ago,...
I think that LADSPA plugins can be used as softsynths to good effect.
LADSPA hint # 0x2C0 (LADSPA_HINT_DEFAULT_440) allows for a plugin to be
pitch controlled. This is not as fancy as other plugin api's but it
works and I think we will see more and more use of it. Using a LADSPA
plugin as a softsynth requires a decent amount of work on the part of
the host: each LADSPA plugin instance is only one voice and polyphony
must be handled by the host. However, there are now hosts out there that
have the framework to handle this.
4-Interface abstraction for plugins.: We all know how
our lovely X11..
Steve Harris proposed the use of (rdf was it?),
Steve Harris' lib-rdf is
available:
http://plugin.org.uk//lrdf/
but i have not used it and can not say anything useful about it. It is
used by ardour though.
-jacob robbins.....