Explorar o código

Initial import

from first metalu.net collaboration, remote controlled pan/tilt video
projector with sphere projection and media mixing
Etienne Landon %!s(int64=8) %!d(string=hai) anos
achega
97602bffac
Modificáronse 14 ficheiros con 1952 adicións e 0 borrados
  1. 10 0
      Line1.pd
  2. 29 0
      Line2.pd
  3. 430 0
      kof_media.pd
  4. 636 0
      kof_quad.pd
  5. 50 0
      kof_quadcorners.pd
  6. 210 0
      kof_quadmask.pd
  7. 67 0
      kof_source.pd
  8. 182 0
      kof_sphere.pd
  9. 163 0
      kof_win.pd
  10. BIN=BIN
      mask.png
  11. BIN=BIN
      mask2.png
  12. 110 0
      slave_quad.pd
  13. 27 0
      slave_quad_dyn.pd
  14. 38 0
      slave_quad_pi.pd

+ 10 - 0
Line1.pd

@@ -0,0 +1,10 @@
+#N canvas 8 75 450 300 10;
+#X obj 96 51 inlet;
+#X obj 96 117 line;
+#X obj 96 266 outlet;
+#X obj 276 51 inlet;
+#X obj 96 93 pack f \$1;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 1;
+#X connect 4 0 1 0;

+ 29 - 0
Line2.pd

@@ -0,0 +1,29 @@
+#N canvas 5 75 450 300 10;
+#X obj 96 51 inlet;
+#X obj 181 54 inlet;
+#X obj 96 163 t b f;
+#X obj 96 117 line;
+#X obj 96 196 del 5;
+#X obj 139 162 t b f;
+#X obj 96 219 f;
+#X obj 96 242 pack f f;
+#X obj 181 117 line;
+#X obj 96 266 outlet;
+#X obj 276 51 inlet;
+#X obj 96 93 pack f \$1;
+#X obj 181 93 pack f \$1;
+#X connect 0 0 11 0;
+#X connect 1 0 12 0;
+#X connect 2 0 4 0;
+#X connect 2 1 6 1;
+#X connect 3 0 2 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 5 1 7 1;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 5 0;
+#X connect 10 0 11 1;
+#X connect 10 0 12 1;
+#X connect 11 0 3 0;
+#X connect 12 0 8 0;

+ 430 - 0
kof_media.pd

@@ -0,0 +1,430 @@
+#N canvas 469 209 965 433 10;
+#X obj 61 72 cnv 15 198 31 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 65 76 tgl 15 1 /kof/\$1/state /kof/\$1/state on/off 17 7 0 10
+-4034 -1 -1 1 1;
+#X msg 158 121 vis 1;
+#X obj 158 76 bng 15 250 50 0 empty empty settings 17 7 0 10 -159808
+-1 -1;
+#N canvas 668 163 768 540 storage_&_osc 0;
+#X obj 39 11 ds_reg \$2 /kof/\$1/corner/top/left/x;
+#X obj 369 11 osc_bi \$2 /kof/\$1/corner/top/left/x;
+#X obj 39 31 ds_reg \$2 /kof/\$1/corner/top/left/y;
+#X obj 369 31 osc_bi \$2 /kof/\$1/corner/top/left/y;
+#X obj 39 51 ds_reg \$2 /kof/\$1/corner/top/right/x;
+#X obj 39 71 ds_reg \$2 /kof/\$1/corner/top/right/y;
+#X obj 39 91 ds_reg \$2 /kof/\$1/corner/bottom/right/x;
+#X obj 39 111 ds_reg \$2 /kof/\$1/corner/bottom/right/y;
+#X obj 39 131 ds_reg \$2 /kof/\$1/corner/bottom/left/x;
+#X obj 39 151 ds_reg \$2 /kof/\$1/corner/bottom/left/y;
+#X obj 369 51 osc_bi \$2 /kof/\$1/corner/top/right/x;
+#X obj 369 71 osc_bi \$2 /kof/\$1/corner/top/right/y;
+#X obj 369 91 osc_bi \$2 /kof/\$1/corner/bottom/right/x;
+#X obj 369 111 osc_bi \$2 /kof/\$1/corner/bottom/right/y;
+#X obj 369 131 osc_bi \$2 /kof/\$1/corner/bottom/left/x;
+#X obj 369 151 osc_bi \$2 /kof/\$1/corner/bottom/left/y;
+#X obj 39 181 ds_reg \$2 /kof/\$1/media/1;
+#X obj 369 181 osc_bi \$2 /kof/\$1/media/1;
+#X obj 39 201 ds_reg \$2 /kof/\$1/media/2;
+#X obj 369 201 osc_bi \$2 /kof/\$1/media/2;
+#X obj 39 221 ds_reg \$2 /kof/\$1/fadetime;
+#X obj 369 221 osc_bi \$2 /kof/\$1/fadetime;
+#X obj 39 251 ds_reg \$2 /kof/\$1/state;
+#X obj 369 251 osc_bi \$2 /kof/\$1/state;
+#X obj 39 281 ds_reg \$2 /kof/\$1/alpha/1;
+#X obj 369 281 osc_bi \$2 /kof/\$1/alpha/1;
+#X obj 39 301 ds_reg \$2 /kof/\$1/alpha/2;
+#X obj 369 301 osc_bi \$2 /kof/\$1/alpha/2;
+#X restore 27 149 pd storage_&_osc;
+#X obj 14 242 cnv 15 360 60 empty empty creation_arguments: 3 8 0 12
+-191407 -1 0;
+#X obj 402 114 poftranslate;
+#X obj 402 158 pofscale 1 1;
+#X obj 402 136 pofrotate;
+#N canvas 172 163 507 632 corners 0;
+#X obj 58 568 outlet;
+#X obj 58 88 r /kof/\$1/corner/top/left/x;
+#X obj 83 112 r /kof/\$1/corner/top/left/y;
+#X obj 91 200 r /kof/\$1/corner/top/right/x;
+#X obj 116 224 r /kof/\$1/corner/top/right/y;
+#X obj 142 323 r /kof/\$1/corner/bottom/right/x;
+#X obj 167 350 r /kof/\$1/corner/bottom/right/y;
+#X obj 201 445 r /kof/\$1/corner/bottom/left/x;
+#X obj 226 472 r /kof/\$1/corner/bottom/left/y;
+#X msg 58 160 corner 3 \$1 \$2;
+#X msg 91 283 corner 2 \$1 \$2;
+#X msg 142 406 corner 1 \$1 \$2;
+#X msg 201 519 corner 0 \$1 \$2;
+#X obj 58 134 Line2 100;
+#X obj 91 249 Line2 100;
+#X obj 142 379 Line2 100;
+#X obj 201 496 Line2 100;
+#X connect 1 0 13 0;
+#X connect 2 0 13 1;
+#X connect 3 0 14 0;
+#X connect 4 0 14 1;
+#X connect 5 0 15 0;
+#X connect 6 0 15 1;
+#X connect 7 0 16 0;
+#X connect 8 0 16 1;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 9 0;
+#X connect 14 0 10 0;
+#X connect 15 0 11 0;
+#X connect 16 0 12 0;
+#X restore 528 295 pd corners;
+#X obj 702 114 poftranslate;
+#X obj 702 158 pofscale 1 1;
+#X obj 702 136 pofrotate;
+#X obj 459 262 r /kof/\$1/media/1;
+#X obj 702 214 pofcolor 1 1 1 1;
+#X obj 402 214 pofcolor 1 1 1 1;
+#X text 19 261 1st: module ID \, needs to be unique \; 2nd: storage
+domain;
+#X obj 158 145 s pd-cfg_\$1;
+#N canvas 49 676 413 151 cfg_\$1 0;
+#X obj 2 2 cnv 15 170 145 empty empty QUAD 20 12 0 14 -233017 -66577
+0;
+#X obj 21 92 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/top/left/x /kof/\$1/corner/top/left/x
+x -10 7 0 10 -261234 -1 -1 -200 256;
+#X obj 21 108 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/top/left/y
+/kof/\$1/corner/top/left/y y -10 7 0 10 -261234 -1 -1 200 256;
+#X obj 98 92 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/top/right/x
+/kof/\$1/corner/top/right/x x -10 7 0 10 -261234 -1 -1 200 256;
+#X obj 98 108 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/top/right/y
+/kof/\$1/corner/top/right/y y -10 7 0 10 -261234 -1 -1 200 256;
+#X obj 21 56 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/bottom/left/x
+/kof/\$1/corner/bottom/left/x x -10 7 0 10 -261234 -1 -1 -200 256;
+#X obj 21 72 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/bottom/left/y
+/kof/\$1/corner/bottom/left/y y -10 7 0 10 -261234 -1 -1 -200 256;
+#X obj 98 56 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/bottom/right/x
+/kof/\$1/corner/bottom/right/x x -10 7 0 10 -261234 -1 -1 200 256;
+#X obj 98 72 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/bottom/right/y
+/kof/\$1/corner/bottom/right/y y -10 7 0 10 -261234 -1 -1 -200 256
+;
+#X text 14 32 corners position;
+#X obj 179 2 cnv 15 190 145 empty empty MEDIA&MIX 20 12 0 14 -233017
+-66577 0;
+#X obj 185 36 bng 15 250 50 0 /kof/\$1/media/1/openpanel empty player_1
+17 7 0 10 -262144 -1 -1;
+#X obj 268 36 bng 15 250 50 0 /kof/\$1/media/2/openpanel empty player_2
+17 7 0 10 -262144 -1 -1;
+#X obj 197 80 vsl 15 60 0 1 0 0 /kof/\$1/alpha/1 /kof/\$1/alpha/1 alpha1
+-10 -9 0 10 -262144 -1 -1 2950 0;
+#X obj 247 80 vsl 15 60 0 1 0 0 /kof/\$1/alpha/2 /kof/\$1/alpha/2 alpha2
+-10 -9 0 10 -262144 -1 -1 2950 0;
+#X obj 297 80 vsl 15 60 0 2000 0 0 /kof/\$1/fadetime /kof/\$1/fadetime
+time -10 -9 0 10 -262144 -1 -1 0 0;
+#X obj 332 85 vradio 15 1 0 3 /kof/\$1/fademode /kof/\$1/fademode mode
+0 -8 0 10 -262144 -1 -1 2;
+#X coords 0 0 1 1 155 300 0;
+#X restore 158 167 pd cfg_\$1;
+#N canvas 363 128 598 647 medias&folders 0;
+#X obj 79 45 r /kof/\$1/media/1/openpanel;
+#X obj 79 117 openpanel;
+#X obj 79 83 symbol;
+#X obj 55 62 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 238 97 hcs/split_path;
+#X obj 238 119 print;
+#X obj 79 204 s /kof/\$1/media/1;
+#X obj 376 110 openpanel;
+#X obj 376 76 symbol;
+#X obj 352 55 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 376 38 r /kof/\$1/media/2/openpanel;
+#X obj 376 192 s /kof/\$1/media/2;
+#X obj 416 359 pofutil;
+#X msg 416 335 dirbaseext \$1;
+#X obj 79 160 symbol;
+#X obj 54 166 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 452 622 list \$1 \$2.\$3;
+#X obj 416 379 route dirbaseext;
+#X obj 416 407 list split 1;
+#X obj 416 502 pofutil;
+#X obj 416 522 route dirbaseext;
+#X obj 416 547 unpack s s s;
+#X msg 416 478 dirbaseext \$1;
+#N canvas 490 325 450 300 strip_last_slash 0;
+#X obj 89 36 inlet;
+#X obj 89 214 outlet;
+#X obj 89 68 list fromsymbol;
+#X obj 89 95 t a a;
+#X obj 89 169 list split;
+#X obj 116 118 list length;
+#X obj 116 138 - 1;
+#X obj 89 190 list tosymbol;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 5 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 1;
+#X connect 7 0 1 0;
+#X restore 416 447 pd strip_last_slash;
+#X obj 450 601 pack s s s;
+#X obj 137 320 print;
+#X obj 475 577 unpack s s;
+#N canvas 8 75 433 416 get_relative_path 0;
+#X obj 155 67 pofutil;
+#X msg 155 43 dirbaseext \$1;
+#X obj 155 87 route dirbaseext;
+#X obj 155 115 list split 1;
+#X obj 155 210 pofutil;
+#X obj 155 230 route dirbaseext;
+#X obj 155 255 unpack s s s;
+#X msg 155 186 dirbaseext \$1;
+#N canvas 490 325 450 300 strip_last_slash 0;
+#X obj 89 36 inlet;
+#X obj 89 214 outlet;
+#X obj 89 68 list fromsymbol;
+#X obj 89 95 t a a;
+#X obj 89 169 list split;
+#X obj 116 118 list length;
+#X obj 116 138 - 1;
+#X obj 89 190 list tosymbol;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 5 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 1;
+#X connect 7 0 1 0;
+#X restore 155 155 pd strip_last_slash;
+#X obj 189 309 pack s s s;
+#X obj 214 285 unpack s s;
+#X obj 155 21 inlet fullpath;
+#X msg 189 331 list \$1/\$2.\$3;
+#X obj 189 354 outlet dir/base.name;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 8 0;
+#X connect 3 1 10 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 1 9 0;
+#X connect 7 0 4 0;
+#X connect 8 0 7 0;
+#X connect 9 0 12 0;
+#X connect 10 0 9 1;
+#X connect 10 1 9 2;
+#X connect 11 0 1 0;
+#X connect 12 0 13 0;
+#X restore 79 181 pd get_relative_path;
+#N canvas 5 83 436 292 get_absolutpath_img 0;
+#X obj 95 19 inlet;
+#X obj 95 65 pofutil;
+#X obj 95 85 route dirbaseext;
+#X msg 95 43 dirbaseext /\$1;
+#X obj 95 145 route /img/;
+#X obj 95 191 list prepend;
+#X obj 172 149 pofutil;
+#X msg 172 127 getdir;
+#X obj 172 169 route getdir;
+#X obj 172 106 loadbang;
+#X obj 95 260 print;
+#X msg 95 230 symbol \$1/img/\$2.\$3;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 11 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 0;
+#X connect 8 0 5 1;
+#X connect 9 0 7 0;
+#X connect 11 0 10 0;
+#X restore 58 263 pd get_absolutpath_img;
+#X obj 58 240 symbol;
+#X obj 34 219 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#N canvas 9 75 433 416 get_relative_path 0;
+#X obj 155 67 pofutil;
+#X msg 155 43 dirbaseext \$1;
+#X obj 155 87 route dirbaseext;
+#X obj 155 115 list split 1;
+#X obj 155 210 pofutil;
+#X obj 155 230 route dirbaseext;
+#X obj 155 255 unpack s s s;
+#X msg 155 186 dirbaseext \$1;
+#N canvas 490 325 450 300 strip_last_slash 0;
+#X obj 89 36 inlet;
+#X obj 89 214 outlet;
+#X obj 89 68 list fromsymbol;
+#X obj 89 95 t a a;
+#X obj 89 169 list split;
+#X obj 116 118 list length;
+#X obj 116 138 - 1;
+#X obj 89 190 list tosymbol;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 5 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 1;
+#X connect 7 0 1 0;
+#X restore 155 155 pd strip_last_slash;
+#X obj 189 309 pack s s s;
+#X obj 214 285 unpack s s;
+#X obj 155 21 inlet fullpath;
+#X msg 189 331 list \$1/\$2.\$3;
+#X obj 189 354 outlet dir/base.name;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 8 0;
+#X connect 3 1 10 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 1 9 0;
+#X connect 7 0 4 0;
+#X connect 8 0 7 0;
+#X connect 9 0 12 0;
+#X connect 10 0 9 1;
+#X connect 10 1 9 2;
+#X connect 11 0 1 0;
+#X connect 12 0 13 0;
+#X restore 376 161 pd get_relative_path;
+#X obj 376 134 symbol;
+#X obj 351 140 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X connect 0 0 2 0;
+#X connect 1 0 14 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 7 0 32 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 12 0 17 0;
+#X connect 13 0 12 0;
+#X connect 14 0 27 0;
+#X connect 15 0 14 0;
+#X connect 17 0 18 0;
+#X connect 18 0 23 0;
+#X connect 18 1 26 0;
+#X connect 19 0 20 0;
+#X connect 20 0 21 0;
+#X connect 21 1 24 0;
+#X connect 22 0 19 0;
+#X connect 23 0 22 0;
+#X connect 24 0 16 0;
+#X connect 26 0 24 1;
+#X connect 26 1 24 2;
+#X connect 27 0 6 0;
+#X connect 29 0 28 0;
+#X connect 30 0 29 0;
+#X connect 31 0 11 0;
+#X connect 32 0 31 0;
+#X connect 33 0 32 0;
+#X restore 562 232 pd medias&folders;
+#N canvas 7 75 450 300 alpha 0;
+#X obj 250 231 line;
+#X obj 250 207 pack f f;
+#X obj 303 187 r /kof/\$1/fadetime;
+#X obj 250 152 r /kof/\$1/alpha/2;
+#X obj 250 253 outlet;
+#X obj 157 77 r /kof/\$1/fademode;
+#X obj 157 98 == 2;
+#X obj 30 231 line;
+#X obj 30 207 pack f f;
+#X obj 83 187 r /kof/\$1/fadetime;
+#X obj 30 253 outlet;
+#X obj 34 77 r /kof/\$1/fademode;
+#X obj 30 152 r /kof/\$1/alpha/1;
+#X obj 34 98 == 1;
+#X obj 79 25 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 -1
+-1 1;
+#X obj 79 45 s /kof/\$1/fademode;
+#X obj 248 52 s /kof/\$1/fadetime;
+#X floatatom 246 31 5 0 0 0 - - -, f 5;
+#X obj 157 119 s /kof/\$1/alpha/2;
+#X obj 34 119 s /kof/\$1/alpha/1;
+#X connect 0 0 4 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 1;
+#X connect 3 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 18 0;
+#X connect 7 0 10 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 1;
+#X connect 11 0 13 0;
+#X connect 12 0 8 0;
+#X connect 13 0 19 0;
+#X connect 14 0 15 0;
+#X connect 17 0 16 0;
+#X restore 571 173 pd alpha;
+#N canvas 771 182 450 300 init 0;
+#X obj 98 76 loadbang;
+#X obj 98 98 list append \$1;
+#X msg 98 121 \; /kof/\$1/corner/top/left/x -200 \; /kof/\$1/corner/top/left/y
+200 \; /kof/\$1/corner/top/right/x 200 \; /kof/\$1/corner/top/right/y
+200 \; /kof/\$1/corner/bottom/right/x 200 \; /kof/\$1/corner/bottom/right/y
+-200 \; /kof/\$1/corner/bottom/left/x -200 \; /kof/\$1/corner/bottom/left/y
+-200 \; /kof/\$1/fadetime 0 \; /kof/\$1/alpha/1 0.5 \; /kof/\$1/alpha/2
+0.5 \; /kof/\$1/state 1;
+#X obj 173 74 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 1 0;
+#X restore 26 121 pd init;
+#X obj 402 81 pofvisible 1;
+#X obj 402 43 r /kof/\$1/state;
+#X obj 702 79 pofvisible 1;
+#X obj 702 50 r /kof/\$1/state;
+#X obj 402 381 pofquad 200 200;
+#X text 34 316 TODO;
+#X text 30 339 inversion corners top/bottom;
+#X text 34 370 liste medias Cream;
+#X obj 577 8 inlet;
+#X obj 577 30 t a a;
+#X obj 622 8 r /pofhead/slave;
+#X obj 459 358 pofquad 200 200;
+#X obj 702 370 pofquad 200 200;
+#X obj 759 346 pofquad 200 200;
+#X obj 759 251 r /kof/\$1/media/2;
+#X obj 402 283 kof_source;
+#X obj 702 275 kof_source;
+#X connect 2 0 17 0;
+#X connect 3 0 2 0;
+#X connect 6 0 8 0;
+#X connect 7 0 15 0;
+#X connect 8 0 7 0;
+#X connect 9 0 26 0;
+#X connect 9 0 33 0;
+#X connect 9 0 34 0;
+#X connect 9 0 35 0;
+#X connect 10 0 12 0;
+#X connect 11 0 14 0;
+#X connect 12 0 11 0;
+#X connect 13 0 37 1;
+#X connect 14 0 38 0;
+#X connect 15 0 37 0;
+#X connect 20 0 15 4;
+#X connect 20 1 14 4;
+#X connect 22 0 6 0;
+#X connect 23 0 22 0;
+#X connect 24 0 10 0;
+#X connect 25 0 24 0;
+#X connect 30 0 31 0;
+#X connect 31 0 22 0;
+#X connect 31 1 24 0;
+#X connect 32 0 31 0;
+#X connect 36 0 38 1;
+#X connect 37 0 26 0;
+#X connect 37 1 33 0;
+#X connect 38 0 34 0;
+#X connect 38 1 35 0;
+#X coords 0 -1 1 1 200 50 1 60 55;

