[gmpi] Re: New Reqs 3.8 - Events

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Mon, 22 Dec 2003 11:54:03 -0800

On Mon, Dec 22, 2003 at 02:05:17PM -0500, gogins@xxxxxxxxxxxx wrote:
> Perhaps I should explain a bit. I do both algorithmically generated scores
> and notated scores. For algorithmic scores, I prefer absolute time from the
> beginning of the score in seconds, not bars and beats, but absolute time in
> samples would be OK. 

Hrrm, OK.  And if you start performace in the middle of a piece?  Does the
host have to go through from the start of the track to the current start-point
and calculate the time, taking into account tempo changes?  I mean, if you
want accurate 'N seconds since beginning' it must.  Or is it sufficient that
'beginning' be ths start of playback?

Can't your plugin track that itself?  Every time it gets called for
processing, add keep a running counter of samples?  Are there any other
plugins that need this?

The immediate problem I have with it is that you need to scan through all
the material before 'now' to know 'now' accurately.  It is entriely
dependant on what has happened before.

> For notated scores, obviously, absolute time in bars and beats is
> necessary. The notes, however, do not necessarily start right on the beat,
> but usually have some swing; they lag or lead the beat. The score

Nothing stops this, of course.  Assuming you care, your plugin should be
able to get notices of musical milestones (beats/bars) as well as temporal
control (tempo, meter).  With that information, you should be able to fully
know how much to swing, right?

> I must know the current music time AT EVERY SAMPLE FRAME so that I can

That's easily calculable, I think...

> In my opinion, getting this right, which means not only ensuring the
> ability to dispatch events based on sample-frame accurate music time
> including swing and phrasing, but also making sure that the API is simple
> and natural to use for this purpose, is a critical point for GMPI.

OK.  Right now we're supposed to be talking about the timestamp on events.
I'm changing the subject, for now.

> Classical music has swing just like jazz does, only it's a different kind
> of swing. Classical music also has rubato and many passages of slowing down
> and speeding up, not usually in a straightforward linear manner; hence
> digitising music time requires not only instantaneous time, and not only
> linear ramps, but even polynomial splines.

I'm not sure what you're askign for anymore.  I've always assumed plugins
would have full access to timestamped information about temporal control
changes.  If the tempo changes, your plugin gets notified.  Given that, your
plugins which care so deeply about musical time can be accurate to the
sample of what is happening, while othe rplugins that don't care are not
bothered.

> In other words, it would be fine with ME if GMPI did not mess with music
> time at all, except with respect to beginning of performance or other
> timeposts or section markings in scores. That would suffice for my own
> purposes. 

I'm puzzled now.  You *don't* care about music time, except for all the
things we say we already need.

????

> But I rather think that many users, e.g. film composers, will need the
> splines and the polymeters and the whole nine yards.

I think you've confused me more than anything else.  Sorry, not trying to be
thick.  I'm totally unclear on what you're asking for that we don't have?

----------------------------------------------------------------------
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: