#N canvas 547 54 414 438 12;
#X obj 21 21 until;
#X obj 126 274 until;
#X text 151 215 start;
#X msg 142 244 3;
#X text 178 245 start limited to 3 iterations;
#X obj 126 312 f;
#X obj 164 305 + 1;
#X obj 219 301 sel 0;
#X obj 164 331 mod 10;
#X obj 12 52 cnv 1 400 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 2 394 cnv 1 400 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 340 20 <= click;
#N canvas 598 111 573 271 reference 0;
#X obj 8 52 cnv 5 550 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 8 170 cnv 2 550 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 7 246 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X obj 8 207 cnv 2 550 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X text 147 218 NONE, f 52;
#X obj 38 18 until;
#X text 136 180 bang - bangs in a loop., f 49;
#X text 137 106 bang - start loop until a bang reaches the right inlet.;
#X text 130 86 float - set number of iterations in the loop.;
#X obj 7 130 cnv 1 550 1 empty empty 2nd: 8 12 0 13 #7c7c7c #000000 0;
#X obj 9 83 cnv 1 550 1 empty empty 1st: 8 12 0 13 #7c7c7c #000000 0;
#X text 137 136 bang - stops the loop.;
#X text 87 18 - bang loop mechanism.;
#X restore 246 21 pd reference;
#X text 23 162 WARNING: if you bang an [until] which doesn't have a stopping mechanism \, Pd goes into an infinite loop and freezes!;
#X obj 126 361 print until;
#X text 20 65 The [until] object's left inlet starts a loop in which it outputs "bang" until its right inlet gets a bang which stops it. If you start [until] with a number \, it iterates that number of times (if a bang to the right inlet doesn't stop it first). 0 or negative numbers are ignored., f 54;
#X text 202 407 updated for Pd version 0.41;
#X obj 126 215 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X text 70 20 - bang loop mechanism;
#X connect 1 0 5 0;
#X connect 3 0 1 0;
#X connect 5 0 6 0;
#X connect 5 0 14 0;
#X connect 6 0 8 0;
#X connect 7 0 1 1;
#X connect 8 0 5 1;
#X connect 8 0 7 0;
#X connect 17 0 1 0;
