Tool: Iterator

Patch Category: 
Patch Name: 
Patch First Appeared in Version: 
10.4 (Tiger)
Patch Description: 


Leopard Snow Leopard
Type Consumer Processor or Consumer, depending on child patches.
Outputs None If the Iterator is a Processor, outputs from child patches can be published.

Outputs (Snow Leopard Only)

  • When an output is published, the parent level sees only a single final output value, after all iterations have completed.
  • Using the Queue patch, with the Queue Size set equal to the number of Iterations, a structure containing one value for each iteration can be produced and published up to the parent level. This is also possible using JavaScript.

Patch Compatibility

Leopard Snow Leopard
Controller: Interpolation Yes Yes
Controller: LFO Yes 2 Yes 2
Controller: Noise Yes Yes
Controller: Random Yes 3 Yes 3
Controller: Timeline Yes Yes
Numeric: Counter - 1 Yes
Numeric: Integrator - 1 - 1
Numeric: Pulse - 1 Yes
Numeric: Smooth - 1 Yes
Programming: Javascript Yes 4 Yes 4
Tool: Queue - 1 - 1
Tool: Sample & Hold - 1 Yes
Tool: Stopwatch - 1 - 1
Tool: Watcher - 1 - 1
Utility: Feedback n/a Yes
  1. State is not preserved for each iteration.
  2. When Type = Random, the same "Random" value is used for each iteration.
  3. The "Random" value is the same for each iteration. One possible workaround is to set the Random patch's Timebase to External, and provide a different timeline for each iteration (by multiplying a large number by the Iterator Variables "Current Index" value).
  4. Per-iteration state can be preserved manually by using a static global array indexed by the Iterator Variables "Current Index" value.
Patch Inputs: 


IteratorQueue.png16.59 KB