[gmpi] Re: Topic 4: Host Interface

  • From: Paul Davis <paul@xxxxxxxxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Mon, 24 Mar 2003 15:35:56 -0500

>On the topic of Rewire is there any reason GMPI cant define a seperate API
>for inter application comunication? At least for syncronization and media
>streams. It seems the main reason for Rewire and the need for 'out of
>process' is for people to use two hosts at the same time, and i dont see

no, it has nothing really to do with that. the idea is to be able to
write your code as a standalone application that still:

      * runs in sample-sync with the "host"
      * can share audio and other data with every other
           "plugin"

(obviously the terms "host" and "plugin" in such a system mean rather
different things than they do in an in-process-only system). the point
is that you change the way you write audio software: an
in-process/shared-object plugin system has you writing shared objects,
the out-of-process plugin design allows you to write standalone apps
that can do everything an in-process plugin can do, but with less
interference with and by the host, at some performance cost (how much
depends primarily on the memory footprint of the process() code path).

as steve pointed out, as far as its possible to determine without
signing NDA's, rewire is not an out-of-process system per se. it still
requires that the host load a shared object in order for the
plugin/client to operate. with a system like JACK, the plugin/client
is a completely standalone process containing a thread whose execution
is controlled by the "host". there is no shared object, only IPC (via
zero-copy shared memory and a wakeup mechanism).

i should probably note that JACK also supports in-process clients
too. 

my main point here is that in my understanding of the term
"out-of-process", you can't "support out of process communication" in
some vague manner. its either an integral part of the design of the
host, or its not. mechanisms to send messages to other processes are
not a system for running out of process plugins/clients. 

i don't support the idea of GMPI being written to support
out-of-process plugins, even though i think they are an incredibly
neat idea, and a very useful thing to be able to do.

--p



----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: