On Wed, Dec 18, 2002 at 11:35:08PM +0100, David Olofson wrote:
What is pause, actually? The transport is either stopped or rolling.
What makes "paused" different from "stopped"?
"Freeze" would be one variant, which basically means all plugins that
care about transport events stop in their tracks, waiting to continue
exactly where they left off. (As opposed to what normal MIDI + synth
setups do: Stop the notes, so half the arrangement is gone for two
bars when you unpause... *heh*)
I was thinking of Pause like on my tape deck; Of course this could also be
called freeze, or like midi stop/continue
state is not needed if a control is available to
indicate shuttle speed/direction (eg. a float; 0.0 if in pause; 1.0
if normally running; >1.0 for fast forward; negative for reverse
scrubbing etc. This makes the plugins aware of varispeed and
shuttling from the host.
That would only move the implementation details of that into all
plugins, possibly exposing a number of ways to have varispeed throw
some plugins out of sync with musical time. (Others won't care at
all, so that's not a problem.)
What you'd do is implement this as a feature of the "timeline
generator", in about the same area where you would implement sync
with external devices. Instead of mapping musical, SMPTE etc, time
directly via tempo to audio time, scale it through this "SPEED"
control on your timeline generator.
The net result is that if tempo is 120 BPM and SPEED is 2.0, you get
fast forward at 240 BPM.
Of course, you may run backwards and stuff that way as well, but
don't expect the synths to play sounds backwards... ;-)
yes, that is the idea. In fact some plugins would indeed play the sound
backward (eg. scrubbing over a sample...), depends on the plugin :-)
this SPEED control allows the plugins to anticipate to the POSITION change
events or discontinious position passed for the block to be processed. Fast
forwarding without SPEED hint would result in fast skipping (like seeking on
a mini disk deck); a slowdown would be euh, also result in repositioning,
but nudging a bit back every block.
Frank
--
+---- --- -- - - - -
| Frank van de Pol -o) A-L-S-A
| FvdPol(a)home.nl /\\ Sounds good!
|
http://www.alsa-project.org _\_v
| Linux - Why use Windows if we have doors available?