[gmpi] Re: 3.9 (draft) use cases and stuff
- From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Fri, 20 Feb 2004 16:19:34 -0800
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.
But each of those works better with a different unit base. An audio track
(without time stretch or beat marking) would not care about the musical
unit. It would have a hard time converting "Bar 40, Beat 3" into a proper
sample offset. A music-oriented sequence track would have a hard time
converting "sample 123456" into a musical position.
Isn't this dependent on the host style? For a straight DAW-type host
timeline will be linear time (either SMPTE or samples), no musical
timeline. Musical score time would only be relevant in
musically-oriented hosts (in the Sonar, DP, etc. vein). We already
say events times are presented to GMPI plugs as (perhaps among other
things as well) as either sample frame numbers or sample frame
indexes, I guess the outcome of that decision determines whether the
transport position at start of timeslice is delivered to the plug in
> What if meter changes dynamically, but the sequenced data no
When does a sequencer plugin cease to become a plugin, and start
becoming a host? <g>
A question I have been asking myself more and more. Having a dynamic tempo
is not too bad. Having a dynamic time signature is a LOT more complicated.
Maybe it is not worth it? Or maybe those FEW plugins that care about meter
will figure it out on their own?
A plug-in format that assumes time signatures never change would be
pretty unacceptable IMHO. Also if the host is doing its job, a
realtime GMPI plug will never see a music event scheduled for any
time outside of the current timeslice, so this isn't really much of a
plug problem. Since all events go through the host for scheduling,
can't we say it's the host's responsibility to make sure event beat &
sub-beat numbers don't exceed what the current time sig allows? If
we want to bend over backwards we could say there's a mandated way to
try to fix invalid event times, maybe by doing a modulo against the
current time sig and bumping the bar number, but on the other hand
maybe invalid events should never be delivered and the host should
signal en internal error to the user.
-- 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.
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
Other related posts: