I think we need to define what it means for a "host to be a plug-in".
I've been keeping in mind the simple model of a single plug-in attached to
a single host, with the interface between them being non-symmetric, that
is, certain messages or function calls are initiated only by the host to
the plug, and different messages or functions are initiated by the plug to
the host. In this sense the host is readily distinguishable from a plug,
and accordingly would *not* be a plug. The plug is free to communicate with
whatever it wants to, but the GMPI part of the interface is strictly
between a single plug and a single host. I like the idea of making the
interfaces symmetric when it makes sense to do so, for example, methods to
query the other side about capabilities, send events or control
information, etc. The idea of a plug being a node in a graph can be
supported with the above model. The synchronous data and asynchronous
control/event connections can be made to other GMPI entities by negotiating
with the host. This is probably the simplest approach.
One can abstract the "node in a graph" concept to include the host<->plug
interface itself, or perhaps the interface is simply an asynchronous event
stream. I'd like to hear more.
Bill
At 03:05 PM 3/24/03 -0700, you wrote:
Im not sure I agree here. Lets, for instance, take a host which requires exclusive access to hardware resources, like a sound card or a video camera. To arbitrarily say that that host should be embeddable inside another host, or a chain of hosts, which all may be competing for the same hardware, is pushing it a bit.
So, once again, I am not arguing that it should not be simple to write a GMPI host which is also a plugin. It should be easy. But I cannot agree with us saying that any host should be easy to turn into a plugin.
Tim Hockin wrote:The host should be a plugin, plugins should be able to host plugins, and in
I am rather uncomfortable with saying that the host SHOULD be a plugin. I am absolutely in favor of allowing plugins to host other plugins, but
If GMPI is done right, it is simple to make your host be a plugin. No need for rewire or any of that. If it is hard or impossible to do this, then we screwed up. ---------------------------------------------------------------------- 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
-- Mike Berry Adobe Systems
---------------------------------------------------------------------- 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
---------------------- Bill Gardner Wave Arts, Inc. 99 Mass. Ave., Arlington, MA 02474 Tel: 781-646-3794 Fax: 781-646-7190 billg@xxxxxxxxxxxx
---------------------------------------------------------------------- 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