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

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] XAP Time/Transport - varispeed/shuttle
From: David Olofson (david_AT_olofson.net)
Date: Thu Dec 19 2002 - 00:35:08 EET


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


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Dec 19 2002 - 00:40:00 EET