[Dev] gui instance host question

Jamie Bullock jb at integralive.org
Wed Jul 9 11:17:08 BST 2008


Hi,

On Wed, 2008-07-09 at 09:38 +0200, Henrik Frisk wrote:
> Stephen Sinclair <sinclair at music.mcgill.ca> wrote:
> 
> > Ah.  Well, I understood from this diagram:
> > http://www.integralive.org/dokuwiki/doku.php/lib:design
> > 
> Just as I sent off my last message I realized you must have looked at
> that diagram.
> 
> > that both the GUI and the module host have their own instance hosts
> > accessed via bridges.
> 
> This is one possible way in which the system may be set up. But if you
> have a system set up in a controlled environment (a single machine) you
> would typically have *one* IH (one instance of libIntegra). Each bridge
> would tap into this single instance 

That's not quite right. It isn't possible for a bridge to be loaded
without an IH -- the Instance Host is also a bridge host. Even on one
machine you'd need multiple instances of libIntegra if you want to use
multiple module hosts. However libIntegra only compiled with
--enable-instance_host is very lightweight (only 32k), and liblo, its
only dependency is only 36k.

> (if I'm not mistaken libIntegra
> currently is a singleton and may not be loaded in multiple instances on
> the *same* machine - this should be fixed though).

Very true! Actually this is only for really silly reasons (like the fact
that the server port is hardcoded in instance_host.c) and should be
fixed asap. It is currently only possible to have one IH per
*network* :-/


> If the system has multiple IHs only *one* may read and save module and
> collection defintions (libIntegra may be compiled with the IH
> functionality *only*). And in this case they communicate via OSC through
> libIntegra.

Yup.

I would also add that although it isn't possible to have a IH-less
bridge (see previous email), it is perfectly feasible to have multiple
bridges per IH (although this isn't implemented yet). This could be
useful if one of your bridges ran its instantiation functions across the
network stack. The SuperCollider bridge will work like this (it will tap
into SCServer's OSC messaging protocol). In this case it might be
desirable to have the integra_sc3_bridge loaded into the same IH as say
integra_pd_bridge if your collection is spread across those two apps.

-j


-- 
www.postlude.co.uk
http://www.linkedin.com/in/jamiebullock





More information about the Dev mailing list