[gmpi] Re: Topic 4: Host Interface
- From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Mon, 24 Mar 2003 11:35:37 -0800
1. Are plugins run in-process or out-of-process?
I've never written a plug-in host, so this question may seem naive,
but: How explicit does this really need to be? Would there be a
significant downside to just making the rule that the DSP
gmpi::process() function needs to be thread-safe with respect to the
plug's other functions (control & GUI )? Seems like then the host
can run the process() thread either in-process or out-of-process
(with respect to its main thread) however it likes. Enlighten me?
2. What kinds of special needs are there in events to/from a plugin?
I would like to see the work include an investigation into the idea
(previously suggested by many) that GUI (including perhaps GUIs
distributed across machines, networks, or processes) could perhaps be
handled in part via a message/event interface (not only a
VSTGUI-style API). If this turns out to be too much of a
complication then it should not be included, at least not in the 1.0
spec. But if it can be done in a simple yet powerful enough way,
there may be worthwhile advantages in terms of system architecture
flexibility.
3. Is the host a plugin too?
Agree that we should preserve the possibility of plugs-within-plugs
until and unless a compelling reason to do something to preclude that
arises. Guess this depends in part on whether there's a requirement
to send parameter-setting commands to an 'inner plug' from anywhere
outside of its 'outer plug', and similar GUI issues. I mean, it's
hard to see how you could prevent a plug from calling the ::process()
functions of a bunch of sub-plugs it's decided to manage on its own.
4. Can the host be a chain of simpler plugins (sequencer, timeline,
automation)?
This is interesting and would IMHO need to be looked at more closely
before we could make a good decision about whether this is a
requirement we really want. It may introduce non-obvious design
requirements. In other words, it would mean that plug-ins would have
to be able to act as sources for all system-control information that
plug-ins can consume, at least to the degree necessary to assemble a
complete basic SW music system.
5. Does the host interface provide transport control, UI updates, track
information?
Can I get some clarification here? Does this mean that the plug-in
would be able to control these things, or query them, or that the
plug-in would get (or be able to ask to get) events? Probably some
mix of the above, yes? NB, this relates to #4 as well.
-- Chris
----------------------------------------------------------------------
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: