aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/examples/game_of_life_gem.pd
diff options
context:
space:
mode:
Diffstat (limited to 'externals/gridflow/examples/game_of_life_gem.pd')
-rw-r--r--externals/gridflow/examples/game_of_life_gem.pd291
1 files changed, 291 insertions, 0 deletions
diff --git a/externals/gridflow/examples/game_of_life_gem.pd b/externals/gridflow/examples/game_of_life_gem.pd
new file mode 100644
index 00000000..5032ca9e
--- /dev/null
+++ b/externals/gridflow/examples/game_of_life_gem.pd
@@ -0,0 +1,291 @@
+#N canvas 608 0 588 612 10;
+#X obj 368 33 loadbang;
+#X obj 23 48 gemhead;
+#N canvas 610 247 578 360 GOL 0;
+#X text 48 122 this is the feedback loop;
+#X obj 143 50 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 161 49 for 0 10 1;
+#X obj 262 87 loadbang;
+#X obj 141 103 #store;
+#X obj 161 68 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 31 143 fork;
+#X text 179 68 next;
+#N canvas 0 0 450 210 game 0;
+#X obj 28 64 inlet matrix;
+#X obj 28 141 outlet matrix;
+#X text 18 14 this part at the left defines the rule of the game (this
+is my own rewriting of the rules. it is equivalent to the original
+but faster to compute.);
+#X obj 28 83 # << (b # 1);
+#X obj 28 122 # < (b # 3);
+#X obj 28 103 #convolve (3 3 b # 0 0 0 0 1) \, op >> \, seed (b # 251)
+;
+#X connect 0 0 3 0;
+#X connect 3 0 5 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 31 102 pd game of life;
+#X text 260 60 init with a random map;
+#X obj 5 329 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
+0;
+#X text 13 336 GridFlow 0.8.0;
+#X text 13 336 GridFlow 0.8.0;
+#X obj 7 5 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 20 5 game_of_life.pd;
+#X text 20 18 Copyright 2001 Mathieu Bouchard;
+#X obj 262 165 # rand (b #);
+#X obj 262 184 # == (b # 0);
+#X obj 24 41 inlet metro;
+#X obj 22 69 route bang reset;
+#X obj 31 295 outlet RGB;
+#X obj 31 181 #cast i;
+#X obj 31 238 #clip;
+#X obj 41 257 #apply_colormap_channelwise;
+#X obj 207 239 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 31 200 # << 10;
+#X obj 234 238 #for 0 256 1;
+#X obj 234 257 #outer gamma (3 # 333 555 999);
+#X text 261 72 20% white dots;
+#X obj 31 162 #outer ignore (4 b #);
+#X obj 279 117 t b b;
+#X obj 31 276 #scale_by;
+#X msg 261 146 128 128 b # 5;
+#X obj 31 219 #fade (16 4 1 1);
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 30 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 29 0;
+#X connect 6 1 4 1;
+#X connect 8 0 6 0;
+#X connect 16 0 17 0;
+#X connect 17 0 6 0;
+#X connect 18 0 19 0;
+#X connect 19 0 4 0;
+#X connect 19 1 32 0;
+#X connect 21 0 25 0;
+#X connect 22 0 31 0;
+#X connect 24 0 26 0;
+#X connect 25 0 33 0;
+#X connect 26 0 27 0;
+#X connect 27 0 23 1;
+#X connect 29 0 21 0;
+#X connect 30 0 32 0;
+#X connect 30 1 26 0;
+#X connect 31 0 20 0;
+#X connect 32 0 16 0;
+#X connect 33 0 22 0;
+#X restore 144 363 pd GOL;
+#X obj 127 278 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X msg 154 336 reset;
+#X obj 23 429 rotateXYZ;
+#X obj 32 406 #unpack 3;
+#X obj 32 349 # +;
+#X obj 57 349 t a;
+#X obj 32 368 #cast f;
+#X obj 32 387 # / (f # 100);
+#X floatatom 108 67 5 0 0 0 - - -;
+#X obj 76 48 bang;
+#X obj 108 48 fps \, period 5;
+#X obj 23 215 pix_texture;
+#X obj 285 516 #out window;
+#X obj 285 63 gemhead 74;
+#X obj 53 158 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
+;
+#X msg 53 172 yflip \$1;
+#X obj 285 312 t a b;
+#X obj 360 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291
+-1 -1 3175 1;
+#X obj 375 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291
+-1 -1 3175 1;
+#X obj 414 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291
+-1 -1 6350 1;
+#X obj 429 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291
+-1 -1 6350 1;
+#X msg 324 312 snap;
+#X obj 360 110 #unpack;
+#X obj 413 110 #unpack;
+#X obj 285 364 pix_snap;
+#X obj 350 267 #pack;
+#X obj 404 267 #pack;
+#X obj 300 404 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
+1;
+#X msg 300 418 yflip \$1;
+#X msg 360 90 128 128;
+#X msg 413 91 256 256;
+#X obj 23 528 cube 4;
+#X obj 179 298 + 1;
+#X obj 154 317 sel 0;
+#X obj 154 298 f;
+#X msg 307 437 help;
+#X obj 407 289 #to_list;
+#X obj 347 289 #to_list;
+#X obj 23 196 #to_pix;
+#X obj 4 1 cnv 15 500 18 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 5 1 [#to_pix];
+#X text 401 2 GridFlow 0.9.3;
+#X obj 62 106 separator;
+#X obj 23 106 t a a;
+#X msg 368 52 create \, 1 \, lighting 1;
+#X msg 32 330 60 42 30;
+#X obj 144 277 metro 33.3667;
+#X floatatom 204 317 5 0 0 0 - - -;
+#N canvas 0 0 450 300 lighting 0;
+#X obj 22 28 inlet gem;
+#X obj 152 210 light;
+#X obj 282 210 light;
+#X obj 22 47 t a a a;
+#X obj 66 66 separator;
+#X obj 44 85 separator;
+#X obj 22 210 light;
+#X obj 133 251 loadbang;
+#X obj 22 191 translateXYZ 0 4 4;
+#X obj 152 191 translateXYZ 4 0 4;
+#X obj 282 191 translateXYZ 4 4 0;
+#X msg 61 210 1 0 0;
+#X msg 191 210 0 1 0;
+#X msg 321 210 0 0 1;
+#X connect 0 0 3 0;
+#X connect 3 0 8 0;
+#X connect 3 1 5 0;
+#X connect 3 2 4 0;
+#X connect 4 0 10 0;
+#X connect 5 0 9 0;
+#X connect 7 0 11 0;
+#X connect 7 0 12 0;
+#X connect 7 0 13 0;
+#X connect 8 0 6 0;
+#X connect 9 0 1 0;
+#X connect 10 0 2 0;
+#X connect 11 0 6 1;
+#X connect 12 0 1 1;
+#X connect 13 0 2 1;
+#X restore 62 125 pd lighting;
+#X obj 23 509 color 1 1 1;
+#X obj 144 382 # inv+ 255;
+#X obj 368 71 gemwin 29.97;
+#X obj 23 457 shunt;
+#X obj 62 458 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 1 1
+;
+#N canvas 0 0 450 300 eight_cubes 0;
+#X obj 33 29 inlet gem;
+#X obj 33 48 t a a;
+#X obj 163 48 separator;
+#X obj 33 86 t a;
+#X obj 33 105 t a a;
+#X obj 163 105 separator;
+#X obj 33 143 t a;
+#X obj 33 162 t a a;
+#X obj 163 162 separator;
+#X obj 33 200 t a;
+#X obj 33 219 cube 2;
+#X obj 33 67 translateXYZ 4 0 0;
+#X obj 33 124 translateXYZ 0 4 0;
+#X obj 33 181 translateXYZ 0 0 4;
+#X obj 163 181 translateXYZ 0 0 -4;
+#X obj 163 124 translateXYZ 0 -4 0;
+#X obj 163 67 translateXYZ -4 0 0;
+#X connect 0 0 1 0;
+#X connect 1 0 11 0;
+#X connect 1 1 2 0;
+#X connect 2 0 16 0;
+#X connect 3 0 4 0;
+#X connect 4 0 12 0;
+#X connect 4 1 5 0;
+#X connect 5 0 15 0;
+#X connect 6 0 7 0;
+#X connect 7 0 13 0;
+#X connect 7 1 8 0;
+#X connect 8 0 14 0;
+#X connect 9 0 10 0;
+#X connect 11 0 3 0;
+#X connect 12 0 6 0;
+#X connect 13 0 9 0;
+#X connect 14 0 9 0;
+#X connect 15 0 6 0;
+#X connect 16 0 3 0;
+#X restore 53 476 pd eight_cubes;
+#X obj 285 482 #remap_image;
+#X obj 204 298 % 256;
+#X obj 390 463 % 32;
+#X obj 23 239 translateXYZ 0 0 -7;
+#X obj 285 457 #import_pix;
+#X obj 374 482 # ^;
+#X connect 0 0 47 0;
+#X connect 0 0 32 0;
+#X connect 0 0 33 0;
+#X connect 1 0 12 0;
+#X connect 1 0 46 0;
+#X connect 2 0 53 0;
+#X connect 3 0 49 0;
+#X connect 4 0 2 0;
+#X connect 5 0 55 0;
+#X connect 6 0 5 1;
+#X connect 6 1 5 2;
+#X connect 6 2 5 3;
+#X connect 7 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 1;
+#X connect 9 0 10 0;
+#X connect 10 0 6 0;
+#X connect 12 0 13 0;
+#X connect 13 0 11 0;
+#X connect 14 0 61 0;
+#X connect 16 0 19 0;
+#X connect 17 0 18 0;
+#X connect 18 0 41 0;
+#X connect 19 0 27 0;
+#X connect 19 1 24 0;
+#X connect 20 0 28 0;
+#X connect 21 0 28 1;
+#X connect 22 0 29 0;
+#X connect 23 0 29 1;
+#X connect 24 0 27 0;
+#X connect 25 0 20 0;
+#X connect 25 1 21 0;
+#X connect 26 0 22 0;
+#X connect 26 1 23 0;
+#X connect 27 0 62 0;
+#X connect 28 0 40 0;
+#X connect 29 0 39 0;
+#X connect 30 0 31 0;
+#X connect 31 0 62 0;
+#X connect 32 0 25 0;
+#X connect 33 0 26 0;
+#X connect 35 0 59 0;
+#X connect 36 0 4 0;
+#X connect 37 0 35 0;
+#X connect 37 0 36 0;
+#X connect 38 0 62 0;
+#X connect 39 0 27 2;
+#X connect 40 0 27 1;
+#X connect 41 0 14 0;
+#X connect 45 0 51 0;
+#X connect 46 0 41 0;
+#X connect 46 1 45 0;
+#X connect 47 0 54 0;
+#X connect 48 0 7 0;
+#X connect 49 0 2 0;
+#X connect 49 0 37 0;
+#X connect 49 0 48 0;
+#X connect 52 0 34 0;
+#X connect 53 0 41 1;
+#X connect 55 0 52 0;
+#X connect 55 1 57 0;
+#X connect 56 0 55 1;
+#X connect 58 0 15 0;
+#X connect 58 1 63 0;
+#X connect 59 0 37 1;
+#X connect 59 0 50 0;
+#X connect 59 0 60 0;
+#X connect 60 0 63 1;
+#X connect 61 0 5 0;
+#X connect 62 0 58 0;
+#X connect 63 0 58 1;