+ 636 - 0
kof_quad.pd

@@ -0,0 +1,636 @@
+#N canvas 182 216 836 609 10;
+#N canvas 0 50 560 493 soft_edging 0;
+#X obj 335 406 outlet;
+#X obj 48 112 inlet;
+#X msg 125 305 Sl \$1;
+#X obj 48 135 t b b b b;
+#X obj 125 135 r /ev/pro/\$1/shade/left;
+#X obj 195 155 r /ev/pro/\$1/shade/right;
+#X obj 265 175 r /ev/pro/\$1/shade/top;
+#X obj 335 195 r /ev/pro/\$1/shade/bottom;
+#X msg 195 305 Sr \$1;
+#X msg 265 305 St \$1;
+#X msg 335 305 Sb \$1;
+#X obj 125 284 max 0.0001;
+#X obj 195 284 max 0.0001;
+#X obj 265 284 max 0.0001;
+#X obj 335 284 max 0.0001;
+#X obj 125 262 f 0;
+#X obj 195 262 f 0;
+#X obj 265 262 f 0;
+#X obj 335 262 f 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 15 0;
+#X connect 3 1 16 0;
+#X connect 3 2 17 0;
+#X connect 3 3 18 0;
+#X connect 4 0 15 0;
+#X connect 5 0 16 0;
+#X connect 6 0 17 0;
+#X connect 7 0 18 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 2 0;
+#X connect 12 0 8 0;
+#X connect 13 0 9 0;
+#X connect 14 0 10 0;
+#X connect 15 0 11 0;
+#X connect 16 0 12 0;
+#X connect 17 0 13 0;
+#X connect 18 0 14 0;
+#X restore 691 406 pd soft_edging;
+#N canvas 251 242 915 756 texture_position 0;
+#X obj 177 168 pack f f;
+#X obj 205 103 t b f;
+#X obj 177 821 outlet;
+#X obj 90 -40 inlet;
+#X obj 327 168 pack f f;
+#X obj 355 103 t b f;
+#X obj 307 558 pack f f;
+#X obj 335 493 t b f;
+#X obj 457 558 pack f f;
+#X obj 485 493 t b f;
+#X obj 90 543 t b b;
+#X obj 117 11 t b b;
+#X obj 177 -9 r /ev/pro/\$1/texture/top/left/x;
+#X obj 205 11 r /ev/pro/\$1/texture/top/left/y;
+#X obj 327 34 r /ev/pro/\$1/texture/top/right/x;
+#X obj 355 54 r /ev/pro/\$1/texture/top/right/y;
+#X obj 307 349 r /ev/pro/\$1/texture/bottom/left/x;
+#X obj 335 369 r /ev/pro/\$1/texture/bottom/left/y;
+#X obj 457 393 r /ev/pro/\$1/texture/bottom/right/x;
+#X obj 485 413 r /ev/pro/\$1/texture/bottom/right/y;
+#X obj 90 -18 t b b;
+#X obj 586 31 t l l l l;
+#X msg 586 73 0 \$2;
+#X msg 603 93 \$1 \$2;
+#X msg 620 216 0 0;
+#X msg 637 236 \$1 0;
+#X obj 748 31 t f f;
+#X obj 748 93 sel 0;
+#X obj 327 188 spigot 1;
+#X obj 177 188 spigot 1;
+#X obj 117 243 list;
+#X obj 117 265 list trim;
+#X obj 267 243 list;
+#X obj 267 265 list trim;
+#X obj 748 435 t b;
+#X obj 237 188 spigot 0;
+#X obj 387 188 spigot 0;
+#X obj 805 91 * -1;
+#X obj 805 113 + 1;
+#X obj 805 435 t f;
+#X obj 775 435 t f;
+#X obj 457 583 spigot 1;
+#X obj 307 583 spigot 1;
+#X obj 247 638 list;
+#X obj 247 660 list trim;
+#X obj 397 638 list;
+#X obj 397 660 list trim;
+#X obj 367 583 spigot 0;
+#X obj 517 583 spigot 0;
+#X msg 177 305 Ttl \$1 \$2;
+#X msg 327 305 Ttr \$1 \$2;
+#X msg 307 700 Tbl \$1 \$2;
+#X msg 457 700 Tbr \$1 \$2;
+#X obj 748 9 r /ev/pro/\$1/grid/tex/state;
+#X obj 586 -18 r /ev/pro/\$1/grid/tex/texture_id;
+#X msg 586 4 \$2 \$3;
+#X connect 0 0 29 0;
+#X connect 1 0 0 0;
+#X connect 1 1 0 1;
+#X connect 3 0 20 0;
+#X connect 4 0 28 0;
+#X connect 5 0 4 0;
+#X connect 5 1 4 1;
+#X connect 6 0 42 0;
+#X connect 7 0 6 0;
+#X connect 7 1 6 1;
+#X connect 8 0 41 0;
+#X connect 9 0 8 0;
+#X connect 9 1 8 1;
+#X connect 10 0 43 0;
+#X connect 10 1 45 0;
+#X connect 11 0 30 0;
+#X connect 11 1 32 0;
+#X connect 12 0 0 0;
+#X connect 13 0 1 0;
+#X connect 14 0 4 0;
+#X connect 15 0 5 0;
+#X connect 16 0 6 0;
+#X connect 17 0 7 0;
+#X connect 18 0 8 0;
+#X connect 19 0 9 0;
+#X connect 20 0 10 0;
+#X connect 20 1 11 0;
+#X connect 21 0 22 0;
+#X connect 21 1 23 0;
+#X connect 21 2 24 0;
+#X connect 21 3 25 0;
+#X connect 22 0 35 0;
+#X connect 23 0 36 0;
+#X connect 24 0 47 0;
+#X connect 25 0 48 0;
+#X connect 26 0 27 0;
+#X connect 26 1 36 1;
+#X connect 26 1 35 1;
+#X connect 26 1 37 0;
+#X connect 26 1 40 0;
+#X connect 27 0 0 0;
+#X connect 27 0 4 0;
+#X connect 27 0 34 0;
+#X connect 28 0 50 0;
+#X connect 28 0 32 1;
+#X connect 29 0 49 0;
+#X connect 29 0 30 1;
+#X connect 30 0 31 0;
+#X connect 31 0 49 0;
+#X connect 32 0 33 0;
+#X connect 33 0 50 0;
+#X connect 34 0 8 0;
+#X connect 34 0 6 0;
+#X connect 35 0 30 1;
+#X connect 35 0 49 0;
+#X connect 36 0 32 1;
+#X connect 36 0 50 0;
+#X connect 37 0 38 0;
+#X connect 38 0 29 1;
+#X connect 38 0 28 1;
+#X connect 38 0 39 0;
+#X connect 39 0 42 1;
+#X connect 39 0 41 1;
+#X connect 40 0 47 1;
+#X connect 40 0 48 1;
+#X connect 41 0 52 0;
+#X connect 41 0 45 1;
+#X connect 42 0 51 0;
+#X connect 42 0 43 1;
+#X connect 43 0 44 0;
+#X connect 44 0 51 0;
+#X connect 45 0 46 0;
+#X connect 46 0 52 0;
+#X connect 47 0 43 1;
+#X connect 47 0 51 0;
+#X connect 48 0 45 1;
+#X connect 48 0 52 0;
+#X connect 49 0 2 0;
+#X connect 50 0 2 0;
+#X connect 51 0 2 0;
+#X connect 52 0 2 0;
+#X connect 53 0 26 0;
+#X connect 54 0 55 0;
+#X connect 55 0 21 0;
+#X coords 0 0 1 1 200 70 0;
+#X restore 561 406 pd texture_position;
+#N canvas 528 52 732 678 vertex_position 0;
+#X obj 188 143 t b f;
+#X obj 160 511 outlet;
+#X obj 80 -50 inlet;
+#X msg 160 193 Vtl \$1 \$2;
+#X msg 260 435 Vbl \$1 \$2;
+#X msg 340 435 Vbr \$1 \$2;
+#X obj 160 1 r /ev/pro/\$1/vertex/top/left/x;
+#X obj 160 119 f;
+#X obj 188 21 r /ev/pro/\$1/vertex/top/left/y;
+#X obj 240 44 r /ev/pro/\$1/vertex/top/right/x;
+#X obj 268 64 r /ev/pro/\$1/vertex/top/right/y;
+#X obj 268 143 t b f;
+#X obj 240 119 f;
+#X msg 240 193 Vtr \$1 \$2;
+#X obj 260 239 r /ev/pro/\$1/vertex/bottom/left/x;
+#X obj 288 259 r /ev/pro/\$1/vertex/bottom/left/y;
+#X obj 340 283 r /ev/pro/\$1/vertex/bottom/right/x;
+#X obj 368 303 r /ev/pro/\$1/vertex/bottom/right/y;
+#X obj 288 383 t b f;
+#X obj 260 359 f;
+#X obj 368 383 t b f;
+#X obj 340 359 f;
+#X obj 80 193 t b b;
+#X obj 80 -28 t b b;
+#X obj 107 1 t b b;
+#X obj 160 168 pack -1 1;
+#X obj 240 168 pack 1 1;
+#X obj 260 408 pack -1 -1;
+#X obj 340 408 pack 1 -1;
+#X connect 0 0 25 0;
+#X connect 0 1 25 1;
+#X connect 2 0 23 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 25 0;
+#X connect 8 0 0 0;
+#X connect 9 0 12 0;
+#X connect 10 0 11 0;
+#X connect 11 0 26 0;
+#X connect 11 1 26 1;
+#X connect 12 0 26 0;
+#X connect 13 0 1 0;
+#X connect 14 0 19 0;
+#X connect 15 0 18 0;
+#X connect 16 0 21 0;
+#X connect 17 0 20 0;
+#X connect 18 0 27 0;
+#X connect 18 1 27 1;
+#X connect 19 0 27 0;
+#X connect 20 0 28 0;
+#X connect 20 1 28 1;
+#X connect 21 0 28 0;
+#X connect 22 0 19 0;
+#X connect 22 1 21 0;
+#X connect 23 0 22 0;
+#X connect 23 1 24 0;
+#X connect 24 0 7 0;
+#X connect 24 1 12 0;
+#X connect 25 0 3 0;
+#X connect 26 0 13 0;
+#X connect 27 0 4 0;
+#X connect 28 0 5 0;
+#X coords 0 0 1 1 200 70 0;
+#X restore 442 406 pd vertex_position;
+#N canvas 556 216 626 506 nfp_flat_wall 0;
+#X obj 64 311 pix_texture;
+#X obj 64 -3 alpha;
+#X obj 64 349 mesh_square 50 50;
+#N canvas 587 50 792 790 glsl 0;
+#X obj 88 189 glsl_vertex;
+#X msg 42 188 print;
+#X obj 88 476 glsl_program;
+#X obj 173 405 pack 0 0;
+#X msg 40 326 print;
+#X obj 173 361 change;
+#X obj 160 208 change;
+#X msg 173 429 link \$1 \$2;
+#X msg 42 470 print;
+#X obj 87 340 glsl_fragment;
+#X floatatom 173 385 2 0 0 0 ID - -, f 2;
+#X floatatom 160 231 2 0 0 0 ID - -, f 2;
+#X obj 191 450 print linking;
+#X obj 29 31 inlet;
+#X obj 88 512 outlet;
+#X obj 428 31 inlet;
+#X obj 29 54 route bang;
+#X obj 265 21 gemhead 1;
+#X msg 265 43 1;
+#X obj 265 67 change;
+#X obj 265 91 t b;
+#X obj 167 497 change;
+#X obj 167 518 t b;
+#X obj 168 540 outlet;
+#X obj 100 276 symbol;
+#X obj 100 251 t b;
+#X msg 297 448 0;
+#X obj 29 75 t b b b;
+#X msg 128 157 open ev_pro_22.vert;
+#X msg 100 303 open ev_pro_22.frag;
+#X connect 0 0 9 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 14 0;
+#X connect 2 1 21 0;
+#X connect 3 0 7 0;
+#X connect 4 0 9 0;
+#X connect 5 0 10 0;
+#X connect 6 0 11 0;
+#X connect 6 0 25 0;
+#X connect 7 0 2 0;
+#X connect 7 0 12 0;
+#X connect 8 0 2 0;
+#X connect 9 0 2 0;
+#X connect 9 1 5 0;
+#X connect 10 0 3 0;
+#X connect 11 0 3 1;
+#X connect 13 0 16 0;
+#X connect 15 0 2 0;
+#X connect 16 0 27 0;
+#X connect 16 1 0 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 28 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 24 0 29 0;
+#X connect 25 0 24 0;
+#X connect 26 0 21 0;
+#X connect 27 0 26 0;
+#X connect 27 1 10 0;
+#X connect 27 2 28 0;
+#X connect 28 0 0 0;
+#X connect 29 0 9 0;
+#X restore 64 39 pd glsl;
+#X obj 355 -29 inlet;
+#X obj 359 106 outlet;
+#X obj 127 179 r /ev/pro/\$1/texture_id;
+#X obj 172 223 * -1;
+#X obj 172 245 + 1;
+#X obj 127 279 spigot 1;
+#X obj 326 259 spigot 0;
+#X obj 57 -64 inlet;
+#X obj 326 179 r /ev/pro/\$1/grid/tex/texture_id;
+#X obj 371 211 r /ev/pro/\$1/grid/tex/state;
+#X obj 172 201 r /ev/pro/\$1/grid/tex/state;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 1;
+#X connect 6 0 9 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 1;
+#X connect 9 0 0 1;
+#X connect 10 0 0 1;
+#X connect 11 0 1 0;
+#X connect 12 0 10 0;
+#X connect 13 0 10 1;
+#X connect 14 0 7 0;
+#X restore 482 224 pd nfp_flat_wall;
+#X obj 482 249 s /ev/pro/\$1/wall_init;
+#X obj 575 200 r /ev/pro/\$1/wall_data;
+#X obj 561 483 s /ev/pro/\$1/wall_data;
+#X obj 561 334 r /ev/pro/\$1/wall_init;
+#X obj 101 132 cnv 15 198 31 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 105 136 tgl 15 1 /ev/pro/\$1/state /ev/pro/\$1/state on/off
+17 7 0 10 -4034 -1 -1 1 1;
+#X msg 198 181 vis 1;
+#X obj 198 136 bng 15 250 50 0 empty empty settings 17 7 0 10 -159808
+-1 -1;
+#X obj 54 75 cnv 15 750 16 empty empty EXTENDED_VIEW_2x2_projection_module
+20 8 0 14 -233017 -66577 0;
+#X obj 54 370 cnv 15 360 60 empty empty inlets/outlets 5 8 0 12 -233017
+-66577 0;
+#N canvas 689 117 366 514 init 0;
+#X obj 61 -216 loadbang;
+#X obj 61 -194 del 1000;
+#X msg 61 -134 \; /ev/pro/\$1/vertex/top/left/x -1 \; /ev/pro/\$1/vertex/top/left/y
+1 \; /ev/pro/\$1/vertex/top/right/x 1 \; /ev/pro/\$1/vertex/top/right/y
+1 \; /ev/pro/\$1/vertex/bottom/left/x -1 \; /ev/pro/\$1/vertex/bottom/left/y
+-1 \; /ev/pro/\$1/vertex/bottom/right/x 1 \; /ev/pro/\$1/vertex/bottom/right/y
+-1 \; /ev/pro/\$1/texture/top/left/x 0 \; /ev/pro/\$1/texture/top/left/y
+480 \; /ev/pro/\$1/texture/top/right/x 640 \; /ev/pro/\$1/texture/top/right/y
+480 \; /ev/pro/\$1/texture/bottom/left/x 0 \; /ev/pro/\$1/texture/bottom/left/y
+0 \; /ev/pro/\$1/texture/bottom/right/x 640 \; /ev/pro/\$1/texture/bottom/right/y
+0 \; /ev/pro/\$1/shade/top 0 \; /ev/pro/\$1/shade/right 0 \; /ev/pro/\$1/shade/bottom
+0 \; /ev/pro/\$1/shade/left 0 \; /ev/pro/\$1/state 1 \; /ev/pro/\$1/cursor/mode
+2 \; /ev/pro/\$1/set_alpha 1 \; /ev/pro/\$1/texture/weight/x 0 \; /ev/pro/\$1/texture/weight/y
+0 \;;
+#X obj 61 -162 list append \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 2 0;
+#X restore 67 185 pd init;
+#X obj 605 157 s /ev/pro/\$1/texture_id;
+#N canvas 488 148 410 389 mouseover 0;
+#X obj 34 37 abs/ev_mouseover_vertex /ev/pro/\$1 /top/left;
+#X obj 34 57 abs/ev_mouseover_vertex /ev/pro/\$1 /top/right;
+#X obj 34 77 abs/ev_mouseover_vertex /ev/pro/\$1 /bottom/left;
+#X obj 34 97 abs/ev_mouseover_vertex /ev/pro/\$1 /bottom/right;
+#X obj 34 147 abs/ev_mouseover_texture /ev/pro/\$1 /top/left;
+#X obj 34 167 abs/ev_mouseover_texture /ev/pro/\$1 /top/right;
+#X obj 34 187 abs/ev_mouseover_texture /ev/pro/\$1 /bottom/left;
+#X obj 34 207 abs/ev_mouseover_texture /ev/pro/\$1 /bottom/right;
+#X restore 67 232 pd mouseover;
+#X obj 605 122 inlet texture_id;
+#N canvas 166 50 768 519 storage_&_osc 0;
+#X obj 39 31 ds_reg \$2 /ev/pro/\$1/vertex/top/left/x;
+#X obj 39 51 ds_reg \$2 /ev/pro/\$1/vertex/top/left/y;
+#X obj 39 71 ds_reg \$2 /ev/pro/\$1/vertex/top/right/x;
+#X obj 39 91 ds_reg \$2 /ev/pro/\$1/vertex/top/right/y;
+#X obj 39 111 ds_reg \$2 /ev/pro/\$1/vertex/bottom/left/x;
+#X obj 39 131 ds_reg \$2 /ev/pro/\$1/vertex/bottom/left/y;
+#X obj 39 151 ds_reg \$2 /ev/pro/\$1/vertex/bottom/right/x;
+#X obj 39 171 ds_reg \$2 /ev/pro/\$1/vertex/bottom/right/y;
+#X obj 39 191 ds_reg \$2 /ev/pro/\$1/texture/top/left/x;
+#X obj 39 211 ds_reg \$2 /ev/pro/\$1/texture/top/left/y;
+#X obj 39 231 ds_reg \$2 /ev/pro/\$1/texture/top/right/x;
+#X obj 39 251 ds_reg \$2 /ev/pro/\$1/texture/top/right/y;
+#X obj 39 271 ds_reg \$2 /ev/pro/\$1/texture/bottom/left/x;
+#X obj 39 291 ds_reg \$2 /ev/pro/\$1/texture/bottom/left/y;
+#X obj 39 311 ds_reg \$2 /ev/pro/\$1/texture/bottom/right/x;
+#X obj 39 331 ds_reg \$2 /ev/pro/\$1/texture/bottom/right/y;
+#X obj 39 351 ds_reg \$2 /ev/pro/\$1/shade/top;
+#X obj 39 371 ds_reg \$2 /ev/pro/\$1/shade/right;
+#X obj 39 391 ds_reg \$2 /ev/pro/\$1/shade/bottom;
+#X obj 39 411 ds_reg \$2 /ev/pro/\$1/shade/left;
+#X obj 369 31 osc_bi \$2 /ev/pro/\$1/vertex/top/left/x;
+#X obj 369 51 osc_bi \$2 /ev/pro/\$1/vertex/top/left/y;
+#X obj 369 71 osc_bi \$2 /ev/pro/\$1/vertex/top/right/x;
+#X obj 369 91 osc_bi \$2 /ev/pro/\$1/vertex/top/right/y;
+#X obj 369 111 osc_bi \$2 /ev/pro/\$1/vertex/bottom/left/x;
+#X obj 369 131 osc_bi \$2 /ev/pro/\$1/vertex/bottom/left/y;
+#X obj 369 151 osc_bi \$2 /ev/pro/\$1/vertex/bottom/right/x;
+#X obj 369 171 osc_bi \$2 /ev/pro/\$1/vertex/bottom/right/y;
+#X obj 369 191 osc_bi \$2 /ev/pro/\$1/texture/top/left/x;
+#X obj 369 211 osc_bi \$2 /ev/pro/\$1/texture/top/left/y;
+#X obj 369 231 osc_bi \$2 /ev/pro/\$1/texture/top/right/x;
+#X obj 369 251 osc_bi \$2 /ev/pro/\$1/texture/top/right/y;
+#X obj 369 271 osc_bi \$2 /ev/pro/\$1/texture/bottom/left/x;
+#X obj 369 291 osc_bi \$2 /ev/pro/\$1/texture/bottom/left/y;
+#X obj 369 311 osc_bi \$2 /ev/pro/\$1/texture/bottom/right/x;
+#X obj 369 331 osc_bi \$2 /ev/pro/\$1/texture/bottom/right/y;
+#X obj 369 351 osc_bi \$2 /ev/pro/\$1/shade/top;
+#X obj 369 371 osc_bi \$2 /ev/pro/\$1/shade/right;
+#X obj 369 391 osc_bi \$2 /ev/pro/\$1/shade/bottom;
+#X obj 369 411 osc_bi \$2 /ev/pro/\$1/shade/left;
+#X obj 369 431 osc_bi \$2 /ev/pro/\$1/state;
+#X obj 369 451 osc_bi \$2 /ev/pro/\$1/cursor/mode;
+#X obj 369 471 osc_bi \$2 /ev/pro/\$1/set_alpha;
+#X obj 39 491 ds_reg \$2 /ev/pro/\$1/texture/weight/x;
+#X obj 39 511 ds_reg \$2 /ev/pro/\$1/texture/weight/y;
+#X obj 369 491 osc_bi \$2 /ev/pro/\$1/texture/weight/x;
+#X obj 369 511 osc_bi \$2 /ev/pro/\$1/texture/weight/y;
+#X obj 39 431 ds_reg \$2 /ev/pro/\$1/state nomorph;
+#X obj 39 451 ds_reg \$2 /ev/pro/\$1/cursor/mode nomorph;
+#X obj 39 471 ds_reg \$2 /ev/pro/\$1/set_alpha nomorph;
+#X restore 67 209 pd storage_&_osc;
+#X text 58 406 Inlet 2: texture ID;
+#X text 58 390 Inlet 1: gemlist;
+#X obj 443 103 inlet gemlist;
+#X obj 482 198 separator;
+#X obj 443 297 s /ev/pro/\$1/mouse/gemlist;
+#X obj 443 175 t a a a;
+#N canvas 213 97 560 493 alpha 0;
+#X obj 125 366 outlet;
+#X obj 48 112 inlet;
+#X obj 48 135 t b;
+#X msg 125 285 set_alpha \$1;
+#X obj 125 262 f 1;
+#X obj 125 135 r /ev/pro/\$1/set_alpha;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X restore 691 376 pd alpha;
+#N canvas 528 52 732 678 weight 0;
+#X obj 188 143 t b f;
+#X obj 160 511 outlet;
+#X obj 80 -50 inlet;
+#X obj 107 1 t b;
+#X msg 160 193 weight \$1 \$2;
+#X obj 160 1 r /ev/pro/\$1/texture/weight/x;
+#X obj 188 21 r /ev/pro/\$1/texture/weight/y;
+#X obj 160 119 f 0;
+#X obj 160 168 pack 0 0;
+#X connect 0 0 8 0;
+#X connect 0 1 8 1;
+#X connect 2 0 3 0;
+#X connect 3 0 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 7 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 8 0 4 0;
+#X coords 0 0 1 1 200 70 0;
+#X restore 691 436 pd weight;
+#N canvas 364 50 406 472 pro_\$1 0;
+#X obj -7 -3 cnv 15 210 450 empty empty Projection 20 12 0 14 -228856
+-66577 0;
+#X obj 8 40 nbx 5 14 -10000 10000 0 0 /ev/pro/\$1/vertex/top/left/x
+/ev/pro/\$1/vertex/top/left/x x -10 7 0 10 -261234 -1 -1 0 256;
+#X obj 8 56 nbx 5 14 -10000 10000 0 0 /ev/pro/\$1/vertex/top/left/y
+/ev/pro/\$1/vertex/top/left/y y -10 7 0 10 -261234 -1 -1 0 256;
+#X obj 78 40 nbx 5 14 -10000 10000 0 0 /ev/pro/\$1/vertex/top/right/x
+/ev/pro/\$1/vertex/top/right/x x -10 7 0 10 -261234 -1 -1 0 256;
+#X obj 78 56 nbx 5 14 -10000 10000 0 0 /ev/pro/\$1/vertex/top/right/y
+/ev/pro/\$1/vertex/top/right/y y -10 7 0 10 -261234 -1 -1 0 256;
+#X obj 8 76 nbx 5 14 -10000 10000 0 0 /ev/pro/\$1/vertex/bottom/left/x
+/ev/pro/\$1/vertex/bottom/left/x x -10 7 0 10 -261234 -1 -1 0 256;
+#X obj 8 92 nbx 5 14 -10000 10000 0 0 /ev/pro/\$1/vertex/bottom/left/y
+/ev/pro/\$1/vertex/bottom/left/y y -10 7 0 10 -261234 -1 -1 0 256;
+#X obj 78 76 nbx 5 14 -10000 10000 0 0 /ev/pro/\$1/vertex/bottom/right/x
+/ev/pro/\$1/vertex/bottom/right/x x -10 7 0 10 -261234 -1 -1 0 256
+;
+#X obj 78 92 nbx 5 14 -10000 10000 0 0 /ev/pro/\$1/vertex/bottom/right/y
+/ev/pro/\$1/vertex/bottom/right/y y -10 7 0 10 -261234 -1 -1 0 256
+;
+#X obj 8 126 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/top/left/x
+/ev/pro/\$1/texture/top/left/x x -10 7 0 10 -204800 -1 -1 0 256;
+#X obj 8 142 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/top/left/y
+/ev/pro/\$1/texture/top/left/y y -10 7 0 10 -204800 -1 -1 0 256;
+#X obj 78 126 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/top/right/x
+/ev/pro/\$1/texture/top/right/x x -10 7 0 10 -204800 -1 -1 0 256;
+#X obj 78 142 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/top/right/y
+/ev/pro/\$1/texture/top/right/y y -10 7 0 10 -204800 -1 -1 0 256;
+#X obj 8 162 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/bottom/left/x
+/ev/pro/\$1/texture/bottom/left/x x -10 7 0 10 -204800 -1 -1 0 256
+;
+#X obj 8 178 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/bottom/left/y
+/ev/pro/\$1/texture/bottom/left/y y -10 7 0 10 -204800 -1 -1 0 256
+;
+#X obj 78 162 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/bottom/right/x
+/ev/pro/\$1/texture/bottom/right/x x -10 7 0 10 -204800 -1 -1 0 256
+;
+#X obj 78 178 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/bottom/right/y
+/ev/pro/\$1/texture/bottom/right/y y -10 7 0 10 -204800 -1 -1 0 256
+;
+#X text -2 22 vertex position;
+#X text -4 108 texture position (Pixel);
+#X obj 208 -3 cnv 15 170 145 empty empty rendered_grid 20 12 0 14 -233017
+-66577 0;
+#X obj 247 63 nbx 3 14 1 360 0 0 /ev/pro/\$1/grid/res/x /ev/pro/\$1/grid/res/x
+x -8 8 0 10 -203904 -1 -1 1 256;
+#X obj 247 79 nbx 3 14 1 360 0 0 /ev/pro/\$1/grid/res/y /ev/pro/\$1/grid/res/y
+y -8 8 0 10 -203904 -1 -1 1 256;
+#X obj 222 25 tgl 15 1 /ev/pro/\$1/grid/state /ev/pro/\$1/grid/state
+state 17 7 0 10 -4034 -1 -1 0 1;
+#X text 215 45 Resolution:;
+#X obj 220 120 hsl 64 15 1 7 0 0 /ev/pro/\$1/grid/width /ev/pro/\$1/grid/width
+line_width -2 -8 0 10 -261682 -1 -1 0 1;
+#X obj 296 45 vsl 15 64 0 1 0 0 /ev/pro/\$1/grid/color/h /ev/pro/\$1/grid/color/h
+H 5 74 0 10 -262144 -1 -1 0 1;
+#X obj 316 45 vsl 15 64 0 1 0 0 /ev/pro/\$1/grid/color/s /ev/pro/\$1/grid/color/s
+S 5 74 0 10 -262144 -1 -1 0 1;
+#X obj 336 45 vsl 15 64 0 1 0 0 /ev/pro/\$1/grid/color/v /ev/pro/\$1/grid/color/v
+V 5 74 0 10 -262144 -1 -1 0 1;
+#X obj 356 45 vsl 15 64 0 1 0 0 /ev/pro/\$1/grid/color/a /ev/pro/\$1/grid/color/a
+A 5 74 0 10 -262144 -1 -1 0 1;
+#X obj 208 147 cnv 15 170 120 empty empty grid_texture 20 12 0 14 -233017
+-66577 0;
+#X obj 221 175 tgl 15 1 /ev/pro/\$1/grid/tex/state /ev/pro/\$1/grid/tex/state
+state 17 7 0 10 -4034 -1 -1 0 1;
+#X obj 221 197 bng 15 250 50 0 /ev/pro/\$1/grid/tex/open /ev/pro/\$1/grid/tex/open
+open_new_file 17 7 0 10 -262130 -1 -1;
+#X obj 221 215 bng 15 250 50 0 /ev/pro/\$1/grid/tex/load /ev/pro/\$1/grid/tex/load
+reload 17 7 0 10 -204800 -1 -1;
+#X obj 268 244 tgl 15 0 /ev/pro/\$1/grid/tex/flip/horizontal /ev/pro/\$1/grid/tex/flip/horizontal
+<-> 17 7 0 10 -204786 -1 -1 0 1;
+#X obj 304 244 tgl 15 0 /ev/pro/\$1/grid/tex/flip/vertical /ev/pro/\$1/grid/tex/flip/vertical
+^v 17 7 0 10 -204786 -1 -1 0 1;
+#X text 235 244 flip:;
+#X text 316 26 COLOR;
+#X obj 208 273 cnv 15 170 125 empty empty cursor_interaction 20 12
+0 14 -233017 -66577 0;
+#X obj 224 314 vradio 15 1 0 5 /ev/pro/\$1/cursor/mode /ev/pro/\$1/cursor/mode
+cursor_mode 0 -8 0 10 -262144 -1 -1 0;
+#X text 241 313 off;
+#X text 241 329 vertex mouseover;
+#X text 241 344 vertex permanent;
+#X text 241 359 texture mouseover;
+#X text 241 374 texture permanent;
+#X obj 208 403 cnv 15 170 44 empty empty alpha 20 12 0 14 -233017 -66577
+0;
+#X obj 214 427 tgl 15 0 /ev/pro/\$1/set_alpha /ev/pro/\$1/set_alpha
+set_alpha_to_'1' 17 7 0 10 -262144 -1 -1 0 1;
+#X obj 52 240 vsl 15 50 0.15 0 0 0 /ev/pro/\$1/shade/top /ev/pro/\$1/shade/top
+top 18 6 0 10 -262130 -1 -1 0 1;
+#X obj 52 310 vsl 15 50 0 0.15 0 0 /ev/pro/\$1/shade/bottom /ev/pro/\$1/shade/bottom
+bottom 18 47 0 10 -262130 -1 -1 0 1;
+#X obj 70 293 hsl 50 15 0.15 0 0 0 /ev/pro/\$1/shade/right /ev/pro/\$1/shade/right
+right 20 -8 0 10 -262130 -1 -1 0 1;
+#X obj 0 293 hsl 50 15 0 0.15 0 0 /ev/pro/\$1/shade/left /ev/pro/\$1/shade/left
+left 2 -8 0 10 -262130 -1 -1 0 1;
+#X text -4 213 shade size;
+#X text 88 212 perspective weight;
+#X obj 176 251 vsl 15 128 -0.9 0.9 0 0 /ev/pro/\$1/texture/weight/y
+/ev/pro/\$1/texture/weight/y y -18 6 0 10 -232576 -1 -1 0 1;
+#X obj 61 386 hsl 128 15 -0.9 0.9 0 0 /ev/pro/\$1/texture/weight/x
+/ev/pro/\$1/texture/weight/x x 20 -8 0 10 -232576 -1 -1 0 1;
+#X obj -1 386 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/weight/x
+/ev/pro/\$1/texture/weight/x empty 0 -8 0 10 -232576 -1 -1 0 256;
+#X obj 138 231 nbx 5 14 -1e+37 1e+37 0 0 /ev/pro/\$1/texture/weight/y
+/ev/pro/\$1/texture/weight/y empty 0 -8 0 10 -232576 -1 -1 0 256;
+#X coords 0 0 1 1 155 300 0;
+#X restore 198 227 pd pro_\$1;
+#X obj 198 205 s pd-pro_\$1;
+#X obj 54 302 cnv 15 360 60 empty empty creation_arguments: 3 8 0 12
+-191407 -1 0;
+#X text 59 321 1st: module ID \, needs to be unique \; 2nd: storage
+domain \, see [ev_storage-help] for details;
+#X obj 476 125 r /ev/pro/\$1/state;
+#X obj 443 149 spigot;
+#X obj 67 256 abs/ev_pro_grid \$1 \$2;
+#X obj 462 274 abs/ev_pro_grid22 \$1 \$2;
+#X obj 59 437 loadbang;
+#X msg 59 459 (c)2011 Cyrille Henry | Peter Venus | Marian Weger \,
+part of EXTENDED VIEW toolkit | gpl v3;
+#X obj 59 494 print ev_pro_22;
+#X connect 0 0 6 0;
+#X connect 1 0 6 0;
+#X connect 2 0 6 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 1;
+#X connect 7 0 0 0;
+#X connect 7 0 2 0;
+#X connect 7 0 1 0;
+#X connect 7 0 25 0;
+#X connect 7 0 26 0;
+#X connect 10 0 28 0;
+#X connect 11 0 10 0;
+#X connect 17 0 15 0;
+#X connect 21 0 32 0;
+#X connect 22 0 3 0;
+#X connect 24 0 23 0;
+#X connect 24 1 34 0;
+#X connect 24 2 22 0;
+#X connect 25 0 6 0;
+#X connect 26 0 6 0;
+#X connect 31 0 32 1;
+#X connect 32 0 24 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X coords 0 -1 1 1 200 50 1 100 117;

