#N canvas 272 105 879 604 10;
#X obj 13 49 until;
#X text 7 78 Every modern programming language will have various "looping"
mechanisms: either in the form of an object \, or as a data structure.
For example in Visual Basic:;
#X text 18 145 DO UNTIL i = 100;
#X text 18 159 i = i + 1;
#X text 19 130 i = 0;
#X text 18 174 LOOP;
#X text 3 285 And now Pd's version of the above programming structures:
;
#X obj 12 332 until;
#X msg 12 312 100;
#X obj 12 352 print i;
#X text 5 379 If you start [until] with a "bang" \, it will begin an
infinite loop! Please plan ahead in this case so that there is a mechanism
in place to stop the loop - otherwise Pd will effectively freeze.;
#X text 5 446 HOW TO FREEZE Pd;
#X msg 13 469 bang;
#X obj 13 489 until;
#X obj 13 509 print;
#X text 51 469 DO NOT CLICK. DO NOT CLICK. DO NOT CLICK.;
#X text 5 200 OR:;
#X text 17 226 FOR i = 0 TO 100;
#X text 16 252 NEXT;
#X text 17 240 ' do something;
#X text 439 240 If you start [until] with a number \, it iterates that
number of times. The [uzi] object in MAX works the same way.;
#X obj 496 328 until;
#X msg 496 281 100;
#X obj 496 348 print i;
#X msg 524 288 3;
#X msg 552 295 42;
#X text 14 536 The [until] object's left inlet starts a loop in which
it outputs "bang" until its right inlet gets a "bang" which stops it.
;
#X obj 418 44 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 418 571 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 55 49 - LOOPing mechanism;
#X text 441 381 RELATED OBJECTS;
#X text 446 400 ?? This author does not know of any other native looping
mechanisms in Pd.;
#N canvas 0 22 452 302 related_objects_from_other_libraries 0;
#X text 27 63 These objects are offered in Pd only if you have downloaded
and properly installed the appropriate library. These objects may or
may not exist in a single library.;
#X text 26 112 The best places to find information about Pd's libraries
is:;
#X text 23 134 www.puredata.org and click on "Downloads" then "Software"
;
#X text 25 149 or;
#X text 25 164 iem.kug.ac.at/pdb/;
#X obj 43 32 for++;
#X obj 90 32 counter;
#X obj 150 32 gem_counter;
#X obj 250 32 modulo_counter;
#X restore 454 440 pd related_objects_from_other_libraries;
#X obj 486 513 pddp/pddplink all_about_looping.pd -text all_about_looping;
#X text 450 490 For more info:;
#X msg 496 110 bang;
#X obj 496 131 until;
#X text 527 110 start;
#X obj 496 153 f;
#X obj 525 153 + 1;
#X obj 571 155 sel 0;
#X obj 496 197 print;
#X obj 525 175 mod 10;
#X text 444 58 The example below includes a method to stop the loop
to prevent Pd from looping infinitely.;
#X text 54 489 If you click \, kill Pd or reboot the computer.;
#X text 447 546 This document was updated for Pd version 0.35 test
26 by Dave Sabine as part of a project called pddp proposed by Krzysztof
Czaja to build comprehensive documentation for Pd.;
#X obj 2 2 cnv 15 870 20 empty empty [until] 20 10 1 18 -233017 -66577
0;
#X obj 821 3 pddp/pddplink http://puredata.info/dev/pddp -text pddp;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 21 0 23 0;
#X connect 22 0 21 0;
#X connect 24 0 21 0;
#X connect 25 0 21 0;
#X connect 27 0 28 0;
#X connect 35 0 36 0;
#X connect 36 0 38 0;
#X connect 38 0 39 0;
#X connect 38 0 41 0;
#X connect 39 0 42 0;
#X connect 40 0 36 1;
#X connect 42 0 38 1;
#X connect 42 0 40 0;
