#N canvas 521 23 558 456 10;
#X obj 4 307 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 3 342 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 2 398 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X obj 82 318 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 81 375 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 116 406 (none);
#X obj 81 351 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 2 452 cnv 1 550 1 empty empty empty 0 0 0 4 #fcfcfc #fcfcfc 0;
#X obj 2 431 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0;
#X obj 196 242 cyclone/next;
#X obj 196 181 bng 18 250 50 0 empty empty empty 17 7 0 10 #d0d0d0 #000000 #000000;
#X obj 196 271 bng 22 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X obj 265 271 bng 22 250 50 0 empty empty empty 17 7 0 10 #d0d0d0 #000000 #000000;
#X text 104 318 anything;
#X text 128 352 bang;
#X text 128 376 bang;
#X text 161 352 - if the current message is not part of a logical event;
#X text 161 376 - if the current message is part of a logical event;
#X text 85 179 different events;
#X text 92 274 different event;
#X text 293 274 same event;
#X text 162 318 - any messages to check if it's part of a same logical event;
#X text 271 209 same event as the previous;
#X text 270 194 the second message is from the;
#X obj 131 213 delay 500;
#X text 73 94 [next] sends a bang to the left outlet when an incoming message is not part of the same "logival event" as the previous message \, and a bang out its right outlet otherwise. An "event" is a single message \, a mouse click \, key press \, MIDI event.;
#N canvas 302 120 855 418 examples 0;
#X msg 558 157 60 \, 63 \, 67 \, 70;
#X obj 558 266 makenote 64 1000;
#X obj 558 322 noteout, f 19;
#X obj 669 250 cyclone/next;
#X obj 669 279 cyclone/counter 1 16;
#X text 21 24 [next] checks if a message is part of the same logical event as the previous one.;
#X text 21 60 For example \, if you click on a bang twice \, or if you have a bang going through a delay (as in the parent patch) \, the two bangs are not part of the same logical event.;
#X obj 150 278 cyclone/next;
#X obj 150 211 bng 18 250 50 0 empty empty empty 17 7 0 10 #d0d0d0 #000000 #000000;
#X obj 150 307 bng 22 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X obj 219 307 bng 22 250 50 0 empty empty empty 17 7 0 10 #d0d0d0 #000000 #000000;
#X msg 161 241 bang;
#X obj 214 241 cyclone/uzi 2;
#X obj 214 211 bng 18 250 50 0 empty empty empty 17 7 0 10 #d0d0d0 #000000 #000000;
#X text 155 186 same events;
#X obj 558 222 trigger float float;
#X msg 579 186 61 \, 64 \, 68 \, 71;
#X msg 113 243 bang;
#X text 21 120 But if you send it a bang also connected other bangs \, or use the uzi object to send bangs in a row \, these bangs are part of the same logical event.;
#X obj 150 365 print different;
#X obj 219 341 print same;
#X text 444 54 Thus \, [next] is useful for doing something once per object message dump \, be it via a message or a dump from an object such as [uzi] or [coll].;
#X text 444 106 Below \, we change the MIDI channel with each sent chord;
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 1 1 2 1;
#X connect 3 0 4 0;
#X connect 4 0 2 2;
#X connect 7 0 9 0;
#X connect 7 1 10 0;
#X connect 8 0 7 0;
#X connect 8 0 11 0;
#X connect 8 0 17 0;
#X connect 9 0 19 0;
#X connect 10 0 20 0;
#X connect 11 0 7 0;
#X connect 12 0 7 0;
#X connect 13 0 12 0;
#X connect 15 0 1 0;
#X connect 15 1 3 0;
#X connect 16 0 15 0;
#X connect 17 0 7 0;
#X restore 465 271 pd examples;
#X msg 232 200 1 \, 2;
#X obj 3 3 ./header next;
#X text 25 63 detect separation of messages;
#X connect 9 0 11 0;
#X connect 9 1 12 0;
#X connect 10 0 9 0;
#X connect 10 0 24 0;
#X connect 24 0 9 0;
#X connect 27 0 9 0;
