[gmpi] Re: 3.9 (draft) use cases and stuff

  • From: "Ron Kuper" <RonKuper@xxxxxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Thu, 19 Feb 2004 08:06:13 -0500

This is very useful, Tim.

I've got a few comments, mostly pertaining to the need (or not) for
looking ahead into future tempo changes.  

2. Tempo sync
  A plugin wants to do a tempo-synced delay.  The plugin needs to find
  when the time will be exactly 3 beats from "now" at the current tempo,
  when that tempo changes.

I agree that this is a valid use case, but doesn't this put us straight
into a requirement that plugins be allowed to look-ahead to future tempo
changes?  It is possible to do tempo sync without tempo lookahead, just
as long as every tempo change that occurs within an audio frame is given
the plugin in time.  (Maybe just leave out the "3 beats from now" in the
use case.)

3. Quantizing

This poses an interesting problem which I'm not sure we've gotten to
yet.  A quantizer might need to snap events to a point in the time
located in the past.  IOW, an event at 1:1:005 might need to be
quantized to 1:1:000.  What happens in this case, is the audio
processing frame spans musical time 1:1:005-1:1:010, that is, the audio
processing frame for the desired quantized time has already passed?

I guess I'm saying this suggests that plugins need to be able to report
their processing delay in musical units as well as sample units?

Also, I think a quantizer can be written without needing to look-ahead
for tempo/meter changes.  

5. Automatic accompaniment

Again, can this be done without tempo map look-ahead?

6. Realtime tempo follower
7. Offline tempo analysis

I would think that 7 follows from 6, using the rule that offline is a
special case of realtime?

8. Sequencer tracks
9. Audio tracks
        Is it notified of transport position in samples?
This would be the "score time" (as opposed to the "stream time").  Every
processing frame would know the score time.

        What if meter changes dynamically, but the sequenced data no
        makes sense?
When does a sequencer plugin cease to become a plugin, and start
becoming a host? <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: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: