[gmpi] Re: New Reqs 3.8 - Events

  • From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Wed, 17 Dec 2003 13:44:44 -0800

Sorry to do this, but can I revisit an earlier decision?

I said:

This seems to imply that when the plug receives events, all event times are expressed in sample numbers, as opposed to musical time or anything else. Was this intended?

Tim said:
That's right - that's what was decided the first go-round with these.

I said:
I know we had a long, painful discussion on all this once but don't remember the resolution. There was one efficiency issue that musical time events sitting in a queue that the plug could look ahead into would of course have to wiggle around in sample-time/abs-time space in the event of tempo changes, and that that could mean a lot of wasted cycles and maybe reordering in the event buffer.

I'm concerned that having no possibility for look-ahead is going to limit GMPI, and my intuition (sorry, that's the best I can offer) is that this will be more of an issue for musical performance events streams than it will be for mix automation style events. Maybe I'm just wrong about this, but I would like to hear what some of the experimental music advocates have to say about the matter.


One possible compromise would be to allow any plug that wants it to request a second event queue, which would be different from the main event queue, in that it would use musical timestamps and have lookahead well beyond the current process() frame. The host would add future note (and other performance controller) events to this second queue as soon as they became known. Once added to the queue the events would not change (because their musical times do not change with tempo changes as happens with sample timestamps) so queue maintenance work would be minimal (and only for plugs that request it). With this kind of queue, the plug is free to look as far ahead as it cares to, but the host and system burden is kept small. In fact, the musical queue could be just an index of { musTimestamp, eventID } pairs, i.e. references to event message records stored elsewhere, including in the main event queue.

Now, i's quite possible that the use cases for musical look-ahead aren't strong enough to justify this kind of thing, but I felt the idea should be at least mentioned during this pass.

-- 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: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: