[linux-audio-dev] XAP Time/Transport - varispeed/shuttle

David Olofson david at olofson.net
Wed Dec 18 17:41:01 UTC 2002


On Wednesday 18 December 2002 21.44, Frank van de Pol wrote:
[...]
> > TRANSPORT: a plugin can have a TRANSPORT control
> >   - units: absolute ticks (float)
> >   - deliver a TRANSPORT control when transport starts (start
> > tick), stops (negative), jumps (new tick value) and periodically
> > (recommend each beat or each measure)
>
> Do I understand correctly that the engine state (Stopped, Running,
> Pause etc.) is send to the plugings ising the TRANSPORT control?

Yes, that's the basic idea.


> In fact a Pause

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*)


> 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... ;-)


//David Olofson - Programmer, Composer, Open Source Advocate

.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`---------------------------> http://olofson.net/audiality -'
   --- http://olofson.net --- http://www.reologica.se ---



More information about the Linux-audio-dev mailing list