It doesn't depend on the host's support in any
way. The host doesn't even have
to be an X client - the same library can be called by for example an internal
JACK client.
The shared library creates a thread for the X code, connects to the X-server
as a new client, and provides a set of widgets (C++ classes actually) and some
other code as a dedicated 'mini-toolkit'. It also provides methods for lock-fr
ee
communication with the audio code. The X-connection and thread are shared by a
ll
plugins.
have you considered the possibility that Xlib is not statically
thread-safe? if there are any globals in the implementation of Xlib,
this scheme will fail as soon as the host is using Xlib as well.
otoh, AFAIK, XFree86 is pretty much clear of all globals, so it
probably is a non-issue.
ps. fons - even if its not ready for use as a JACK client, i'd really
like to get a look at your SMPTE generating code. ardour really needs
it badly - its become more and more clear that we can't support MTC
master mode without kernel patches.
--p