[gmpi] Re: MIDI: Proposed Reqs (try #2)
- From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Wed, 7 Jul 2004 13:42:31 -0700
Mike B. said:
Chris Grigg wrote:
3.15. MIDI
...
Req. 69: EXTERNAL MIDI IN & OUT - It must be possible for hosts to
control plugs from arbitrary MIDI 1.0 HW instrument controllers, HW
control surfaces, and SW outside the GMPI graph (though the
in-graph data need not necessarily be in pure MIDI 1.0 format).
This req, though I understand it, is a bit convoluted. Can I suggest:
Req. 69: EXTERNAL MIDI IN & OUT - Hosts are not required to support
any external control protocol, including MIDI. However, it must be
possible to write a host in which users can control plugs from
arbitrary MIDI 1.0 HW instrument controllers, HW control surfaces,
and SW outside the GMPI graph (though the in-graph data need not
necessarily be in pure MIDI 1.0 format). This includes but is not
limited to playing notes, adjusting parameters, host-side ad hoc
'click-and-wiggle' controller mappings, and System Exclusive
communication. It must also be possible for plugs to communicate to
arbitrary external MIDI devices (including other SW outside the GMPI
graph) by effectively emitting MIDI 1.0 for the host to route to
destinations outside the GMPI graph (though the in-graph data need
not necessarily be in pure MIDI 1.0 format). Plugs must not need to
use platform native MIDI I/O APIs to achieve this, it must be
possible using only the GMPI API.
If the only change you're suggesting is changing " It must be
possible for hosts to" to "Hosts are not required to support any
external control protocol, including MIDI. However, it must be
possible to write a host in which users can", then I see no problem
there -- it's what I meant, but much clearer about there being no
general req for all hosts to accept MIDI, OSC, etc.
Req. 77: MIDI-PARAMETER MAPPING - Plugs with MIDI-driven parameters
(in the sense of section 3.11 Parameters) must be able to expose to
the host an arbitrary MIDI-messages-to-parameters map. The map
must be changeable at runtime, for example when the parameter set
changes.
Why is this req necessary? Can't the plugin do it itself
using an actor? The host uses its own remapping, but since the MIDI
is stapled to the event, the plugin preprocessor can remap at will,
without having to add a new API element to publish parameter maps.
1. This was taken directly from Tim's version and the on-list
discussion, there really seemed to be good agreement that maps are
desirable.
2. I had the impression that an Actor was only needed in cases of
self-automation, linked parameters, and clipped parameters...?
Whereas you can have MIDI maps without any of those things being true.
3. Not sure, but it feels like there are some assumptions in there
about what the Actor reports back to the host, i.e. that the host
could somehow extract the map from the Actor... if so, can you
amplify?
4. Existence of stapled MIDI is not settled anyway.
-- Chris G.
----------------------------------------------------------------------
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: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- Follow-Ups:
- [gmpi] Re: MIDI: Proposed Reqs (try #2)
- From: Mike Berry
- References:
- [gmpi] MIDI: Proposed Reqs (try #2)
- From: Chris Grigg
- [gmpi] Re: MIDI: Proposed Reqs (try #2)
- From: Mike Berry
Other related posts:
- » [gmpi] MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
- » [gmpi] Re: MIDI: Proposed Reqs (try #2)
3.15. MIDI
...
Req. 69: EXTERNAL MIDI IN & OUT - It must be possible for hosts to control plugs from arbitrary MIDI 1.0 HW instrument controllers, HW control surfaces, and SW outside the GMPI graph (though the in-graph data need not necessarily be in pure MIDI 1.0 format).
This req, though I understand it, is a bit convoluted. Can I suggest:
Req. 69: EXTERNAL MIDI IN & OUT - Hosts are not required to support any external control protocol, including MIDI. However, it must be possible to write a host in which users can control plugs from arbitrary MIDI 1.0 HW instrument controllers, HW control surfaces, and SW outside the GMPI graph (though the in-graph data need not necessarily be in pure MIDI 1.0 format). This includes but is not limited to playing notes, adjusting parameters, host-side ad hoc 'click-and-wiggle' controller mappings, and System Exclusive communication. It must also be possible for plugs to communicate to arbitrary external MIDI devices (including other SW outside the GMPI graph) by effectively emitting MIDI 1.0 for the host to route to destinations outside the GMPI graph (though the in-graph data need not necessarily be in pure MIDI 1.0 format). Plugs must not need to use platform native MIDI I/O APIs to achieve this, it must be possible using only the GMPI API.
Req. 77: MIDI-PARAMETER MAPPING - Plugs with MIDI-driven parameters (in the sense of section 3.11 Parameters) must be able to expose to the host an arbitrary MIDI-messages-to-parameters map. The map must be changeable at runtime, for example when the parameter set changes.
Why is this req necessary? Can't the plugin do it itself using an actor? The host uses its own remapping, but since the MIDI is stapled to the event, the plugin preprocessor can remap at will, without having to add a new API element to publish parameter maps.
- [gmpi] Re: MIDI: Proposed Reqs (try #2)
- From: Mike Berry
- [gmpi] MIDI: Proposed Reqs (try #2)
- From: Chris Grigg
- [gmpi] Re: MIDI: Proposed Reqs (try #2)
- From: Mike Berry