+ 50 - 0
kof_quadcorners.pd

@@ -0,0 +1,50 @@
+#N canvas 1 52 1025 691 10;
+#X obj 58 568 outlet;
+#X msg 58 160 corner 3 \$1 \$2;
+#X msg 91 283 corner 2 \$1 \$2;
+#X msg 142 406 corner 1 \$1 \$2;
+#X msg 201 519 corner 0 \$1 \$2;
+#X obj 58 134 Line2 100;
+#X obj 91 249 Line2 100;
+#X obj 142 379 Line2 100;
+#X obj 201 496 Line2 100;
+#X obj 58 88 r /kof/\$1/\$2/corner/top/left/x;
+#X obj 83 112 r /kof/\$1/\$2/corner/top/left/y;
+#X obj 92 200 r /kof/\$1/\$2/corner/top/right/x;
+#X obj 116 224 r /kof/\$1/\$2/corner/top/right/y;
+#X obj 142 323 r /kof/\$1/\$2/corner/bottom/right/x;
+#X obj 167 350 r /kof/\$1/\$2/corner/bottom/right/y;
+#X obj 201 445 r /kof/\$1/\$2/corner/bottom/left/x;
+#X obj 226 470 r /kof/\$1/\$2/corner/bottom/left/y;
+#X obj 713 91 osc_bi \$3 /kof/\$1/\$2/corner/top/left/x;
+#X obj 713 111 osc_bi \$3 /kof/\$1/2/corner/top/left/y;
+#X obj 713 131 osc_bi \$3 /kof/\$1/\$2/corner/top/right/x;
+#X obj 713 151 osc_bi \$3 /kof/\$1/\$2/corner/top/right/y;
+#X obj 713 171 osc_bi \$3 /kof/\$1/\$2/corner/bottom/right/x;
+#X obj 713 191 osc_bi \$3 /kof/\$1/\$2/corner/bottom/right/y;
+#X obj 713 211 osc_bi \$3 /kof/\$1/\$2/corner/bottom/left/x;
+#X obj 713 231 osc_bi \$3 /kof/\$1/\$2/corner/bottom/left/y;
+#X obj 383 91 ds_reg \$3 /kof/\$1/\$2/corner/top/left/x;
+#X obj 383 111 ds_reg \$3 /kof/\$1/2/corner/top/left/y;
+#X obj 383 131 ds_reg \$3 /kof/\$1/\$2/corner/top/right/x;
+#X obj 383 151 ds_reg \$3 /kof/\$1/\$2/corner/top/right/y;
+#X obj 383 171 ds_reg \$3 /kof/\$1/\$2/corner/bottom/right/x;
+#X obj 383 191 ds_reg \$3 /kof/\$1/\$2/corner/bottom/right/y;
+#X obj 383 211 ds_reg \$3 /kof/\$1/\$2/corner/bottom/left/x;
+#X obj 383 231 ds_reg \$3 /kof/\$1/\$2/corner/bottom/left/y;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 1 0;
+#X connect 6 0 2 0;
+#X connect 7 0 3 0;
+#X connect 8 0 4 0;
+#X connect 9 0 5 0;
+#X connect 10 0 5 1;
+#X connect 11 0 6 0;
+#X connect 12 0 6 1;
+#X connect 13 0 7 0;
+#X connect 14 0 7 1;
+#X connect 15 0 8 0;
+#X connect 16 0 8 1;

