#N canvas 180 82 816 599 12;
#N canvas 0 0 450 300 paint 0;
#X restore 493 342 pd paint;
#X obj 92 416 pointer;
#X msg 135 346 traverse pd-paint;
#X msg 136 383 bang;
#X text 53 18 Pointers and Traversing;
#X text 116 102 Let me explain:;
#X text 205 376 A "bang" then will output the head of the list of objects
in that area.;
#X obj 92 446 print the-pointer;
#X msg 50 507 next;
#X text 145 500 With "next" you can go to the object at the next position.
If there is one \, that is.;
#X text 141 554 Pointers are a love or hate thing \, just like pointers
in C \, but there's not much you can do about that...;
#X text 311 345 Go to the start of:;
#X text 116 49 Now \, that was quite a mouthful for one step \, I guess.
What's a pointer \, what's this "traverse" message and all that???
;
#X text 133 301 You tell "pointer" \, in which painting area it should
look for objects \, by the "traverse" message.;
#X text 134 140 Painting areas (subpatches) can hold a lot of objects.
;
#X text 135 242 A "pointer" always points at a certain data structure
object - or an instance of such an object in a certain painting area
\, to be exact.;
#X text 259 446 And you can print out the pointer \, too \, although
this is quite useless \, as the data is somewhere else...;
#X text 135 193 To access the objects \, you "point" to the object
you want to work on. This is done with the "pointer" object.;
#X text 135 166 Pd keeps an ordered list of all these objects.;
#X connect 1 0 7 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 8 0 1 0;
