On Thu, May 12, 2005 at 11:01:15AM -0400, Jesse Chappell wrote:
Have you considered process separation for the engine
and the
"local GUI" ? At least an option to run aeolus with no gui/x.
Not process separation, but the local user interface will be
a configuration and comannd line option: --x11 or --txt. The
user interfaces will be dynamically loaded.
This is similar to how SooperLooper and Om handle
bidirectional
OSC communication. SL has both the concept of single request
return values (by taking a return URI and osc path as arguments
in the request) and the concept of clients registering themselves in the
engine for changes to specific values, and for autoupdating of
values that continuously change. My register calls usually take
a URI and an osc path that will be used for the callback message
(with predetermined arguments).
Do you mean the client specifies the format of the reply messages
in its requests ? Why should that be necessary ?
It seems to work fairly well, I like the idea of all
communications
using the same mechanism.
Yep, that's the idea.
One thing I forgot to mention regarding /addclient : the response
to this will include a client ID (integer) that is a required
parameter to all polled requests for information, such as e.g.
the list of stops. This ID identifies the client on the common
server socket (I see no other way to do this with a single socket).
--
FA