+ 210 - 0
kof_quadmask.pd

@@ -0,0 +1,210 @@
+#N canvas 788 379 965 610 10;
+#X obj 61 72 cnv 15 198 31 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 65 76 tgl 15 1 /kof/\$1/state /kof/\$1/state on/off 17 7 0 10
+-4034 -1 -1 1 1;
+#X msg 158 121 vis 1;
+#X obj 158 76 bng 15 250 50 0 empty empty settings 17 7 0 10 -159808
+-1 -1;
+#N canvas 660 159 768 540 storage_&_osc 0;
+#X obj 39 251 ds_reg \$2 /kof/\$1/state;
+#X obj 369 251 osc_bi \$2 /kof/\$1/state;
+#X obj 39 331 ds_reg \$2 /kof/\$1/limit/size;
+#X obj 369 331 osc_bi \$2 /kof/\$1/limit/size;
+#X restore 27 149 pd storage_&_osc;
+#X obj 14 242 cnv 15 360 60 empty empty creation_arguments: 3 8 0 12
+-191407 -1 0;
+#X obj 402 114 poftranslate;
+#X obj 402 158 pofscale 1 1;
+#X obj 402 136 pofrotate;
+#X obj 402 214 pofcolor 1 1 1 1;
+#X text 19 261 1st: module ID \, needs to be unique \; 2nd: storage
+domain;
+#X obj 158 145 s pd-cfg_\$1;
+#N canvas 42 744 413 151 cfg_\$1 1;
+#X obj 2 2 cnv 15 220 145 empty empty QUAD 20 12 0 14 -233017 -66577
+0;
+#X obj 21 92 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/top/left/x /kof/\$1/corner/top/left/x
+x -10 7 0 10 -261234 -1 -1 -184 256;
+#X obj 21 108 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/top/left/y
+/kof/\$1/corner/top/left/y y -10 7 0 10 -261234 -1 -1 186 256;
+#X obj 98 92 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/top/right/x
+/kof/\$1/corner/top/right/x x -10 7 0 10 -261234 -1 -1 223 256;
+#X obj 98 108 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/top/right/y
+/kof/\$1/corner/top/right/y y -10 7 0 10 -261234 -1 -1 181 256;
+#X obj 21 56 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/bottom/left/x
+/kof/\$1/corner/bottom/left/x x -10 7 0 10 -261234 -1 -1 -174 256;
+#X obj 21 72 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/bottom/left/y
+/kof/\$1/corner/bottom/left/y y -10 7 0 10 -261234 -1 -1 -214 256;
+#X obj 98 56 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/bottom/right/x
+/kof/\$1/corner/bottom/right/x x -10 7 0 10 -261234 -1 -1 222 256;
+#X obj 98 72 nbx 5 14 -10000 10000 0 0 /kof/\$1/corner/bottom/right/y
+/kof/\$1/corner/bottom/right/y y -10 7 0 10 -261234 -1 -1 -212 256
+;
+#X text 14 32 corners position;
+#X obj 150 7 nbx 5 14 -1e+37 1e+37 0 0 /kof/\$1/limit/size /kof/\$1/limit/size
+Size -27 7 0 10 -262144 -1 -1 480 256;
+#X coords 0 0 1 1 155 300 0;
+#X restore 158 167 pd cfg_\$1;
+#N canvas 556 581 747 404 init 0;
+#X obj 92 9 loadbang;
+#X obj 92 31 list append \$1;
+#X obj 167 7 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 96 58 \; /kof/\$1/limit/size 500 \; /kof/\$1/state 1 \; /kof/\$1/corner/top/left/x
+-200 \; /kof/\$1/corner/top/left/y 200 \; /kof/\$1/corner/top/right/x
+200 \; /kof/\$1/corner/top/right/y 200 \; /kof/\$1/corner/bottom/right/x
+200 \; /kof/\$1/corner/bottom/right/y -200 \; /kof/\$1/corner/bottom/left/x
+-200 \; /kof/\$1/corner/bottom/left/y -200 \;;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X restore 26 121 pd init;
+#X obj 402 81 pofvisible 1;
+#X obj 422 54 r /kof/\$1/state;
+#X obj 402 531 pofquad 200 200;
+#X text 34 316 TODO;
+#X text 30 339 inversion corners top/bottom;
+#X text 34 370 liste medias Cream;
+#X obj 402 8 inlet;
+#X obj 422 30 r /pofhead/slave;
+#N canvas 289 463 1095 570 cornerslogic 0;
+#X obj 20 175 r /kof/\$1/corner/top/left/x;
+#X obj 264 173 r /kof/\$1/corner/top/left/y;
+#X obj 20 205 s /kof/\$1/L/corner/top/right/x;
+#X obj 264 204 s /kof/\$1/L/corner/top/right/y;
+#X obj 784 43 r /kof/\$1/corner/bottom/right/y;
+#X obj 550 175 r /kof/\$1/corner/top/right/x;
+#X obj 794 173 r /kof/\$1/corner/top/right/y;
+#X obj 10 87 s /kof/\$1/L/corner/bottom/right/x;
+#X obj 254 74 s /kof/\$1/L/corner/bottom/right/y;
+#X obj 20 135 s /kof/\$1/T/corner/top/right/y;
+#X obj 264 94 s /kof/\$1/T/corner/top/right/x;
+#X obj 540 75 s /kof/\$1/T/corner/bottom/right/y;
+#X text 18 -7 corners du quad "central" pilote les 4 quads mask;
+#X obj 12 366 r /kof/\$1/limit/size;
+#X obj 12 393 * -1;
+#X obj 12 425 s /kof/\$1/L/corner/bottom/left/x;
+#X obj 12 445 s /kof/\$1/L/corner/top/left/x;
+#X obj 351 326 s /kof/\$1/limit/size;
+#X floatatom 356 287 5 0 0 0 - - -, f 5;
+#X obj 12 465 s /kof/\$1/L/corner/bottom/left/y;
+#X obj 52 393 s /kof/\$1/L/corner/top/left/y;
+#X obj 286 360 r /kof/\$1/limit/size;
+#X obj 286 387 * -1;
+#X obj 326 387 s /kof/\$1/T/corner/top/left/y;
+#X obj 286 419 s /kof/\$1/T/corner/bottom/left/x;
+#X obj 286 439 s /kof/\$1/T/corner/top/left/x;
+#X obj 286 459 s /kof/\$1/T/corner/bottom/left/y;
+#X obj 566 360 r /kof/\$1/limit/size;
+#X obj 566 387 * -1;
+#X obj 606 387 s /kof/\$1/R/corner/top/left/y;
+#X obj 566 419 s /kof/\$1/R/corner/bottom/left/x;
+#X obj 566 439 s /kof/\$1/R/corner/top/left/x;
+#X obj 566 459 s /kof/\$1/R/corner/bottom/left/y;
+#X obj 839 361 r /kof/\$1/limit/size;
+#X obj 839 388 * -1;
+#X obj 879 388 s /kof/\$1/B/corner/top/left/y;
+#X obj 839 420 s /kof/\$1/B/corner/bottom/left/x;
+#X obj 839 440 s /kof/\$1/B/corner/top/left/x;
+#X obj 839 460 s /kof/\$1/B/corner/bottom/left/y;
+#X text 25 300 limite carrée exterieure;
+#X obj 550 95 s /kof/\$1/R/corner/top/right/x;
+#X obj 794 95 * -1;
+#X obj 794 224 s /kof/\$1/R/corner/bottom/right/y;
+#X obj 30 225 s /kof/\$1/B/corner/bottom/right/y;
+#X obj 274 244 s /kof/\$1/B/corner/bottom/right/x;
+#X obj 275 223 * -1;
+#X obj 804 244 s /kof/\$1/B/corner/top/right/x;
+#X obj 560 226 * -1;
+#X obj 10 25 r /kof/\$1/corner/bottom/left/x;
+#X obj 254 23 r /kof/\$1/corner/bottom/left/y;
+#X obj 23 112 * -1;
+#X obj 254 43 * 1;
+#X obj 550 265 s /kof/\$1/R/corner/bottom/right/x;
+#X obj 550 195 s /kof/\$1/B/corner/top/right/y;
+#X obj 540 25 r /kof/\$1/corner/bottom/right/x;
+#X obj 540 45 * -1;
+#X obj 784 64 s /kof/\$1/T/corner/bottom/right/x;
+#X obj 794 114 s /kof/\$1/R/corner/top/right/y;
+#X obj 794 195 * -1;
+#X connect 0 0 2 0;
+#X connect 0 0 43 0;
+#X connect 1 0 3 0;
+#X connect 1 0 45 0;
+#X connect 4 0 41 0;
+#X connect 4 0 56 0;
+#X connect 5 0 47 0;
+#X connect 5 0 53 0;
+#X connect 6 0 58 0;
+#X connect 13 0 14 0;
+#X connect 13 0 20 0;
+#X connect 14 0 15 0;
+#X connect 14 0 16 0;
+#X connect 14 0 19 0;
+#X connect 18 0 17 0;
+#X connect 21 0 22 0;
+#X connect 21 0 23 0;
+#X connect 22 0 24 0;
+#X connect 22 0 25 0;
+#X connect 22 0 26 0;
+#X connect 27 0 28 0;
+#X connect 27 0 29 0;
+#X connect 28 0 30 0;
+#X connect 28 0 31 0;
+#X connect 28 0 32 0;
+#X connect 33 0 34 0;
+#X connect 33 0 35 0;
+#X connect 34 0 36 0;
+#X connect 34 0 37 0;
+#X connect 34 0 38 0;
+#X connect 41 0 57 0;
+#X connect 45 0 44 0;
+#X connect 47 0 52 0;
+#X connect 48 0 7 0;
+#X connect 48 0 50 0;
+#X connect 49 0 10 0;
+#X connect 49 0 51 0;
+#X connect 50 0 9 0;
+#X connect 51 0 8 0;
+#X connect 54 0 55 0;
+#X connect 55 0 11 0;
+#X connect 55 0 40 0;
+#X connect 58 0 42 0;
+#X connect 58 0 46 0;
+#X restore 631 366 pd cornerslogic;
+#X obj 402 258 t a a a a;
+#X obj 422 481 pofquad 200 200;
+#X obj 442 401 pofquad 200 200;
+#X obj 462 331 pofquad 200 200;
+#X obj 422 438 pofrotate 90;
+#X obj 442 358 pofrotate 180;
+#X obj 462 288 pofrotate -90;
+#X obj 402 235 pofimage mask2.png tex;
+#X obj 471 310 kof_quadcorners \$1 B \$2;
+#X obj 411 510 kof_quadcorners \$1 L \$2;
+#X obj 431 460 kof_quadcorners \$1 T \$2;
+#X obj 451 380 kof_quadcorners \$1 R \$2;
+#X connect 2 0 11 0;
+#X connect 3 0 2 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 30 0;
+#X connect 14 0 6 0;
+#X connect 15 0 14 0;
+#X connect 20 0 14 0;
+#X connect 21 0 14 0;
+#X connect 23 0 16 0;
+#X connect 23 1 27 0;
+#X connect 23 2 28 0;
+#X connect 23 3 29 0;
+#X connect 27 0 24 0;
+#X connect 28 0 25 0;
+#X connect 29 0 26 0;
+#X connect 30 0 23 0;
+#X connect 31 0 26 0;
+#X connect 32 0 16 0;
+#X connect 33 0 24 0;
+#X connect 34 0 25 0;
+#X coords 0 -1 1 1 200 50 1 60 55;

