[gmpi] Re: New Reqs 3.8 - Events
- From: "gogins@xxxxxxxxxxxx" <gogins@xxxxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Tue, 23 Dec 2003 09:11:18 -0500
Thanks for your response, now we're getting real. I propose some new
requirements:
GMPI shall support tempo maps, to be provided to plugins as one polynomial
spline per sample buffer, one such tempo map per channel or group of
channels.
GMPI shall provide an API to plugins for converting from music time on a
tempo map to sample frame position, and vice versa.
GMPI shall provide an API to plugins for creating and destroying tempo
maps, getting and setting tempo maps by identifier, and getting and setting
the elements of tempo maps.
Original Message:
-----------------
From: Paul Davis paul@xxxxxxxxxxxxxxxxxxxxx
Date: Mon, 22 Dec 2003 20:38:11 -0500
To: gmpi@xxxxxxxxxxxxx
Subject: [gmpi] Re: New Reqs 3.8 - Events
>If the plugin only knows music time at the beginning of the sample buffer,
>or with every received event, that's not precise enough. In order to
>represent music time at any large multiple of the sample frame rate, the
>host must send to the plugin not only the instantaneous music time and
>tempo, but also the derivative of the tempo or, if the accelerando or
>ritardando is not perfectly linear, a spline function and its terms so that
>the plugin can interpolate the correct music time. Otherwise, sample frame
>synchronization of music time is not possible.
>
>I would like to have both of these facilities - polling and polynomial
tempo
>maps - since each is useful for different purposes, but if I had to choose
>one, I would take the ability to poll for the exact music time on each
>sample frame.
i don't think that anyone here has ever proposed limiting the
conversion in either of the ways you are proposing.
i think its clear that musical time cannot be assumed to be either
constant or linear over the duration of a buffer.
i think its also true that a GMPI graph might contain more than one
tempo map. so i would hope that rather than attempt to provide plugins
with musical time per se, the GMPI SDK would instead provide a way to
convert between sample times and musical times given a tempo map.
this does imply a new area for the reqs document that we have not yet
covered: what does a tempo map look like?
but i don't think that GMPI should contain any concept like "what is
the musical time now" without reference to a particular tempo
map. given the map, everything else can be computed (albeit at some
considerable computational cost).
--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: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ .
----------------------------------------------------------------------
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: New Reqs 3.8 - Events
- From: Steve Harris
- [gmpi] Re: New Reqs 3.8 - Events
- From: Tim Hockin
Other related posts:
- » [gmpi] New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- » [gmpi] Re: New Reqs 3.8 - Events
- [gmpi] Re: New Reqs 3.8 - Events
- From: Steve Harris
- [gmpi] Re: New Reqs 3.8 - Events
- From: Tim Hockin