aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/4.data.structures/02.getting.data.pd
diff options
context:
space:
mode:
authorMiller Puckette <millerpuckette@users.sourceforge.net>2005-08-21 17:46:52 +0000
committerMiller Puckette <millerpuckette@users.sourceforge.net>2005-08-21 17:46:52 +0000
commit4cde391f5f1ba80c803fc02adece857e5eb720f7 (patch)
tree29b4221f9cd35b5de5529e684b9e3f784c381feb /pd/doc/4.data.structures/02.getting.data.pd
parent0d4b66c7bc77f6a2fafb1debe548f8621d21cf70 (diff)
Fixed scalar_redraw to check if glist is visible; moved 'data' doc and
updated it somewhat. svn path=/trunk/; revision=3441
Diffstat (limited to 'pd/doc/4.data.structures/02.getting.data.pd')
-rw-r--r--pd/doc/4.data.structures/02.getting.data.pd77
1 files changed, 77 insertions, 0 deletions
diff --git a/pd/doc/4.data.structures/02.getting.data.pd b/pd/doc/4.data.structures/02.getting.data.pd
new file mode 100644
index 00000000..4b200052
--- /dev/null
+++ b/pd/doc/4.data.structures/02.getting.data.pd
@@ -0,0 +1,77 @@
+#N struct template2 float x float y float z float q float zz;
+#N canvas 138 2 630 580 12;
+#X text 345 543 updated for Pd version 0.32.;
+#N canvas 42 312 598 266 stuff 0;
+#X obj 353 159 pointer;
+#X obj 117 103 t b b b;
+#X msg 117 62 bang;
+#X obj 117 31 loadbang;
+#X text 163 62 click here to re-initialize;
+#X text 127 242 Explained later...;
+#X obj 28 208 append template2 x y z q;
+#X msg 353 101 \; pd-data2 clear;
+#X msg 353 137 traverse pd-data2 \, bang;
+#X msg 28 185 50 150 30 9 \, 200 100 -20 900 \, 100 100 -50 30;
+#X connect 0 0 6 4;
+#X connect 1 0 9 0;
+#X connect 1 1 8 0;
+#X connect 1 2 7 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 8 0 0 0;
+#X connect 9 0 6 0;
+#X restore 506 310 pd stuff;
+#X text 506 242 subpatches:;
+#X obj 15 303 pointer;
+#X msg 27 271 next;
+#X text 75 301 <- object that outputs pointers to scalars;
+#N canvas 13 22 307 198 data2 1;
+#X scalar template2 50 150 30 9 0 \;;
+#X scalar template2 200 100 -20 900 0 \;;
+#X scalar template2 100 100 -50 30 0 \;;
+#X restore 506 265 pd data2;
+#N canvas 315 125 554 155 template2 1;
+#X text 13 79 The template for the two scalars \, as in the last patch
+;
+#X obj 15 46 filledpolygon 244 q 5 0 0 20 z 40 0;
+#X obj 14 21 struct template2 float x float y float z float q;
+#X restore 506 288 pd template2;
+#X obj 15 355 get template2 x y z q;
+#X floatatom 15 384 5 0 0 0 - - -;
+#X floatatom 76 384 5 0 0 0 - - -;
+#X floatatom 137 384 5 0 0 0 - - -;
+#X floatatom 199 385 5 0 0 0 - - -;
+#X msg 15 246 traverse pd-data2;
+#X obj 59 330 print;
+#X text 111 331 <- this gets a bang when we reach the end;
+#X text 211 353 <- this takes incoming pointers;
+#X text 214 367 and outputs the values of x \, y \, z \, and q.;
+#X text 172 245 <- go to head of list (click first);
+#X text 68 273 <- output next item (click 4 times);
+#X text 14 5 The simplest thing you can do with a collection of scalars
+(a list) is to traverse it \, getting the numbers back out. This is
+done using two objects \, "pointer" which does the traversal \, and
+"get" which \, given a pointer to a scalar \, extracts numeric quantities
+from it.;
+#X text 14 85 You can send the "pointer" object a "traverse" message
+to point it to the head of the list. The argument "pd-data2" indicates
+the Pd window named "data2." The head of the list means \, not the
+first scalar in the list \, but the position before the first scalar
+\, which is a valid pointer in Pd but has no data or template.;
+#X text 14 180 The "next" message tells the "pointer" object to go
+to the next scalar in the list and output it. If there are no more
+\, "pointer" outputs a bang at right.;
+#X text 19 424 The "get" object takes a pointer \, checks that its
+template agrees with what "get" is expecting \, i.e. \, "template2"
+\, and if so outputs the values of x \, y \, z \, and q in the usual
+reverse order.;
+#X text 18 492 The pointer sent from "pointer" to "get" is an elementary
+Pd type on a level with "float" and "symbol".;
+#X connect 3 0 8 0;
+#X connect 3 1 14 0;
+#X connect 4 0 3 0;
+#X connect 8 0 9 0;
+#X connect 8 1 10 0;
+#X connect 8 2 11 0;
+#X connect 8 3 12 0;
+#X connect 13 0 3 0;