Tool: Iterator
Patch First Appeared in Version:
10.4 (Tiger)
Patch Description:
Iterator
|
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 |
- State is not preserved for each iteration.
- When Type = Random, the same "Random" value is used for each iteration.
- 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).
- Per-iteration state can be preserved manually by using a static global array indexed by the Iterator Variables "Current Index" value.
|