[ steve mokris ] Accumulate
Accumulate: Velocity-sensitive value accumulation for Quartz Composer

Accumulate is a set of two Quartz Composer Clips I assembled.

This is handy for, say, connecting a midi fader (or pitch wheel!) and using it kinda like a speed controller for a model train.

  • Value starts at 0.
  • Controller is expected to vary between -1 and 1, or between 0 and 1, depending on which Clip is used.

When Controller is at the midpoint of its range, Value accumulation is stopped.

When Controller is greater than the midpoint, Value accumulates positively.  Accumulation is scaled lineraly, so that at just above the midpoint, hardly any accumulation happens, while at 1.0, Value accumulates at Range per second.

When Controller is less than the midpoint, accumulation is negative.

When AllowInitialNegative is false, accumulation does not begin until Controller first moves above the midpoint.  Otherwise, accumulation begins immediately at the start of composition play.

Thanks to Dan Neuman for the nifty JavaScript Object Persistence trick.


Accumulate-0.1.zip, version 0.1, 2006.04.06

Demo: Flying @s

In this demo, the position of the mouse (the green “@”) causes the white “@” to move by accumulation.  When the mouse is centered on the screen, the white “@” should be stationary.  As the mouse gets closer to the edges, the white “@” moves with increasing rapidity.

Demo: Video

In this demo, the first BCF2000 fader controls the playback speed of an “Image From Movie.”  The movie will play forward and backward at variable speeds depending on the position of the fader.  When the fader is centered (at 0.5), the movie is paused.