aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/help-until.pd
diff options
context:
space:
mode:
Diffstat (limited to 'doc/pddp/help-until.pd')
-rw-r--r--doc/pddp/help-until.pd89
1 files changed, 89 insertions, 0 deletions
diff --git a/doc/pddp/help-until.pd b/doc/pddp/help-until.pd
new file mode 100644
index 00000000..afb562cd
--- /dev/null
+++ b/doc/pddp/help-until.pd
@@ -0,0 +1,89 @@
+#N canvas 59 5 829 645 10;
+#X msg 28 525 bang;
+#X obj 25 13 until;
+#X obj 28 546 until;
+#X text 59 525 start;
+#X obj 28 568 f;
+#X obj 57 568 + 1;
+#X obj 103 570 sel 0;
+#X obj 28 612 print;
+#X obj 57 590 mod 10;
+#X text 19 42 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 30 100 DO UNTIL i = 100;
+#X text 30 114 i = i + 1;
+#X text 31 85 i = 0;
+#X text 30 129 LOOP;
+#X text 15 210 And now PD's version of the above programming structures:
+;
+#X obj 24 257 until;
+#X msg 24 237 100;
+#X obj 24 277 print i;
+#X text 17 304 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 17 361 HOW TO FREEZE PD;
+#X msg 25 384 bang;
+#X obj 25 404 until;
+#X obj 25 424 print;
+#X text 63 384 DO NOT CLICK. DO NOT CLICK. DO NOT CLICK.;
+#X text 66 404 If you click \, click the "close window" (X) button
+on PD's terminal window - or reboot the computer.;
+#X text 17 145 OR:;
+#X text 29 161 FOR i = 0 TO 100;
+#X text 28 187 NEXT;
+#X text 29 175 ' do something;
+#X text 26 493 The example below includes a method to stop the loop
+to prevent PD from looping infinitely.;
+#X text 434 44 If you start [until] with a number \, it iterates that
+number of times. The [uzi] object in MAX works the same way.;
+#X obj 441 131 until;
+#X msg 441 84 100;
+#X obj 441 151 print i;
+#X msg 469 91 3;
+#X msg 497 98 42;
+#X text 26 451 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 413 17 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 413 605 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 67 13 - LOOPing mechanism;
+#X text 442 580 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 text 436 185 RELATED OBJECTS;
+#X text 441 204 ?? This author does not know of any other native looping
+mechanisms in PD.;
+#N canvas 0 0 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.pure-data.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 restore 449 244 pd related_objects_from_other_libraries;
+#X connect 0 0 2 0;
+#X connect 2 0 4 0;
+#X connect 4 0 5 0;
+#X connect 4 0 7 0;
+#X connect 5 0 8 0;
+#X connect 6 0 2 1;
+#X connect 8 0 4 1;
+#X connect 8 0 6 0;
+#X connect 15 0 17 0;
+#X connect 16 0 15 0;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 31 0 33 0;
+#X connect 32 0 31 0;
+#X connect 34 0 31 0;
+#X connect 35 0 31 0;
+#X connect 37 0 38 0;