+ 67 - 0
kof_source.pd

@@ -0,0 +1,67 @@
+#N canvas 641 94 718 486 10;
+#X obj 157 97 pofutil;
+#X obj 157 117 route dirbaseext;
+#X msg 157 75 dirbaseext /\$1;
+#X obj 157 193 list prepend;
+#X obj 315 119 pofutil;
+#X msg 315 97 getdir;
+#X obj 315 139 route getdir;
+#X obj 157 140 route /img/ /vid/;
+#X obj 157 4 inlet file;
+#X obj 81 243 inlet head;
+#X obj 157 386 pofimage ./media/img/bikers.jpg tex;
+#X obj 379 388 poffilm tex;
+#X obj 194 355 pofvisible;
+#X obj 379 367 pofvisible;
+#X obj 157 410 outlet imghead;
+#X obj 379 413 outlet vidhead;
+#X obj 352 194 list prepend;
+#X obj 352 245 t a b;
+#X obj 379 293 t f;
+#X msg 379 267 1;
+#X obj 157 242 t a b;
+#X msg 184 264 0;
+#X obj 194 330 == 0;
+#X text 404 294 0:image 1:video;
+#X obj 449 351 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 157 24 symbol;
+#X obj 121 7 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 481 261 print debug;
+#X obj 157 50 t s b;
+#X msg 157 218 set \$1/../media/img/\$2.\$3;
+#X msg 352 217 load \$1/../media/vid/\$2.\$3 \, play 1;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 2 0 0 0;
+#X connect 3 0 29 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 1;
+#X connect 6 0 16 1;
+#X connect 7 0 3 0;
+#X connect 7 1 16 0;
+#X connect 8 0 25 0;
+#X connect 9 0 12 0;
+#X connect 9 0 13 0;
+#X connect 10 0 14 0;
+#X connect 11 0 15 0;
+#X connect 12 0 10 0;
+#X connect 13 0 11 0;
+#X connect 16 0 30 0;
+#X connect 17 0 11 0;
+#X connect 17 1 19 0;
+#X connect 18 0 13 0;
+#X connect 18 0 22 0;
+#X connect 19 0 18 0;
+#X connect 20 0 10 0;
+#X connect 20 1 21 0;
+#X connect 21 0 18 0;
+#X connect 22 0 12 0;
+#X connect 25 0 28 0;
+#X connect 26 0 25 0;
+#X connect 28 0 2 0;
+#X connect 28 1 5 0;
+#X connect 29 0 20 0;
+#X connect 30 0 17 0;

