[gmpi] Re: Topic 6: Time representation

  • From: George Yohng <george@xxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Tue, 29 Apr 2003 21:46:09 +0300

Hello!

For MIDI only plugins, timeline could be unwrapped based on instantaneous tempo.

My way of seeing this is:

1. sample-sync is dependent on current BPM (beat size in samples will vary)
2. MIDI clock follows BPM changes, and MIDI plugins act exactly in the same way, as they would do with constant tempo.


For sample-based plugins, BPM - is nothing but automated parameter - and it should be considered as such by "tempdelay" and others such plugins.

Say, MIDI plugin sends another event after 5 "midi units". Actual length of "midi units" will vary depending on current BPM, as most of MIDI plugins have "musical" sense and are bound to tempo anyway.

If MIDI plugin developer would desire to send event after a constant delay, not depending on BPM, a simple implementation would allows to do it like this (I describe in metalanguage):

NextMIDIEventPosition = host.midiPositionFor(host.getPositionInSamples()+0.5sec*host.sampleRate());

I think, it's conceptually clean.

Thanks,
George



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