+ 182 - 0
kof_sphere.pd

@@ -0,0 +1,182 @@
+#N canvas 46 74 965 545 10;
+#X obj 61 72 cnv 15 198 31 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 65 76 tgl 15 1 /kof/\$1/state /kof/\$1/state on/off 17 7 0 10
+-4034 -1 -1 1 1;
+#N canvas 983 163 618 355 storage_&_osc 0;
+#X obj 39 221 ds_reg \$2 /kof/\$1/fadetime;
+#X obj 369 221 osc_bi \$2 /kof/\$1/fadetime;
+#X obj 39 251 ds_reg \$2 /kof/\$1/state;
+#X obj 369 251 osc_bi \$2 /kof/\$1/state;
+#X obj 39 201 ds_reg \$2 /kof/\$1/media;
+#X obj 369 201 osc_bi \$2 /kof/\$1/media;
+#X obj 39 111 ds_reg \$2 /kof/\$1/pitch;
+#X obj 369 111 osc_bi \$2 /kof/\$1/pitch;
+#X obj 39 131 ds_reg \$2 /kof/\$1/yaw;
+#X obj 369 131 osc_bi \$2 /kof/\$1/yaw;
+#X obj 39 151 ds_reg \$2 /kof/\$1/fov;
+#X obj 369 151 osc_bi \$2 /kof/\$1/fov;
+#X obj 39 281 ds_reg \$2 /kof/\$1/alpha;
+#X obj 369 281 osc_bi \$2 /kof/\$1/alpha;
+#X restore 278 77 pd storage_&_osc;
+#X obj 14 282 cnv 15 360 60 empty empty creation_arguments: 3 8 0 12
+-191407 -1 0;
+#X text 19 301 1st: module ID \, needs to be unique \; 2nd: storage
+domain;
+#N canvas 769 181 450 300 init 0;
+#X obj 98 76 loadbang;
+#X obj 98 98 list append \$1;
+#X obj 173 74 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 98 121 \; /kof/\$1/yaw 0 \; /kof/\$1/pitch 0 \; /kof/\$1/fov
+200 \; /kof/\$1/fadetime 0 \; /kof/\$1/alpha 0.5 \; /kof/\$1/state
+1;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X restore 278 56 pd init;
+#X text 34 356 TODO;
+#X text 30 379 inversion corners top/bottom;
+#X text 34 394 gestion film/image;
+#X text 34 410 liste medias Cream;
+#X floatatom 561 347 5 0 0 0 - - -, f 5;
+#X obj 477 96 pofvisible 1;
+#X floatatom 608 230 5 0 0 0 - - -, f 5;
+#X obj 477 498 pofsphere 600 50;
+#X floatatom 556 391 5 0 0 0 - - -, f 5;
+#X obj 477 349 pofrotate x;
+#X obj 477 389 pofrotate y;
+#X obj 542 66 r /kof/\$1/state;
+#N canvas 5 75 450 300 alpha 0;
+#X obj 139 159 line;
+#X obj 139 135 pack f f;
+#X obj 192 115 r /kof/\$1/fadetime;
+#X obj 139 181 outlet;
+#X obj 139 80 r /kof/\$1/alpha;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 1;
+#X connect 4 0 1 0;
+#X restore 570 154 pd alpha;
+#X obj 540 258 r /kof/\$1/pitch;
+#X obj 632 320 r /kof/\$1/yaw;
+#X obj 594 182 r /kof/\$1/fov;
+#X obj 62 106 cnv 15 50 95 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 160 80 bng 15 250 50 0 /kof/\$1/media/openpanel empty open 17
+7 0 10 -262144 -1 -1;
+#X obj 77 131 vsl 15 60 0 1 0 0 /kof/\$1/alpha /kof/\$1/alpha alpha1
+-10 -9 0 10 -262144 -1 -1 2950 0;
+#X obj 137 131 vsl 15 60 -50 90 0 0 /kof/\$1/pitch /kof/\$1/pitch pitch
+-10 -9 0 10 -262144 -1 -1 2107 0;
+#X obj 183 131 vsl 15 60 -180 180 0 0 /kof/\$1/yaw /kof/\$1/yaw yaw
+-10 -9 0 10 -262144 -1 -1 2950 0;
+#X obj 227 131 vsl 15 60 0 1000 0 0 /kof/\$1/fov /kof/\$1/fov fov -10
+-9 0 10 -262144 -1 -1 1180 0;
+#X obj 477 232 poftranslate 0 0 200;
+#X obj 750 258 pofimage /home/titi/work/media/textures/spherical/courtyard-lowres.jpg
+tex;
+#X obj 477 177 pofcolor 1 1 1 1;
+#X obj 477 64 inlet;
+#X obj 660 100 openpanel;
+#X obj 660 80 symbol;
+#X obj 793 211 symbol;
+#X msg 793 233 set \$1;
+#X obj 660 60 r /kof/\$1/media/openpanel;
+#X obj 660 145 s /kof/\$1/media;
+#X obj 795 182 r /kof/\$1/media;
+#X obj 540 301 +;
+#X obj 568 302 t b f;
+#X obj 632 365 +;
+#X obj 660 366 t b f;
+#X obj 594 206 Line1 100;
+#X obj 540 325 Line1 100;
+#X obj 632 386 Line1 100;
+#N canvas 10 75 433 416 get_relative_path 0;
+#X obj 155 67 pofutil;
+#X msg 155 43 dirbaseext \$1;
+#X obj 155 87 route dirbaseext;
+#X obj 155 115 list split 1;
+#X obj 155 210 pofutil;
+#X obj 155 230 route dirbaseext;
+#X obj 155 255 unpack s s s;
+#X msg 155 186 dirbaseext \$1;
+#N canvas 490 325 450 300 strip_last_slash 0;
+#X obj 89 36 inlet;
+#X obj 89 214 outlet;
+#X obj 89 68 list fromsymbol;
+#X obj 89 95 t a a;
+#X obj 89 169 list split;
+#X obj 116 118 list length;
+#X obj 116 138 - 1;
+#X obj 89 190 list tosymbol;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 5 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 1;
+#X connect 7 0 1 0;
+#X restore 155 155 pd strip_last_slash;
+#X obj 189 309 pack s s s;
+#X obj 214 285 unpack s s;
+#X obj 155 21 inlet fullpath;
+#X msg 189 331 list \$1/\$2.\$3;
+#X obj 189 354 outlet dir/base.name;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 8 0;
+#X connect 3 1 10 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 1 9 0;
+#X connect 7 0 4 0;
+#X connect 8 0 7 0;
+#X connect 9 0 12 0;
+#X connect 10 0 9 1;
+#X connect 10 1 9 2;
+#X connect 11 0 1 0;
+#X connect 12 0 13 0;
+#X restore 660 122 pd get_relative_path;
+#X obj 477 443 kof_source;
+#X obj 534 422 r /kof/\$1/media;
+#X obj 534 468 pofsphere 600 50;
+#X obj 661 343 r /kof/\$1/yaw;
+#X obj 568 279 r /kof/\$2/pitch;
+#X connect 10 0 15 1;
+#X connect 11 0 30 0;
+#X connect 12 0 28 3;
+#X connect 14 0 16 1;
+#X connect 15 0 16 0;
+#X connect 16 0 47 0;
+#X connect 17 0 11 0;
+#X connect 18 0 30 4;
+#X connect 19 0 39 0;
+#X connect 20 0 41 0;
+#X connect 21 0 43 0;
+#X connect 28 0 15 0;
+#X connect 30 0 28 0;
+#X connect 31 0 11 0;
+#X connect 32 0 46 0;
+#X connect 33 0 32 0;
+#X connect 34 0 35 0;
+#X connect 35 0 29 0;
+#X connect 36 0 33 0;
+#X connect 39 0 44 0;
+#X connect 40 0 39 0;
+#X connect 40 1 39 1;
+#X connect 41 0 45 0;
+#X connect 42 0 41 0;
+#X connect 42 1 41 1;
+#X connect 43 0 28 3;
+#X connect 44 0 15 1;
+#X connect 45 0 16 1;
+#X connect 46 0 37 0;
+#X connect 47 0 13 0;
+#X connect 47 1 49 0;
+#X connect 48 0 47 1;
+#X connect 50 0 42 0;
+#X connect 51 0 40 0;
+#X coords 0 -1 1 1 200 150 1 60 55;

+ 163 - 0
kof_win.pd

@@ -0,0 +1,163 @@
+#N canvas 100 310 1053 726 10;
+#N canvas 277 165 768 272 storage_&_osc 0;
+#X obj 41 13 ds_reg \$2 /kofwin/window/x;
+#X obj 41 32 ds_reg \$2 /kofwin/window/y;
+#X obj 39 51 ds_reg \$2 /kofwin/normalizedtexcoords;
+#X obj 40 71 ds_reg \$2 /kofwin/framerate;
+#X obj 40 92 ds_reg \$2 /kofwin/cursor;
+#X obj 39 109 ds_reg \$2 /kofwin/position/x;
+#X obj 40 134 ds_reg \$2 /kofwin/position/y;
+#X obj 369 10 osc_r \$1 /kofwin/window/x;
+#X obj 369 31 osc_r \$1 /kofwin/window/y;
+#X obj 370 51 osc_r \$1 /kofwin/normalizedtexcoords;
+#X obj 369 71 osc_r \$1 /kofwin/framerate;
+#X obj 369 91 osc_r \$1 /kofwin/cursor;
+#X obj 369 111 osc_r \$1 /kofwin/position/x;
+#X obj 369 130 osc_r \$1 /kofwin/position/y;
+#X obj 369 150 osc_r \$1 /kofwin/fullscreen;
+#X obj 41 183 ds_reg \$2 /kofwin/background/R;
+#X obj 369 180 osc_r \$1 /kofwin/background/R;
+#X obj 369 201 osc_r \$1 /kofwin/background/G;
+#X obj 41 202 ds_reg \$2 /kofwin/background/G;
+#X obj 39 221 ds_reg \$2 /kofwin/background/B;
+#X obj 370 221 osc_r \$1 /kofwin/background/B;
+#X restore 249 84 pd storage_&_osc;
+#X obj 28 369 cnv 15 360 60 empty empty creation_arguments: 3 8 0 12
+-191407 -1 0;
+#X text 33 388 1st: module ID \, needs to be unique \; 2nd: storage
+domain;
+#N canvas 1021 577 413 151 cfg_\$1 0;
+#X obj 2 2 cnv 15 170 145 empty empty QUAD 20 12 0 14 -233017 -66577
+0;
+#X obj 179 2 cnv 15 190 145 empty empty BACKGROUND 20 12 0 14 -233017
+-66577 0;
+#X obj 197 40 vsl 15 60 0 255 0 0 /kofwin/background/R /kofwin/background/R
+empty -10 -9 0 10 -258113 -1 -1 1900 0;
+#X obj 247 40 vsl 15 60 0 255 0 0 /kofwin/background/G /kofwin/background/G
+empty -10 -9 0 10 -4034 -1 -1 5900 0;
+#X obj 297 40 vsl 15 60 0 255 0 0 /kofwin/background/B /kofwin/background/B
+empty -10 -9 0 10 -4160 -1 -1 4200 0;
+#X obj 15 38 tgl 15 0 /kofwin/normalizedtexcoords /kofwin/normalizedtexcoords
+normalizedtexcoords 17 7 0 10 -262144 -1 -1 1 1;
+#X obj 15 58 tgl 15 0 /kofwin/cursor /kofwin/cursor cursor 17 7 0 10
+-262144 -1 -1 1 1;
+#X coords 0 0 1 1 155 300 0;
+#X restore 312 258 pd cfg_\$1;
+#N canvas 935 244 450 300 init 0;
+#X obj 98 76 loadbang;
+#X obj 98 98 list append \$1;
+#X obj 173 74 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 98 120 \; /kofwin/window/x 800 \; /kofwin/window/y 600 \; /kofwin/normalizedtexcoords
+1 \; /kofwin/framerate 25 \; /kofwin/cursor 1 \; /kofwin/position/x
+100 \; /kofwin/position/y 100 \; /kofwin/background/R 0 \; /kofwin/background/G
+0 \; /kofwin/background/B 0;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X restore 245 56 pd init;
+#X text 48 443 TODO;
+#X text 44 466 inversion corners top/bottom;
+#X text 48 481 gestion film/image;
+#X text 48 497 liste medias Cream;
+#X obj 514 575 pofwin;
+#X obj 514 595 route window;
+#X obj 514 617 unpack f f;
+#X floatatom 514 642 5 0 0 0 - - -, f 5;
+#X floatatom 571 642 5 0 0 0 - - -, f 5;
+#X msg 534 183 build;
+#X obj 514 22 r /kofwin/window/x;
+#X obj 535 41 r /kofwin/window/y;
+#X obj 535 63 t b f;
+#X obj 514 113 list prepend window;
+#X obj 514 135 list trim;
+#X obj 534 160 r /kofwin/build;
+#X obj 594 182 r /kofwin/normalizedtexcoords;
+#X msg 594 204 normalizedtextcoords \$1;
+#X msg 604 250 framerate \$1;
+#X msg 630 294 cursor \$1;
+#X obj 604 228 r /kofwin/framerate;
+#X obj 630 273 r /kofwin/cursor;
+#X obj 663 362 t b f;
+#X obj 642 390 pack f f;
+#X obj 642 434 list trim;
+#X obj 642 320 r /kofwin/position/x;
+#X obj 663 340 r /kofwin/position/y;
+#X obj 642 412 list prepend pos;
+#X obj 61 77 cnv 15 170 125 empty empty WINDOW 20 12 0 14 -233017 -66577
+0;
+#X obj 160 130 nbx 5 14 0 10000 0 0 /kofwin/position/x /kofwin/position/x
+x -10 7 0 10 -261234 -1 -1 100 256;
+#X obj 160 146 nbx 5 14 0 10000 0 0 /kofwin/position/y /kofwin/position/y
+y -10 7 0 10 -261234 -1 -1 100 256;
+#X obj 80 131 nbx 5 14 0 10000 0 0 /kofwin/window/x /kofwin/window/x
+x -10 7 0 10 -261234 -1 -1 800 256;
+#X obj 80 147 nbx 5 14 0 10000 0 0 /kofwin/window/y /kofwin/window/y
+y -10 7 0 10 -261234 -1 -1 600 256;
+#X text 86 110 size;
+#X text 156 110 position;
+#X obj 83 171 nbx 5 14 0 10000 0 0 /kofwin/framerate /kofwin/framerate
+fps -20 7 0 10 -261234 -1 -1 25 256;
+#X obj 152 83 bng 15 250 50 0 empty empty advanced 17 7 0 10 -159808
+-1 -1;
+#X msg 243 112 vis 1;
+#X obj 243 136 s pd-cfg_\$1;
+#X obj 162 170 bng 15 250 50 0 /kofwin/build /kofwin/build build 17
+7 0 10 -262144 -1 -1;
+#X obj 514 91 pack f f f;
+#X obj 581 61 r /kofwin/fullscreen;
+#X obj 612 88 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X floatatom 670 123 5 0 0 0 - - -, f 5;
+#X obj 749 452 pack f f f;
+#X obj 786 409 t b f;
+#X obj 786 387 r /kofwin/background/G;
+#X obj 836 431 t b f;
+#X obj 749 494 list trim;
+#X obj 756 367 r /kofwin/background/R;
+#X obj 836 409 r /kofwin/background/B;
+#X obj 749 472 list prepend background;
+#X obj 621 589 s /fromkofwin;
+#X connect 9 0 10 0;
+#X connect 9 0 57 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 1 13 0;
+#X connect 14 0 9 0;
+#X connect 15 0 45 0;
+#X connect 16 0 17 0;
+#X connect 16 0 48 0;
+#X connect 17 0 45 0;
+#X connect 17 1 45 1;
+#X connect 18 0 19 0;
+#X connect 19 0 9 0;
+#X connect 20 0 14 0;
+#X connect 21 0 22 0;
+#X connect 22 0 9 0;
+#X connect 23 0 9 0;
+#X connect 24 0 9 0;
+#X connect 25 0 23 0;
+#X connect 26 0 24 0;
+#X connect 27 0 28 0;
+#X connect 27 1 28 1;
+#X connect 28 0 32 0;
+#X connect 29 0 9 0;
+#X connect 30 0 28 0;
+#X connect 31 0 27 0;
+#X connect 32 0 29 0;
+#X connect 41 0 42 0;
+#X connect 42 0 43 0;
+#X connect 45 0 18 0;
+#X connect 46 0 45 2;
+#X connect 46 0 47 0;
+#X connect 49 0 56 0;
+#X connect 50 0 49 0;
+#X connect 50 1 49 1;
+#X connect 51 0 50 0;
+#X connect 52 0 49 0;
+#X connect 52 1 49 2;
+#X connect 53 0 9 0;
+#X connect 54 0 49 0;
+#X connect 55 0 52 0;
+#X connect 56 0 53 0;
+#X coords 0 -1 1 1 172 150 1 60 55;

BIN=BIN
mask.png


BIN=BIN
mask2.png


+ 110 - 0
slave_quad.pd

@@ -0,0 +1,110 @@
+#N canvas 155 460 1155 606 10;
+#X obj 83 -22 pofhead;
+#X obj 106 22 s /pofhead/slave;
+#X obj 131 152 pofrotate x;
+#X floatatom 206 32 5 0 0 0 - - -, f 5;
+#X floatatom 208 135 5 0 0 0 - - -, f 5;
+#X obj 147 72 r /slave_quad/base_rot/pitch;
+#X obj 152 93 r /slave_quad/base_rot/yaw;
+#X obj 361 27 ds_reg \$2 /kof/\$1/pitch;
+#X obj 530 27 osc_bi \$2 /kof/\$1/pitch;
+#X obj 361 47 ds_reg \$2 /kof/\$1/yaw;
+#X obj 530 47 osc_bi \$2 /kof/\$1/yaw;
+#X obj 337 310 ds_gui \$1;
+#X msg 535 101 1;
+#X obj 460 180 pipe 500;
+#X msg 460 202 \; /ds/\$1/recall 0;
+#X obj 583 227 t f f;
+#X msg 650 204 1;
+#X obj 583 289 pipe 500;
+#X obj 583 175 r /save;
+#X msg 616 247 \; /ds/\$1/store;
+#X obj 460 118 t f f f;
+#X obj 583 197 f \$1;
+#X msg 583 311 \; /ds/\$1/resave bang;
+#X obj 509 361 bng 25 250 50 0 /save empty SAVE 28 12 0 10 -262144
+-1 -1;
+#X obj 460 99 pipe 2000;
+#X obj 460 77 r /init/delayed;
+#X obj 229 318 vsl 15 60 -50 90 0 0 /kof/\$1/pitch /kof/\$1/pitch pitch
+-10 -9 0 10 -262144 -1 -1 0 0;
+#X obj 275 318 vsl 15 60 -180 180 0 0 /kof/\$1/yaw /kof/\$1/yaw yaw
+-10 -9 0 10 -262144 -1 -1 0 0;
+#X text 162 333 base;
+#X text 157 351 rotation;
+#X obj 251 341 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 252 262 0;
+#X msg 493 138 \; /ds/\$1/loadfile ../presets/screen\$1;
+#X obj 332 442 kof_win 0 \$1;
+#X obj 216 192 oscparse;
+#X obj 131 174 pofrotate y;
+#X obj 335 83 r /init/delayed;
+#X msg 335 103 1;
+#X obj 296 204 route /\$1;
+#X obj 296 256 s /osc/0/in;
+#X obj 334 123 ../PdClient NET E1;
+#X obj 296 181 r NET-fromserver;
+#X obj 16 124 r NET-fromserver;
+#X obj 705 359 r NET-fromserver;
+#X obj 705 382 route /loadpreset;
+#X obj 661 460 ds_gui 0;
+#X obj 115 389 kof_sphere SPHERE 0;
+#X text 838 360 reception changement de scene;
+#X obj 661 440 ds_logic 0;
+#X obj 821 440 ds_transition 0;
+#X obj 821 460 ds_transition_gui 0;
+#X text 843 421 ajout domaine 0 + passage quad et sphere;
+#X text 954 435 a domaine 0;
+#X obj 16 146 print fromserver;
+#X obj 870 397 print;
+#X obj 705 404 s /ds/0/scene/current;
+#X obj 837 262 r /init/delayed;
+#X obj 953 228 r /reloadfile;
+#X msg 837 284 \; /ds/0/loadfile ../presets/preset-test;
+#X msg 953 249 \; /ds/0/reload bang;
+#X text 876 207 (re)chargement fichier preset;
+#X obj 346 227 s /osc/0/in;
+#X obj 114 544 kof_media QUAD\$1 0;
+#X obj 83 0 t a a a;
+#X obj 86 42 s /pofhead/mask;
+#X obj 447 256 ds_logic \$1;
+#X obj 802 51 r /pofhead/mask;
+#X obj 802 82 kof_quadmask MASK \$1;
+#X connect 0 0 63 0;
+#X connect 2 0 35 0;
+#X connect 3 0 2 1;
+#X connect 4 0 35 1;
+#X connect 5 0 2 1;
+#X connect 6 0 35 1;
+#X connect 12 0 20 0;
+#X connect 13 0 14 0;
+#X connect 15 0 17 0;
+#X connect 15 1 19 0;
+#X connect 16 0 15 0;
+#X connect 17 0 22 0;
+#X connect 18 0 21 0;
+#X connect 20 0 13 0;
+#X connect 20 1 32 0;
+#X connect 21 0 15 0;
+#X connect 24 0 20 0;
+#X connect 25 0 24 0;
+#X connect 30 0 31 0;
+#X connect 31 0 26 0;
+#X connect 31 0 27 0;
+#X connect 36 0 37 0;
+#X connect 37 0 40 0;
+#X connect 38 0 39 0;
+#X connect 38 1 61 0;
+#X connect 41 0 38 0;
+#X connect 42 0 53 0;
+#X connect 43 0 44 0;
+#X connect 44 0 54 0;
+#X connect 44 0 55 0;
+#X connect 56 0 58 0;
+#X connect 57 0 59 0;
+#X connect 63 0 64 0;
+#X connect 63 1 1 0;
+#X connect 63 2 46 0;
+#X connect 66 0 67 0;
+#X coords 0 -1 1 1 500 300 1 100 300;

+ 27 - 0
slave_quad_dyn.pd

@@ -0,0 +1,27 @@
+#N canvas 268 425 558 446 10;
+#X declare -lib pof;
+#X declare -path ../kollabs;
+#X obj 16 88 s pd-slave_quad_pool;
+#N canvas 596 665 545 371 slave_quad_pool 0;
+#X obj 20 20 slave_quad 1;
+#X coords 0 -1 1 1 520 320 2 10 10;
+#X restore 16 107 pd slave_quad_pool;
+#X obj 16 -26 r /init;
+#X msg 178 40 clear;
+#X obj 302 26 declare -lib pof;
+#X obj 474 21 loadbang;
+#X msg 474 43 \; pd dsp 1;
+#X msg 16 66 clear \, obj 20 20 slave_quad \$1;
+#X obj 16 -4 t f f;
+#X obj 47 17 pipe 1000;
+#X obj 47 39 s /init/delayed;
+#X obj 179 16 loadbang;
+#X obj 301 46 declare -path ../kollabs;
+#X connect 2 0 8 0;
+#X connect 3 0 0 0;
+#X connect 5 0 6 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 8 1 9 0;
+#X connect 9 0 10 0;
+#X connect 11 0 3 0;

+ 38 - 0
slave_quad_pi.pd

@@ -0,0 +1,38 @@
+#N canvas 451 100 644 623 10;
+#X declare -path ../kollabs;
+#X obj 20 18 slave_quad PI;
+#X obj 23 331 declare -path ../kollabs;
+#X obj 251 325 r NET-fromserver;
+#X obj 398 495 s /kof/PI/pitch;
+#X obj 242 459 s /kof/PI/yaw;
+#X floatatom 173 419 5 0 0 0 - - -, f 5;
+#X floatatom 210 421 5 0 0 0 - - -, f 5;
+#X obj 379 575 s NET-toserver;
+#X msg 376 549 TALK _all_ /kof/PI/pitch \$1;
+#X floatatom 421 533 5 0 0 0 - - -, f 5;
+#X obj 251 355 route Lyre /kof/PI/pitch;
+#X floatatom 424 391 5 0 0 0 - - -, f 5;
+#X floatatom 310 418 5 0 0 0 - - -, f 5;
+#X obj 252 381 route X Y setX setY;
+#X floatatom 406 436 5 0 0 0 - - -, f 5;
+#X msg 168 517 TALK _all_ Lyre setY \$1;
+#X obj 175 490 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 3746 1;
+#X obj 398 469 motorlimit2 0.05 0.005 0.08 0.04;
+#X floatatom 335 509 5 0 0 0 - - -, f 5;
+#X obj 253 407 / 200;
+#X obj 253 431 * 360;
+#X connect 2 0 10 0;
+#X connect 6 0 4 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 13 0;
+#X connect 13 0 19 0;
+#X connect 13 3 17 0;
+#X connect 14 0 17 0;
+#X connect 15 0 7 0;
+#X connect 16 0 15 0;
+#X connect 17 0 3 0;
+#X connect 17 0 18 0;
+#X connect 19 0 20 0;
+#X connect 20 0 4 0;