aboutsummaryrefslogtreecommitdiff
path: root/puremapping
diff options
context:
space:
mode:
Diffstat (limited to 'puremapping')
-rw-r--r--puremapping/pmattractor_2d.pd52
-rw-r--r--puremapping/pmattractor_3d-help.pd56
-rw-r--r--puremapping/pmattractor_3d.pd54
-rw-r--r--puremapping/pmcloud_1d.pd34
-rw-r--r--puremapping/pmcloud_2d.pd59
-rw-r--r--puremapping/pmcloud_3d.pd77
-rw-r--r--puremapping/pmcube_3d-help.pd60
-rw-r--r--puremapping/pmcube_3d.pd62
-rw-r--r--puremapping/pmfilter_2d.pd47
-rw-r--r--puremapping/pmfilter_3d.pd49
-rw-r--r--puremapping/pmmulti_stable_2d-help.pd40
-rw-r--r--puremapping/pmmulti_stable_2d.pd44
-rw-r--r--puremapping/pmopen_string_1d.pd38
-rw-r--r--puremapping/pmrepulsor_1d.pd50
-rw-r--r--puremapping/pmrepulsor_2d.pd50
-rw-r--r--puremapping/pmrepulsor_3d.pd54
-rw-r--r--puremapping/pmrigid_open_string_2d-help.pd48
-rw-r--r--puremapping/pmrigid_open_string_2d.pd44
-rw-r--r--puremapping/pmrigid_string_2d.pd36
-rw-r--r--puremapping/pmsquare_2d.pd52
-rw-r--r--puremapping/pmstring_1d-help.pd50
-rw-r--r--puremapping/pmstring_1d.pd44
22 files changed, 545 insertions, 555 deletions
diff --git a/puremapping/pmattractor_2d.pd b/puremapping/pmattractor_2d.pd
index f08630d..482e337 100644
--- a/puremapping/pmattractor_2d.pd
+++ b/puremapping/pmattractor_2d.pd
@@ -1,4 +1,4 @@
-#N canvas 736 156 871 573 10;
+#N canvas 1012 196 871 573 10;
#X obj 46 21 inlet;
#X obj 174 278 loadbang;
#X obj 46 495 outlet;
@@ -8,11 +8,8 @@
#X obj 619 17 inlet;
#X msg 619 115 setD lnk \$1;
#X msg 194 110 bang \, get massesPos out \, get massesForces out;
-#X obj 46 467 route out;
#X obj 155 496 outlet;
-#X obj 155 467 route out;
#X obj 46 443 route massesPosId massesForcesId;
-#X obj 46 421 msd2D;
#X msg 145 89 forceX out \$1 \, forceY out \$2;
#X obj 254 273 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
@@ -25,28 +22,31 @@ grab 0 0;
#X msg 95 166 setK lgrab \$1;
#X msg 111 135 posY grab \$1;
#X obj 46 56 route grab grab_on force bang;
-#X connect 0 0 21 0;
+#X obj 46 421 pmpd2d;
+#X obj 46 467 route 4;
+#X obj 155 467 route 4;
+#X connect 0 0 18 0;
#X connect 1 0 3 0;
-#X connect 3 0 16 0;
+#X connect 3 0 13 0;
#X connect 4 0 5 0;
-#X connect 5 0 13 0;
+#X connect 5 0 19 0;
#X connect 6 0 7 0;
-#X connect 7 0 13 0;
-#X connect 8 0 13 0;
-#X connect 9 0 2 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
-#X connect 12 1 11 0;
-#X connect 13 0 12 0;
-#X connect 14 0 13 0;
-#X connect 15 0 3 0;
-#X connect 16 0 13 0;
-#X connect 17 0 18 0;
-#X connect 17 1 20 0;
-#X connect 18 0 13 0;
-#X connect 19 0 13 0;
-#X connect 20 0 13 0;
-#X connect 21 0 17 0;
-#X connect 21 1 19 0;
-#X connect 21 2 14 0;
-#X connect 21 3 8 0;
+#X connect 7 0 19 0;
+#X connect 8 0 19 0;
+#X connect 10 0 20 0;
+#X connect 10 1 21 0;
+#X connect 11 0 19 0;
+#X connect 12 0 3 0;
+#X connect 13 0 19 0;
+#X connect 14 0 15 0;
+#X connect 14 1 17 0;
+#X connect 15 0 19 0;
+#X connect 16 0 19 0;
+#X connect 17 0 19 0;
+#X connect 18 0 14 0;
+#X connect 18 1 16 0;
+#X connect 18 2 11 0;
+#X connect 18 3 8 0;
+#X connect 19 0 10 0;
+#X connect 20 0 2 0;
+#X connect 21 0 9 0;
diff --git a/puremapping/pmattractor_3d-help.pd b/puremapping/pmattractor_3d-help.pd
index 54d6ee1..4524fd2 100644
--- a/puremapping/pmattractor_3d-help.pd
+++ b/puremapping/pmattractor_3d-help.pd
@@ -1,66 +1,66 @@
-#N canvas 809 60 642 776 10;
+#N canvas 807 82 642 776 10;
#X floatatom 194 377 5 0 0 0 - - -;
#X floatatom 119 376 5 0 0 0 - - -;
#X obj 45 500 min 1;
#X obj 45 520 max 0;
#X obj 45 427 unpack f f f;
#X obj 162 45 vsl 15 128 -1 1 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 12700 0;
+-1 -1 5100 0;
#X obj 369 28 gcanvas 100 100;
#X obj 369 136 - 50;
#X obj 462 134 - 50;
#X obj 369 158 / 100;
#X obj 462 156 / 100;
#X obj 213 45 vsl 15 128 -1 1 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 12700 0;
+-1 -1 6400 0;
#X obj 369 181 pack f f;
#X obj 369 204 t l b;
#X msg 399 277 0;
#X msg 399 302 grab_on \$1;
-#X obj 45 290 metro 50;
#X obj 45 266 loadbang;
#X obj 399 251 delay 200;
#X msg 433 278 0.3;
#X msg 369 227 grab \$1 \$2 0;
#X obj 258 47 vsl 15 128 -1 1 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 12700 0;
+-1 -1 5800 0;
#X msg 162 197 force \$1 0 0;
#X msg 213 219 force 0 \$1 0;
#X msg 259 250 force 0 0 \$1;
#X obj 45 451 + 1;
#X obj 45 475 / 2;
#X obj 45 547 timeroll;
-#X obj 45 400 pmattractor_3d 0.3 0.3;
-#X connect 0 0 28 2;
-#X connect 1 0 28 1;
+#X obj 45 400 pmattractor_3d 0.2 0.2;
+#X obj 45 290 metro 20;
+#X connect 0 0 27 2;
+#X connect 1 0 27 1;
#X connect 2 0 3 0;
-#X connect 3 0 27 0;
-#X connect 4 0 25 0;
-#X connect 4 1 25 0;
-#X connect 4 2 25 0;
-#X connect 5 0 22 0;
+#X connect 3 0 26 0;
+#X connect 4 0 24 0;
+#X connect 4 1 24 0;
+#X connect 4 2 24 0;
+#X connect 5 0 21 0;
#X connect 6 0 7 0;
#X connect 6 1 8 0;
#X connect 7 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 12 0;
#X connect 10 0 12 1;
-#X connect 11 0 23 0;
+#X connect 11 0 22 0;
#X connect 12 0 13 0;
-#X connect 13 0 20 0;
-#X connect 13 1 19 0;
+#X connect 13 0 19 0;
#X connect 13 1 18 0;
+#X connect 13 1 17 0;
#X connect 14 0 15 0;
-#X connect 15 0 28 0;
+#X connect 15 0 27 0;
#X connect 16 0 28 0;
-#X connect 17 0 16 0;
-#X connect 18 0 14 0;
-#X connect 19 0 15 0;
-#X connect 20 0 28 0;
-#X connect 21 0 24 0;
-#X connect 22 0 28 0;
-#X connect 23 0 28 0;
-#X connect 24 0 28 0;
-#X connect 25 0 26 0;
-#X connect 26 0 2 0;
-#X connect 28 0 4 0;
+#X connect 17 0 14 0;
+#X connect 18 0 15 0;
+#X connect 19 0 27 0;
+#X connect 20 0 23 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 0;
+#X connect 24 0 25 0;
+#X connect 25 0 2 0;
+#X connect 27 0 4 0;
+#X connect 28 0 27 0;
diff --git a/puremapping/pmattractor_3d.pd b/puremapping/pmattractor_3d.pd
index 0f6cd4e..df0341c 100644
--- a/puremapping/pmattractor_3d.pd
+++ b/puremapping/pmattractor_3d.pd
@@ -1,4 +1,4 @@
-#N canvas 522 233 697 573 10;
+#N canvas 1142 241 697 573 10;
#X obj 31 34 inlet;
#X obj 76 286 loadbang;
#X obj 31 511 outlet;
@@ -8,14 +8,11 @@
#X obj 434 25 inlet;
#X msg 434 71 setD lnk \$1;
#X msg 276 246 bang \, get massesPos out \, get massesForces out;
-#X obj 31 483 route out;
#X obj 140 512 outlet;
-#X obj 140 484 route out;
#X obj 31 459 route massesPosId massesForcesId;
#X obj 156 281 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 209 217 forceX out \$1 \, forceY out \$2 \, forceZ out \$3;
-#X obj 31 437 msd3D;
#X msg 31 112 posX grab \$1;
#X msg 145 192 setK lgrab \$1;
#X msg 70 136 posY grab \$1;
@@ -27,30 +24,33 @@
0 1 0 0 1 \, mass border 0 1 0 0 -1 \, mass out 1 1 0 0 0 \, link lnk
border out \$1 \$2 \, mass grab 0 1 0 0 0 \, link lgrab out grab 0
0;
-#X connect 0 0 19 0;
+#X obj 31 437 pmpd3d;
+#X obj 31 483 route 6;
+#X obj 140 484 route 6;
+#X connect 0 0 16 0;
#X connect 1 0 3 0;
-#X connect 3 0 22 0;
+#X connect 3 0 19 0;
#X connect 4 0 5 0;
-#X connect 5 0 15 0;
+#X connect 5 0 20 0;
#X connect 6 0 7 0;
-#X connect 7 0 15 0;
-#X connect 8 0 15 0;
-#X connect 9 0 2 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
-#X connect 12 1 11 0;
-#X connect 13 0 3 0;
-#X connect 14 0 15 0;
-#X connect 15 0 12 0;
-#X connect 16 0 15 0;
-#X connect 17 0 15 0;
-#X connect 18 0 15 0;
+#X connect 7 0 20 0;
+#X connect 8 0 20 0;
+#X connect 10 0 21 0;
+#X connect 10 1 22 0;
+#X connect 11 0 3 0;
+#X connect 12 0 20 0;
+#X connect 13 0 20 0;
+#X connect 14 0 20 0;
+#X connect 15 0 20 0;
+#X connect 16 0 17 0;
+#X connect 16 1 14 0;
+#X connect 16 2 12 0;
+#X connect 16 3 8 0;
+#X connect 17 0 13 0;
+#X connect 17 1 15 0;
+#X connect 17 2 18 0;
+#X connect 18 0 20 0;
#X connect 19 0 20 0;
-#X connect 19 1 17 0;
-#X connect 19 2 14 0;
-#X connect 19 3 8 0;
-#X connect 20 0 16 0;
-#X connect 20 1 18 0;
-#X connect 20 2 21 0;
-#X connect 21 0 15 0;
-#X connect 22 0 15 0;
+#X connect 20 0 10 0;
+#X connect 21 0 2 0;
+#X connect 22 0 9 0;
diff --git a/puremapping/pmcloud_1d.pd b/puremapping/pmcloud_1d.pd
index 08854a2..9fb4da5 100644
--- a/puremapping/pmcloud_1d.pd
+++ b/puremapping/pmcloud_1d.pd
@@ -1,4 +1,4 @@
-#N canvas 374 197 743 397 10;
+#N canvas 372 202 743 397 10;
#X obj 45 9 inlet;
#X obj 42 350 outlet;
#X obj 468 7 inlet;
@@ -10,7 +10,7 @@
#X obj 175 649 t a;
#X obj 173 677 outlet;
#X obj 32 50 t b b b b b b;
-#N canvas 0 0 259 330 loop 0;
+#N canvas 0 50 259 330 loop 0;
#X obj 74 149 f;
#X obj 74 213 + 1;
#X obj 74 171 moses \$1;
@@ -74,7 +74,6 @@
#X connect 20 0 1 0;
#X restore 46 169 pd create_clouds;
#X obj 42 300 route massesPosId;
-#X obj 42 324 route cloud;
#X obj 161 90 t b l;
#X msg 192 138 posX in \$1;
#X msg 561 54 setD damp \$1;
@@ -83,25 +82,26 @@
#X obj 68 143 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X msg 99 61 forceX cloud \$1;
-#X obj 42 278 msd;
#X obj 46 30 route reset force;
-#X connect 0 0 17 0;
+#X obj 42 278 pmpd;
+#X msg 42 322 \$2;
+#X connect 0 0 15 0;
#X connect 2 0 3 0;
#X connect 3 0 16 0;
-#X connect 4 0 11 0;
-#X connect 5 0 12 0;
+#X connect 4 0 10 0;
+#X connect 5 0 11 0;
#X connect 6 0 16 0;
-#X connect 7 0 8 0;
-#X connect 8 0 1 0;
-#X connect 9 0 13 0;
-#X connect 9 1 10 0;
+#X connect 7 0 17 0;
+#X connect 8 0 12 0;
+#X connect 8 1 9 0;
+#X connect 9 0 16 0;
#X connect 10 0 16 0;
#X connect 11 0 16 0;
#X connect 12 0 16 0;
-#X connect 13 0 16 0;
-#X connect 14 0 6 0;
-#X connect 15 0 16 0;
+#X connect 13 0 6 0;
+#X connect 14 0 16 0;
+#X connect 15 0 6 0;
+#X connect 15 1 14 0;
+#X connect 15 2 8 0;
#X connect 16 0 7 0;
-#X connect 17 0 6 0;
-#X connect 17 1 15 0;
-#X connect 17 2 9 0;
+#X connect 17 0 1 0;
diff --git a/puremapping/pmcloud_2d.pd b/puremapping/pmcloud_2d.pd
index 242a731..4269093 100644
--- a/puremapping/pmcloud_2d.pd
+++ b/puremapping/pmcloud_2d.pd
@@ -1,17 +1,16 @@
-#N canvas 605 196 743 397 10;
+#N canvas 464 555 743 397 10;
#X obj 45 9 inlet;
#X obj 42 350 outlet;
#X obj 643 48 inlet;
#X msg 643 95 setK lnk \$1;
#X obj 736 49 inlet;
#X obj 554 44 inlet;
-#X obj 42 278 msd2D;
-#N canvas 801 117 639 733 create_clouds 0;
+#N canvas 1239 245 639 733 create_clouds 0;
#X obj 70 30 loadbang;
#X obj 175 649 t a;
#X obj 173 677 outlet;
#X obj 32 50 t b b b b b b;
-#N canvas 0 0 259 330 loop 0;
+#N canvas 0 50 259 330 loop 0;
#X obj 74 149 f;
#X obj 74 213 + 1;
#X obj 74 171 moses \$1;
@@ -52,8 +51,7 @@
#X msg 274 202 seed \$1;
#X obj 145 145 \$1;
#X obj 39 12 inlet;
-#X msg 48 504 tLink damp fixe cloud 0 \$1 0 1 \, tLink damp fixe cloud
-0 \$1 1 0;
+#X msg 48 504 setDEnv cloud \$1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 1 16 0;
@@ -90,7 +88,6 @@
#X obj 91 69 unpack f f;
#X msg 346 141 posY in \$1;
#X obj 42 300 route massesPosId;
-#X obj 42 324 route cloud;
#X obj 282 98 unpack f f;
#X msg 282 121 posX in \$1;
#X msg 736 95 setD damp \$1;
@@ -101,30 +98,32 @@
#X msg 91 96 forceX cloud \$1;
#X msg 155 119 forceY cloud \$1;
#X obj 46 30 route reset force forceX forceY bang;
-#X connect 0 0 20 0;
+#X obj 42 278 pmpd2d;
+#X msg 42 324 \$2 \$3;
+#X connect 0 0 18 0;
#X connect 2 0 3 0;
-#X connect 3 0 6 0;
-#X connect 4 0 14 0;
-#X connect 5 0 15 0;
-#X connect 6 0 10 0;
-#X connect 7 0 6 0;
-#X connect 8 0 18 0;
-#X connect 8 1 19 0;
-#X connect 9 0 6 0;
+#X connect 3 0 19 0;
+#X connect 4 0 12 0;
+#X connect 5 0 13 0;
+#X connect 6 0 19 0;
+#X connect 7 0 16 0;
+#X connect 7 1 17 0;
+#X connect 8 0 19 0;
+#X connect 9 0 20 0;
#X connect 10 0 11 0;
-#X connect 11 0 1 0;
-#X connect 12 0 13 0;
-#X connect 12 1 9 0;
-#X connect 13 0 6 0;
-#X connect 14 0 6 0;
+#X connect 10 1 8 0;
+#X connect 11 0 19 0;
+#X connect 12 0 19 0;
+#X connect 13 0 19 0;
+#X connect 14 0 19 0;
#X connect 15 0 6 0;
-#X connect 16 0 6 0;
-#X connect 17 0 7 0;
+#X connect 16 0 19 0;
+#X connect 17 0 19 0;
#X connect 18 0 6 0;
-#X connect 19 0 6 0;
-#X connect 20 0 7 0;
-#X connect 20 1 8 0;
-#X connect 20 2 18 0;
-#X connect 20 3 19 0;
-#X connect 20 4 16 0;
-#X connect 20 5 12 0;
+#X connect 18 1 7 0;
+#X connect 18 2 16 0;
+#X connect 18 3 17 0;
+#X connect 18 4 14 0;
+#X connect 18 5 10 0;
+#X connect 19 0 9 0;
+#X connect 20 0 1 0;
diff --git a/puremapping/pmcloud_3d.pd b/puremapping/pmcloud_3d.pd
index 1564793..4c37deb 100644
--- a/puremapping/pmcloud_3d.pd
+++ b/puremapping/pmcloud_3d.pd
@@ -1,11 +1,11 @@
-#N canvas 605 196 743 397 10;
+#N canvas 601 206 743 397 10;
#X obj 45 9 inlet;
-#X obj 42 350 outlet;
+#X obj 46 350 outlet;
#X obj 643 48 inlet;
#X msg 643 95 setK lnk \$1;
#X obj 736 49 inlet;
#X obj 554 44 inlet;
-#N canvas 801 117 639 733 create_clouds 0;
+#N canvas 797 127 639 733 create_clouds 0;
#X obj 70 30 loadbang;
#X obj 175 649 t a;
#X obj 173 677 outlet;
@@ -34,7 +34,7 @@
#X msg 367 202 seed \$1;
#X obj 367 179 * 2.42455e+06;
#X msg 145 312 mass cloud 1 1 \$1 \$2 \$3;
-#N canvas 0 0 259 330 loop 0;
+#N canvas 0 50 259 330 loop 0;
#X obj 74 149 f;
#X obj 74 213 + 1;
#X obj 74 171 moses \$1;
@@ -55,8 +55,7 @@
#X connect 7 1 4 0;
#X connect 8 0 0 0;
#X restore 85 126 pd loop;
-#X msg 48 504 tLink damp fixe cloud 0 \$1 0 0 1 \, tLink damp fixe
-cloud 0 \$1 0 1 0 \, tLink damp fixe cloud 0 \$1 1 0 0;
+#X msg 48 504 setDEnv \$1;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 3 1 12 0;
@@ -97,8 +96,7 @@ cloud 0 \$1 0 1 0 \, tLink damp fixe cloud 0 \$1 1 0 0;
#X connect 29 0 1 0;
#X restore 46 169 pd create_clouds;
#X msg 400 149 posY in \$1;
-#X obj 42 300 route massesPosId;
-#X obj 42 324 route cloud;
+#X obj 46 300 route massesPosId;
#X obj 305 59 t b l;
#X obj 336 106 unpack f f;
#X msg 336 129 posX in \$1;
@@ -112,35 +110,36 @@ cloud 0 \$1 0 1 0 \, tLink damp fixe cloud 0 \$1 1 0 0;
#X obj 46 30 route reset force forceX forceY forceZ;
#X obj 91 69 unpack f f f;
#X msg 173 139 forceZ cloud \$1;
-#X obj 42 278 msd3D;
-#X connect 0 0 19 0;
+#X obj 46 278 pmpd3d;
+#X msg 46 323 \$2 \$3 \$4;
+#X connect 0 0 18 0;
#X connect 2 0 3 0;
-#X connect 3 0 22 0;
-#X connect 4 0 13 0;
-#X connect 5 0 14 0;
-#X connect 6 0 22 0;
-#X connect 7 0 22 0;
-#X connect 8 0 9 0;
-#X connect 9 0 1 0;
-#X connect 10 0 15 0;
-#X connect 10 1 11 0;
-#X connect 11 0 12 0;
-#X connect 11 1 7 0;
-#X connect 12 0 22 0;
-#X connect 13 0 22 0;
-#X connect 14 0 22 0;
-#X connect 15 0 22 0;
-#X connect 16 0 6 0;
-#X connect 17 0 22 0;
-#X connect 18 0 22 0;
-#X connect 19 0 6 0;
-#X connect 19 1 20 0;
-#X connect 19 2 17 0;
-#X connect 19 3 18 0;
-#X connect 19 4 21 0;
-#X connect 19 5 10 0;
-#X connect 20 0 17 0;
-#X connect 20 1 18 0;
-#X connect 20 2 21 0;
-#X connect 21 0 22 0;
-#X connect 22 0 8 0;
+#X connect 3 0 21 0;
+#X connect 4 0 12 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 7 0 21 0;
+#X connect 8 0 22 0;
+#X connect 9 0 14 0;
+#X connect 9 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 7 0;
+#X connect 11 0 21 0;
+#X connect 12 0 21 0;
+#X connect 13 0 21 0;
+#X connect 14 0 21 0;
+#X connect 15 0 6 0;
+#X connect 16 0 21 0;
+#X connect 17 0 21 0;
+#X connect 18 0 6 0;
+#X connect 18 1 19 0;
+#X connect 18 2 16 0;
+#X connect 18 3 17 0;
+#X connect 18 4 20 0;
+#X connect 18 5 9 0;
+#X connect 19 0 16 0;
+#X connect 19 1 17 0;
+#X connect 19 2 20 0;
+#X connect 20 0 21 0;
+#X connect 21 0 8 0;
+#X connect 22 0 1 0;
diff --git a/puremapping/pmcube_3d-help.pd b/puremapping/pmcube_3d-help.pd
index 06244d6..1d4474b 100644
--- a/puremapping/pmcube_3d-help.pd
+++ b/puremapping/pmcube_3d-help.pd
@@ -1,4 +1,4 @@
-#N canvas 331 29 611 832 10;
+#N canvas 329 82 611 832 10;
#X floatatom 199 344 5 0 0 0 - - -;
#X floatatom 119 343 5 0 0 0 - - -;
#X obj 44 514 timeroll;
@@ -7,32 +7,32 @@
#X obj 44 418 + 1;
#X obj 44 442 / 2;
#X obj 44 394 unpack f f f;
-#X obj 44 367 pmcube_3d 0.3 0.3;
#X obj 162 45 vsl 15 128 -1 1 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 6300 0;
+-1 -1 6900 0;
#X obj 369 28 gcanvas 100 100;
#X obj 369 136 - 50;
#X obj 462 134 - 50;
#X obj 369 158 / 100;
#X obj 462 156 / 100;
#X obj 213 45 vsl 15 128 -1 1 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 9500 0;
+-1 -1 4500 0;
#X obj 369 181 pack f f;
#X obj 369 204 t l b;
#X msg 399 277 0;
#X msg 399 302 grab_on \$1;
-#X obj 44 290 metro 50;
#X obj 44 266 loadbang;
#X obj 399 251 delay 200;
#X msg 433 278 0.3;
#X msg 369 227 grab \$1 \$2 0;
#X obj 258 47 vsl 15 128 -1 1 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 9500 0;
+-1 -1 4500 0;
#X msg 162 197 force \$1 0 0;
#X msg 213 219 force 0 \$1 0;
#X msg 259 250 force 0 0 \$1;
-#X connect 0 0 8 2;
-#X connect 1 0 8 1;
+#X obj 44 290 metro 20;
+#X obj 44 367 pmcube_3d 0.2 0.2;
+#X connect 0 0 28 2;
+#X connect 1 0 28 1;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
@@ -40,27 +40,27 @@
#X connect 7 0 5 0;
#X connect 7 1 5 0;
#X connect 7 2 5 0;
-#X connect 8 0 7 0;
-#X connect 9 0 26 0;
-#X connect 10 0 11 0;
-#X connect 10 1 12 0;
+#X connect 8 0 24 0;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 10 0 12 0;
#X connect 11 0 13 0;
-#X connect 12 0 14 0;
-#X connect 13 0 16 0;
-#X connect 14 0 16 1;
-#X connect 15 0 27 0;
-#X connect 16 0 17 0;
-#X connect 17 0 24 0;
-#X connect 17 1 23 0;
-#X connect 17 1 22 0;
-#X connect 18 0 19 0;
-#X connect 19 0 8 0;
-#X connect 20 0 8 0;
-#X connect 21 0 20 0;
-#X connect 22 0 18 0;
-#X connect 23 0 19 0;
-#X connect 24 0 8 0;
+#X connect 12 0 15 0;
+#X connect 13 0 15 1;
+#X connect 14 0 25 0;
+#X connect 15 0 16 0;
+#X connect 16 0 22 0;
+#X connect 16 1 21 0;
+#X connect 16 1 20 0;
+#X connect 17 0 18 0;
+#X connect 18 0 28 0;
+#X connect 19 0 27 0;
+#X connect 20 0 17 0;
+#X connect 21 0 18 0;
+#X connect 22 0 28 0;
+#X connect 23 0 26 0;
+#X connect 24 0 28 0;
#X connect 25 0 28 0;
-#X connect 26 0 8 0;
-#X connect 27 0 8 0;
-#X connect 28 0 8 0;
+#X connect 26 0 28 0;
+#X connect 27 0 28 0;
+#X connect 28 0 7 0;
diff --git a/puremapping/pmcube_3d.pd b/puremapping/pmcube_3d.pd
index e2c551b..ed64abd 100644
--- a/puremapping/pmcube_3d.pd
+++ b/puremapping/pmcube_3d.pd
@@ -1,21 +1,18 @@
-#N canvas 146 213 871 573 10;
+#N canvas 880 335 871 573 10;
#X obj 49 58 inlet;
#X obj 79 291 loadbang;
-#X obj 39 524 outlet;
+#X obj 40 524 outlet;
#X obj 79 317 pack \$1 \$2;
#X obj 436 59 inlet;
#X msg 436 106 setK lnk \$1;
#X obj 529 60 inlet;
#X msg 529 106 setD lnk \$1;
#X msg 267 296 bang \, get massesPos out \, get massesForces out;
-#X obj 39 496 route out;
-#X obj 148 525 outlet;
-#X obj 148 497 route out;
-#X obj 39 472 route massesPosId massesForcesId;
+#X obj 149 525 outlet;
+#X obj 40 472 route massesPosId massesForcesId;
#X obj 159 286 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 202 257 forceX out \$1 \, forceY out \$2 \, forceZ out \$3;
-#X obj 40 450 msd3D;
#X msg 80 343 reset \, mass border 0 1 -1 -1 -1 \, mass border 0 1
-1 -1 1 \, mass border 0 1 -1 1 -1 \, mass border 0 1 -1 1 1 \, mass
border 0 1 1 -1 -1 \, mass border 0 1 1 -1 1 \, mass border 0 1 1 1
@@ -27,30 +24,33 @@ out \$1 \$2 \, mass grab 0 1 0 0 0 \, link lgrab out grab 0 0;
#X obj 56 94 route grab grab_on force bang;
#X obj 56 127 unpack f f f;
#X msg 136 198 posZ grab \$1;
-#X connect 0 0 20 0;
+#X obj 40 450 pmpd3d;
+#X obj 40 496 route 8;
+#X obj 149 497 route 8;
+#X connect 0 0 17 0;
#X connect 1 0 3 0;
-#X connect 3 0 16 0;
+#X connect 3 0 13 0;
#X connect 4 0 5 0;
-#X connect 5 0 15 0;
+#X connect 5 0 20 0;
#X connect 6 0 7 0;
-#X connect 7 0 15 0;
-#X connect 8 0 15 0;
-#X connect 9 0 2 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
-#X connect 12 1 11 0;
-#X connect 13 0 3 0;
-#X connect 14 0 15 0;
-#X connect 15 0 12 0;
-#X connect 16 0 15 0;
-#X connect 17 0 15 0;
-#X connect 18 0 15 0;
-#X connect 19 0 15 0;
-#X connect 20 0 21 0;
-#X connect 20 1 18 0;
-#X connect 20 2 14 0;
-#X connect 20 3 8 0;
-#X connect 21 0 17 0;
-#X connect 21 1 19 0;
-#X connect 21 2 22 0;
-#X connect 22 0 15 0;
+#X connect 7 0 20 0;
+#X connect 8 0 20 0;
+#X connect 10 0 21 0;
+#X connect 10 1 22 0;
+#X connect 11 0 3 0;
+#X connect 12 0 20 0;
+#X connect 13 0 20 0;
+#X connect 14 0 20 0;
+#X connect 15 0 20 0;
+#X connect 16 0 20 0;
+#X connect 17 0 18 0;
+#X connect 17 1 15 0;
+#X connect 17 2 12 0;
+#X connect 17 3 8 0;
+#X connect 18 0 14 0;
+#X connect 18 1 16 0;
+#X connect 18 2 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 10 0;
+#X connect 21 0 2 0;
+#X connect 22 0 9 0;
diff --git a/puremapping/pmfilter_2d.pd b/puremapping/pmfilter_2d.pd
index 91ff6c6..5ce794f 100644
--- a/puremapping/pmfilter_2d.pd
+++ b/puremapping/pmfilter_2d.pd
@@ -1,4 +1,4 @@
-#N canvas 738 11 702 349 10;
+#N canvas 734 87 702 349 10;
#X obj 31 34 inlet;
#X obj 80 130 loadbang;
#X obj 31 290 outlet;
@@ -8,11 +8,8 @@
#X msg 360 81 setK lnk \$1;
#X obj 453 35 inlet;
#X msg 31 81 bang \, get massesPos out \, get massesForces out;
-#X obj 31 262 route out;
#X obj 140 291 outlet;
-#X obj 140 263 route out;
#X obj 31 238 route massesPosId massesForcesId;
-#X obj 31 216 msd2D;
#X msg 61 104 posX in \$1 \, posY in \$2;
#X obj 31 57 t b l;
#X msg 259 108 forceX out \$1 \, forceY out \$2;
@@ -21,28 +18,30 @@
-1;
#X obj 552 35 inlet;
#X msg 552 81 setL lnk \$1;
+#X obj 31 215 pmpd2d;
+#X obj 31 262 route 1;
+#X obj 140 263 route 1;
#X msg 80 182 reset \, mass in 0 1 0 0 \, mass out 1 1 0 0 \, link
-lnk in out \$1 0 \, tLink damp in out 0 \$2 0 1 \, tLink damp in out
-0 \$2 1 0;
-#X connect 0 0 15 0;
+lnk in out \$1 0 \, setDEnv \$2;
+#X connect 0 0 12 0;
#X connect 1 0 3 0;
#X connect 3 0 21 0;
-#X connect 4 0 16 0;
+#X connect 4 0 13 0;
#X connect 5 0 6 0;
-#X connect 6 0 13 0;
-#X connect 7 0 17 0;
-#X connect 8 0 13 0;
-#X connect 9 0 2 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
+#X connect 6 0 18 0;
+#X connect 7 0 14 0;
+#X connect 8 0 18 0;
+#X connect 10 0 19 0;
+#X connect 10 1 20 0;
+#X connect 11 0 18 0;
+#X connect 12 0 8 0;
#X connect 12 1 11 0;
-#X connect 13 0 12 0;
-#X connect 14 0 13 0;
-#X connect 15 0 8 0;
-#X connect 15 1 14 0;
-#X connect 16 0 13 0;
-#X connect 17 0 13 0;
-#X connect 18 0 3 0;
-#X connect 19 0 20 0;
-#X connect 20 0 13 0;
-#X connect 21 0 13 0;
+#X connect 13 0 18 0;
+#X connect 14 0 18 0;
+#X connect 15 0 3 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 10 0;
+#X connect 19 0 2 0;
+#X connect 20 0 9 0;
+#X connect 21 0 18 0;
diff --git a/puremapping/pmfilter_3d.pd b/puremapping/pmfilter_3d.pd
index 7114c33..70f0f49 100644
--- a/puremapping/pmfilter_3d.pd
+++ b/puremapping/pmfilter_3d.pd
@@ -1,4 +1,4 @@
-#N canvas 738 24 702 349 10;
+#N canvas 1257 131 702 349 10;
#X obj 31 34 inlet;
#X obj 80 130 loadbang;
#X obj 31 314 outlet;
@@ -8,41 +8,40 @@
#X msg 360 81 setK lnk \$1;
#X obj 453 35 inlet;
#X msg 31 81 bang \, get massesPos out \, get massesForces out;
-#X obj 31 286 route out;
#X obj 140 315 outlet;
-#X obj 140 287 route out;
#X obj 31 262 route massesPosId massesForcesId;
#X obj 31 57 t b l;
#X msg 453 81 setD damp \$1;
#X obj 156 128 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
-#X obj 31 240 msd3D;
#X msg 259 130 forceX out \$1 \, forceY out \$2 \, forceZ out \$3;
#X msg 61 104 posX in \$1 \, posY in \$2 \, posZ in \$3;
#X obj 552 35 inlet;
#X msg 552 81 setL lnk \$1;
+#X obj 31 240 pmpd3d;
+#X obj 31 286 route 1;
+#X obj 140 287 route 1;
#X msg 80 182 reset \, mass in 0 1 0 0 0 \, mass out 1 1 0 0 0 \, link
-lnk in out \$1 0 \, tLink damp in out 0 \$2 0 0 1 \, tLink damp in
-out 0 \$2 0 1 0 \, tLink damp in out 0 \$2 1 0 0;
-#X connect 0 0 13 0;
+lnk in out \$1 0 \, setDEnv \$2;
+#X connect 0 0 11 0;
#X connect 1 0 3 0;
#X connect 3 0 21 0;
-#X connect 4 0 17 0;
+#X connect 4 0 14 0;
#X connect 5 0 6 0;
-#X connect 6 0 16 0;
-#X connect 7 0 14 0;
-#X connect 8 0 16 0;
-#X connect 9 0 2 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
-#X connect 12 1 11 0;
-#X connect 13 0 8 0;
-#X connect 13 1 18 0;
-#X connect 14 0 16 0;
-#X connect 15 0 3 0;
-#X connect 16 0 12 0;
-#X connect 17 0 16 0;
-#X connect 18 0 16 0;
-#X connect 19 0 20 0;
-#X connect 20 0 16 0;
-#X connect 21 0 16 0;
+#X connect 6 0 18 0;
+#X connect 7 0 12 0;
+#X connect 8 0 18 0;
+#X connect 10 0 19 0;
+#X connect 10 1 20 0;
+#X connect 11 0 8 0;
+#X connect 11 1 15 0;
+#X connect 12 0 18 0;
+#X connect 13 0 3 0;
+#X connect 14 0 18 0;
+#X connect 15 0 18 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 10 0;
+#X connect 19 0 2 0;
+#X connect 20 0 9 0;
+#X connect 21 0 18 0;
diff --git a/puremapping/pmmulti_stable_2d-help.pd b/puremapping/pmmulti_stable_2d-help.pd
index 3c20621..fc94591 100644
--- a/puremapping/pmmulti_stable_2d-help.pd
+++ b/puremapping/pmmulti_stable_2d-help.pd
@@ -1,4 +1,4 @@
-#N canvas 604 59 724 667 10;
+#N canvas 602 82 724 667 10;
#X text 122 399 outlet 1 : position of masses;
#X obj 54 511 gemhead;
#X obj 54 429 t b l;
@@ -13,14 +13,14 @@
#X msg 70 478 0;
#X obj 54 632 square 0.1;
#X obj 164 30 vsl 15 128 -1 1 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 0 0;
+-1 -1 2600 0;
#X obj 371 13 gcanvas 100 100;
#X obj 371 121 - 50;
#X obj 464 119 - 50;
#X obj 371 143 / 100;
#X obj 464 141 / 100;
#X obj 215 30 vsl 15 128 -1 1 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 0 0;
+-1 -1 4200 0;
#X msg 371 212 grab \$1 \$2;
#X obj 371 166 pack f f;
#X obj 371 189 t l b;
@@ -28,17 +28,13 @@
#X msg 401 287 grab_on \$1;
#X msg 164 182 force \$1 0;
#X msg 215 204 force 0 \$1;
-#X obj 47 275 metro 50;
-#X obj 47 251 loadbang;
#X obj 401 236 delay 200;
#X msg 435 263 0.3;
#X text 262 366 arguments : number of stable point \, rigidity \, damping
;
-#X obj 96 204 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
#X msg 115 481 1;
-#X obj 32 299 gemhead;
-#X obj 34 323 b;
+#X obj 54 300 gemhead;
+#X obj 54 323 b;
#X obj 54 367 pmmulti_stable_2d 9 0.1 0.1;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
@@ -60,20 +56,18 @@
#X connect 17 0 21 0;
#X connect 18 0 21 1;
#X connect 19 0 26 0;
-#X connect 20 0 36 0;
+#X connect 20 0 33 0;
#X connect 21 0 22 0;
#X connect 22 0 20 0;
-#X connect 22 1 30 0;
-#X connect 22 1 29 0;
+#X connect 22 1 28 0;
+#X connect 22 1 27 0;
#X connect 23 0 24 0;
-#X connect 24 0 36 0;
-#X connect 25 0 36 0;
-#X connect 26 0 36 0;
-#X connect 28 0 27 0;
-#X connect 29 0 23 0;
-#X connect 30 0 24 0;
-#X connect 32 0 27 0;
-#X connect 33 0 1 0;
-#X connect 34 0 35 0;
-#X connect 35 0 36 0;
-#X connect 36 0 2 0;
+#X connect 24 0 33 0;
+#X connect 25 0 33 0;
+#X connect 26 0 33 0;
+#X connect 27 0 23 0;
+#X connect 28 0 24 0;
+#X connect 30 0 1 0;
+#X connect 31 0 32 0;
+#X connect 32 0 33 0;
+#X connect 33 0 2 0;
diff --git a/puremapping/pmmulti_stable_2d.pd b/puremapping/pmmulti_stable_2d.pd
index 742841f..3bfe63b 100644
--- a/puremapping/pmmulti_stable_2d.pd
+++ b/puremapping/pmmulti_stable_2d.pd
@@ -1,12 +1,11 @@
-#N canvas 835 203 726 492 10;
+#N canvas 833 208 726 492 10;
#X obj 42 34 inlet;
#X obj 41 435 outlet;
#X obj 510 34 inlet;
#X msg 510 81 setK lnk \$1;
#X obj 603 35 inlet;
#X msg 603 81 setD lnk \$1;
-#X obj 41 363 msd2D;
-#N canvas 866 113 421 804 creation_multi_stable 0;
+#N canvas 864 118 421 804 creation_multi_stable 0;
#X obj 32 23 loadbang;
#X obj 175 649 t a;
#X obj 118 19 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
@@ -14,7 +13,7 @@
#X obj 201 150 \$1;
#X obj 145 198 /;
#X obj 173 677 outlet;
-#N canvas 0 0 259 330 loop 0;
+#N canvas 0 50 259 330 loop 0;
#X obj 74 149 f;
#X obj 74 213 + 1;
#X obj 74 171 moses \$1;
@@ -91,26 +90,27 @@
#X msg 90 167 setK lgrab \$1;
#X msg 106 136 posY grab \$1;
#X obj 41 57 route grab grab_on force bang;
-#X obj 41 412 route out;
#X obj 41 385 route massesPosId;
#X msg 189 112 bang \, get massesPos out;
-#X connect 0 0 13 0;
+#X obj 41 363 pmpd2d;
+#X obj 41 412 route 9;
+#X connect 0 0 12 0;
#X connect 2 0 3 0;
-#X connect 3 0 6 0;
+#X connect 3 0 15 0;
#X connect 4 0 5 0;
-#X connect 5 0 6 0;
+#X connect 5 0 15 0;
#X connect 6 0 15 0;
-#X connect 7 0 6 0;
-#X connect 8 0 6 0;
-#X connect 9 0 10 0;
-#X connect 9 1 12 0;
-#X connect 10 0 6 0;
-#X connect 11 0 6 0;
-#X connect 12 0 6 0;
-#X connect 13 0 9 0;
-#X connect 13 1 11 0;
-#X connect 13 2 8 0;
-#X connect 13 3 16 0;
-#X connect 14 0 1 0;
-#X connect 15 0 14 0;
-#X connect 16 0 6 0;
+#X connect 7 0 15 0;
+#X connect 8 0 9 0;
+#X connect 8 1 11 0;
+#X connect 9 0 15 0;
+#X connect 10 0 15 0;
+#X connect 11 0 15 0;
+#X connect 12 0 8 0;
+#X connect 12 1 10 0;
+#X connect 12 2 7 0;
+#X connect 12 3 14 0;
+#X connect 13 0 16 0;
+#X connect 14 0 15 0;
+#X connect 15 0 13 0;
+#X connect 16 0 1 0;
diff --git a/puremapping/pmopen_string_1d.pd b/puremapping/pmopen_string_1d.pd
index aad7eba..d9c19bf 100644
--- a/puremapping/pmopen_string_1d.pd
+++ b/puremapping/pmopen_string_1d.pd
@@ -1,5 +1,4 @@
-#N canvas 267 388 662 400 10;
-#X obj 31 227 msd;
+#N canvas 265 393 662 400 10;
#X obj 31 34 inlet;
#X obj 31 301 outlet;
#X obj 453 39 inlet;
@@ -75,20 +74,21 @@
#X obj 317 42 inlet;
#X obj 31 57 t b f;
#X msg 61 104 posX M-0 \$1;
-#X connect 0 0 10 0;
-#X connect 1 0 15 0;
-#X connect 3 0 4 0;
-#X connect 4 0 0 0;
-#X connect 5 0 6 0;
-#X connect 6 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X connect 10 0 2 0;
-#X connect 10 1 7 0;
-#X connect 11 0 8 0;
-#X connect 12 0 8 0;
-#X connect 13 0 0 0;
-#X connect 14 0 9 0;
-#X connect 15 0 13 0;
-#X connect 15 1 16 0;
-#X connect 16 0 0 0;
+#X obj 31 227 pmpd;
+#X connect 0 0 14 0;
+#X connect 2 0 3 0;
+#X connect 3 0 16 0;
+#X connect 4 0 5 0;
+#X connect 5 0 16 0;
+#X connect 7 0 16 0;
+#X connect 8 0 16 0;
+#X connect 9 0 1 0;
+#X connect 9 1 6 0;
+#X connect 10 0 7 0;
+#X connect 11 0 7 0;
+#X connect 12 0 16 0;
+#X connect 13 0 8 0;
+#X connect 14 0 12 0;
+#X connect 14 1 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 9 0;
diff --git a/puremapping/pmrepulsor_1d.pd b/puremapping/pmrepulsor_1d.pd
index 88b77ac..680e1a8 100644
--- a/puremapping/pmrepulsor_1d.pd
+++ b/puremapping/pmrepulsor_1d.pd
@@ -1,4 +1,4 @@
-#N canvas 127 228 633 573 10;
+#N canvas 123 238 633 573 10;
#X obj 31 34 inlet;
#X obj 79 317 loadbang;
#X obj 24 506 outlet;
@@ -7,13 +7,10 @@
#X msg 368 84 setK lnk \$1;
#X obj 461 38 inlet;
#X msg 461 84 setD lnk \$1;
-#X obj 24 478 route out;
#X obj 133 507 outlet;
-#X obj 133 479 route out;
#X obj 24 454 route massesPosId massesForcesId;
#X obj 159 312 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X obj 24 432 msd;
#X msg 79 369 reset \, mass border 0 1 0 \, mass out 1 1 0.5 \, link
lnk border out \$1 \$2 \, mass grab 0 1 0 \, link lgrab out grab 0
0;
@@ -24,28 +21,31 @@ lnk border out \$1 \$2 \, mass grab 0 1 0 \, link lgrab out grab 0
#X msg 94 134 posY grab \$1;
#X obj 29 55 route grab grab_on force bang;
#X msg 132 89 forceX out \$1;
-#X connect 0 0 20 0;
+#X obj 24 432 pmpd;
+#X obj 24 478 route 1;
+#X obj 133 479 route 1;
+#X connect 0 0 17 0;
#X connect 1 0 3 0;
-#X connect 3 0 14 0;
+#X connect 3 0 11 0;
#X connect 4 0 5 0;
-#X connect 5 0 13 0;
+#X connect 5 0 19 0;
#X connect 6 0 7 0;
-#X connect 7 0 13 0;
-#X connect 8 0 2 0;
-#X connect 10 0 9 0;
-#X connect 11 0 8 0;
-#X connect 11 1 10 0;
-#X connect 12 0 3 0;
-#X connect 13 0 11 0;
-#X connect 14 0 13 0;
-#X connect 15 0 13 0;
-#X connect 16 0 17 0;
-#X connect 16 1 19 0;
+#X connect 7 0 19 0;
+#X connect 9 0 20 0;
+#X connect 9 1 21 0;
+#X connect 10 0 3 0;
+#X connect 11 0 19 0;
+#X connect 12 0 19 0;
+#X connect 13 0 14 0;
+#X connect 13 1 16 0;
+#X connect 14 0 19 0;
+#X connect 15 0 19 0;
+#X connect 16 0 19 0;
#X connect 17 0 13 0;
-#X connect 18 0 13 0;
-#X connect 19 0 13 0;
-#X connect 20 0 16 0;
-#X connect 20 1 18 0;
-#X connect 20 2 21 0;
-#X connect 20 3 15 0;
-#X connect 21 0 13 0;
+#X connect 17 1 15 0;
+#X connect 17 2 18 0;
+#X connect 17 3 12 0;
+#X connect 18 0 19 0;
+#X connect 19 0 9 0;
+#X connect 20 0 2 0;
+#X connect 21 0 8 0;
diff --git a/puremapping/pmrepulsor_2d.pd b/puremapping/pmrepulsor_2d.pd
index f4b6ac4..f0c0ede 100644
--- a/puremapping/pmrepulsor_2d.pd
+++ b/puremapping/pmrepulsor_2d.pd
@@ -1,4 +1,4 @@
-#N canvas 316 249 871 573 10;
+#N canvas 314 254 871 573 10;
#X obj 31 34 inlet;
#X obj 76 214 loadbang;
#X obj 31 428 outlet;
@@ -8,11 +8,8 @@
#X obj 685 24 inlet;
#X msg 685 70 setD lnk \$1;
#X msg 213 129 bang \, get massesPos out \, get massesForces out;
-#X obj 31 400 route out;
#X obj 140 429 outlet;
-#X obj 140 401 route out;
#X obj 31 376 route massesPosId massesForcesId;
-#X obj 31 354 msd2D;
#X msg 132 89 forceX out \$1 \, forceY out \$2;
#X obj 156 209 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
@@ -25,28 +22,31 @@
link lnk center out \$1 0 \, tLink damp center out 0 \$2 0 1 \, tLink
damp center out 0 \$2 1 0 \, mass grab 0 1 0 0 \, link lgrab out grab
0 0;
-#X connect 0 0 20 0;
+#X obj 31 354 pmpd2d;
+#X obj 31 400 route 1;
+#X obj 140 401 route 1;
+#X connect 0 0 17 0;
#X connect 1 0 3 0;
-#X connect 3 0 21 0;
+#X connect 3 0 18 0;
#X connect 4 0 5 0;
-#X connect 5 0 13 0;
+#X connect 5 0 19 0;
#X connect 6 0 7 0;
-#X connect 7 0 13 0;
-#X connect 8 0 13 0;
-#X connect 9 0 2 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
-#X connect 12 1 11 0;
-#X connect 13 0 12 0;
-#X connect 14 0 13 0;
-#X connect 15 0 3 0;
-#X connect 16 0 17 0;
-#X connect 16 1 19 0;
+#X connect 7 0 19 0;
+#X connect 8 0 19 0;
+#X connect 10 0 20 0;
+#X connect 10 1 21 0;
+#X connect 11 0 19 0;
+#X connect 12 0 3 0;
+#X connect 13 0 14 0;
+#X connect 13 1 16 0;
+#X connect 14 0 19 0;
+#X connect 15 0 19 0;
+#X connect 16 0 19 0;
#X connect 17 0 13 0;
-#X connect 18 0 13 0;
-#X connect 19 0 13 0;
-#X connect 20 0 16 0;
-#X connect 20 1 18 0;
-#X connect 20 2 14 0;
-#X connect 20 3 8 0;
-#X connect 21 0 13 0;
+#X connect 17 1 15 0;
+#X connect 17 2 11 0;
+#X connect 17 3 8 0;
+#X connect 18 0 19 0;
+#X connect 19 0 10 0;
+#X connect 20 0 2 0;
+#X connect 21 0 9 0;
diff --git a/puremapping/pmrepulsor_3d.pd b/puremapping/pmrepulsor_3d.pd
index e0771f7..5b337ac 100644
--- a/puremapping/pmrepulsor_3d.pd
+++ b/puremapping/pmrepulsor_3d.pd
@@ -1,4 +1,4 @@
-#N canvas 146 213 871 573 10;
+#N canvas 144 218 871 573 10;
#X obj 31 34 inlet;
#X obj 59 326 loadbang;
#X obj 32 535 outlet;
@@ -8,13 +8,10 @@
#X obj 461 38 inlet;
#X msg 461 84 setD lnk \$1;
#X msg 206 239 bang \, get massesPos out \, get massesForces out;
-#X obj 32 507 route out;
#X obj 141 536 outlet;
-#X obj 141 508 route out;
#X obj 32 483 route massesPosId massesForcesId;
#X obj 139 321 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
-#X obj 32 461 msd3D;
#X msg 171 216 forceX out \$1 \, forceY out \$2 \, forceZ out \$3;
#X msg 31 112 posX grab \$1;
#X msg 145 192 setK lgrab \$1;
@@ -26,30 +23,33 @@
0 \, link lnk center out \$1 0 \, tLink damp center out 0 \$2 0 1 0
\, tLink damp center out 0 \$2 1 0 0 \, tLink damp center out 0 \$2
0 0 1 \, mass grab 0 1 0 0 0 \, link lgrab out grab 0 0;
-#X connect 0 0 19 0;
+#X obj 32 461 pmpd3d;
+#X obj 32 507 route 1;
+#X obj 141 508 route 1;
+#X connect 0 0 16 0;
#X connect 1 0 3 0;
-#X connect 3 0 22 0;
+#X connect 3 0 19 0;
#X connect 4 0 5 0;
-#X connect 5 0 14 0;
+#X connect 5 0 20 0;
#X connect 6 0 7 0;
-#X connect 7 0 14 0;
-#X connect 8 0 14 0;
-#X connect 9 0 2 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
-#X connect 12 1 11 0;
-#X connect 13 0 3 0;
-#X connect 14 0 12 0;
-#X connect 15 0 14 0;
-#X connect 16 0 14 0;
-#X connect 17 0 14 0;
-#X connect 18 0 14 0;
+#X connect 7 0 20 0;
+#X connect 8 0 20 0;
+#X connect 10 0 21 0;
+#X connect 10 1 22 0;
+#X connect 11 0 3 0;
+#X connect 12 0 20 0;
+#X connect 13 0 20 0;
+#X connect 14 0 20 0;
+#X connect 15 0 20 0;
+#X connect 16 0 17 0;
+#X connect 16 1 14 0;
+#X connect 16 2 12 0;
+#X connect 16 3 8 0;
+#X connect 17 0 13 0;
+#X connect 17 1 15 0;
+#X connect 17 2 18 0;
+#X connect 18 0 20 0;
#X connect 19 0 20 0;
-#X connect 19 1 17 0;
-#X connect 19 2 15 0;
-#X connect 19 3 8 0;
-#X connect 20 0 16 0;
-#X connect 20 1 18 0;
-#X connect 20 2 21 0;
-#X connect 21 0 14 0;
-#X connect 22 0 14 0;
+#X connect 20 0 10 0;
+#X connect 21 0 2 0;
+#X connect 22 0 9 0;
diff --git a/puremapping/pmrigid_open_string_2d-help.pd b/puremapping/pmrigid_open_string_2d-help.pd
index 984f3ec..3f87ae6 100644
--- a/puremapping/pmrigid_open_string_2d-help.pd
+++ b/puremapping/pmrigid_open_string_2d-help.pd
@@ -1,8 +1,6 @@
-#N canvas 556 69 665 645 10;
+#N canvas 554 82 665 645 10;
#X obj 54 92 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 2800 1;
-#X obj 75 92 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 5200 1;
+-1 -1 4200 1;
#X text 289 306 arguments : number of moving masses \, rigidity \,
damping;
#X text 210 19 simple Physical model of "string";
@@ -35,24 +33,24 @@ input.;
#X obj 38 260 b;
#X obj 38 309 pmrigid_open_string_2d 9 0.1 0.01;
#X obj 38 338 route 0 1;
-#X connect 0 0 16 1;
-#X connect 11 0 29 1;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 13 1 15 0;
-#X connect 14 0 26 0;
-#X connect 15 1 17 0;
-#X connect 15 2 19 0;
-#X connect 16 0 29 0;
-#X connect 17 0 18 0;
-#X connect 18 0 14 1;
-#X connect 19 0 20 0;
-#X connect 20 0 14 2;
-#X connect 22 0 21 0;
-#X connect 23 0 21 0;
-#X connect 24 0 25 0;
-#X connect 25 0 12 0;
-#X connect 27 0 28 0;
-#X connect 28 0 16 0;
-#X connect 29 0 30 0;
-#X connect 30 2 13 0;
+#X connect 0 0 15 1;
+#X connect 10 0 28 1;
+#X connect 11 0 13 0;
+#X connect 12 0 11 0;
+#X connect 12 1 14 0;
+#X connect 13 0 25 0;
+#X connect 14 1 16 0;
+#X connect 14 2 18 0;
+#X connect 15 0 28 0;
+#X connect 16 0 17 0;
+#X connect 17 0 13 1;
+#X connect 18 0 19 0;
+#X connect 19 0 13 2;
+#X connect 21 0 20 0;
+#X connect 22 0 20 0;
+#X connect 23 0 24 0;
+#X connect 24 0 11 0;
+#X connect 26 0 27 0;
+#X connect 27 0 15 0;
+#X connect 28 0 29 0;
+#X connect 29 2 12 0;
diff --git a/puremapping/pmrigid_open_string_2d.pd b/puremapping/pmrigid_open_string_2d.pd
index 37ec7e9..9957df3 100644
--- a/puremapping/pmrigid_open_string_2d.pd
+++ b/puremapping/pmrigid_open_string_2d.pd
@@ -1,4 +1,4 @@
-#N canvas 870 255 743 397 10;
+#N canvas 868 260 743 397 10;
#X obj 42 34 inlet;
#X obj 42 57 t b f;
#X obj 42 350 outlet;
@@ -6,7 +6,7 @@
#X msg 510 81 setK lnk \$1;
#X obj 603 35 inlet;
#X msg 603 81 setD lnk \$1;
-#N canvas 746 115 421 804 creation_corde 0;
+#N canvas 744 120 421 804 creation_corde 0;
#X obj 32 23 loadbang;
#X msg 141 212 0;
#X obj 141 237 f;
@@ -28,7 +28,7 @@
#X obj 173 677 outlet;
#X msg 31 578 setL lnk 0;
#X obj 32 50 t b b b b b b;
-#N canvas 0 0 259 330 loop 0;
+#N canvas 0 50 259 330 loop 0;
#X obj 74 149 f;
#X obj 74 213 + 1;
#X obj 74 171 moses \$1;
@@ -50,7 +50,7 @@
#X connect 8 0 0 0;
#X restore 70 417 pd loop;
#X obj 71 361 \$1;
-#N canvas 0 0 259 330 loop 0;
+#N canvas 0 50 259 330 loop 0;
#X obj 74 149 f;
#X obj 74 213 + 1;
#X obj 74 171 moses \$1;
@@ -112,7 +112,6 @@
#X connect 27 0 6 0;
#X restore 87 175 pd creation_corde;
#X obj 395 31 inlet;
-#X obj 42 278 msd2D;
#X msg 395 80 forceY M-\$1 \$2;
#X msg 72 104 posY M-0 \$1;
#X msg 169 130 posY M-\$2 \$1;
@@ -122,23 +121,24 @@
#X obj 220 59 \$1;
#X obj 220 81 + 1;
#X obj 220 37 loadbang;
+#X obj 42 278 pmpd2d;
#X connect 0 0 1 0;
-#X connect 1 0 14 0;
-#X connect 1 1 11 0;
-#X connect 1 1 15 0;
+#X connect 1 0 13 0;
+#X connect 1 1 10 0;
+#X connect 1 1 14 0;
#X connect 3 0 4 0;
-#X connect 4 0 9 0;
+#X connect 4 0 18 0;
#X connect 5 0 6 0;
-#X connect 6 0 9 0;
-#X connect 7 0 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 13 0;
-#X connect 10 0 9 0;
-#X connect 11 0 9 0;
-#X connect 12 0 9 0;
-#X connect 13 0 2 0;
-#X connect 14 0 9 0;
-#X connect 15 0 12 0;
-#X connect 16 0 17 0;
-#X connect 17 0 15 1;
-#X connect 18 0 16 0;
+#X connect 6 0 18 0;
+#X connect 7 0 18 0;
+#X connect 8 0 9 0;
+#X connect 9 0 18 0;
+#X connect 10 0 18 0;
+#X connect 11 0 18 0;
+#X connect 12 0 2 0;
+#X connect 13 0 18 0;
+#X connect 14 0 11 0;
+#X connect 15 0 16 0;
+#X connect 16 0 14 1;
+#X connect 17 0 15 0;
+#X connect 18 0 12 0;
diff --git a/puremapping/pmrigid_string_2d.pd b/puremapping/pmrigid_string_2d.pd
index 52d36ea..2931f0e 100644
--- a/puremapping/pmrigid_string_2d.pd
+++ b/puremapping/pmrigid_string_2d.pd
@@ -1,4 +1,4 @@
-#N canvas 605 196 743 397 10;
+#N canvas 603 201 743 397 10;
#X obj 42 34 inlet;
#X obj 42 57 t b f;
#X obj 42 350 outlet;
@@ -7,7 +7,7 @@
#X msg 510 81 setK lnk \$1;
#X obj 603 35 inlet;
#X msg 603 81 setD lnk \$1;
-#N canvas 746 115 421 804 creation_corde 0;
+#N canvas 744 120 421 804 creation_corde 0;
#X obj 32 23 loadbang;
#X msg 143 117 0;
#X obj 143 142 f;
@@ -29,7 +29,7 @@
#X obj 173 677 outlet;
#X msg 31 578 setL lnk 0;
#X obj 32 50 t b b b b b b;
-#N canvas 0 0 259 330 loop 0;
+#N canvas 0 50 259 330 loop 0;
#X obj 74 149 f;
#X obj 74 213 + 1;
#X obj 74 171 moses \$1;
@@ -51,7 +51,7 @@
#X connect 8 0 0 0;
#X restore 70 417 pd loop;
#X obj 71 361 \$1;
-#N canvas 0 0 259 330 loop 0;
+#N canvas 0 50 259 330 loop 0;
#X obj 74 149 f;
#X obj 74 213 + 1;
#X obj 74 171 moses \$1;
@@ -117,29 +117,29 @@
#X obj 320 72 + 1;
#X obj 320 51 \$1;
#X obj 395 31 inlet;
-#X obj 42 278 msd2D;
#X msg 395 80 forceY M-\$1 \$2;
#X msg 72 104 posY M-0 \$1;
#X msg 268 124 posY M-\$2 \$1;
#X obj 42 300 route massesPos;
#X msg 42 81 bang \, get massesPos;
+#X obj 42 278 pmpd2d;
#X connect 0 0 1 0;
-#X connect 1 0 19 0;
-#X connect 1 1 16 0;
+#X connect 1 0 18 0;
+#X connect 1 1 15 0;
#X connect 3 0 9 0;
#X connect 4 0 5 0;
-#X connect 5 0 14 0;
+#X connect 5 0 19 0;
#X connect 6 0 7 0;
-#X connect 7 0 14 0;
-#X connect 8 0 14 0;
-#X connect 9 0 17 0;
+#X connect 7 0 19 0;
+#X connect 8 0 19 0;
+#X connect 9 0 16 0;
#X connect 10 0 12 0;
#X connect 11 0 9 1;
#X connect 12 0 11 0;
-#X connect 13 0 15 0;
-#X connect 14 0 18 0;
-#X connect 15 0 14 0;
-#X connect 16 0 14 0;
-#X connect 17 0 14 0;
-#X connect 18 0 2 0;
-#X connect 19 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 19 0;
+#X connect 15 0 19 0;
+#X connect 16 0 19 0;
+#X connect 17 0 2 0;
+#X connect 18 0 19 0;
+#X connect 19 0 17 0;
diff --git a/puremapping/pmsquare_2d.pd b/puremapping/pmsquare_2d.pd
index 0c6e1f4..2c5d89d 100644
--- a/puremapping/pmsquare_2d.pd
+++ b/puremapping/pmsquare_2d.pd
@@ -1,4 +1,4 @@
-#N canvas 222 210 871 573 10;
+#N canvas 218 220 871 573 10;
#X obj 31 34 inlet;
#X obj 82 304 loadbang;
#X obj 48 508 outlet;
@@ -7,11 +7,8 @@
#X msg 368 84 setK lnk \$1;
#X obj 461 38 inlet;
#X msg 461 84 setD lnk \$1;
-#X obj 48 480 route out;
#X obj 157 509 outlet;
-#X obj 157 481 route out;
#X obj 48 456 route massesPosId massesForcesId;
-#X obj 49 434 msd2D;
#X obj 162 299 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 179 116 bang \, get massesPos out \, get massesForces out;
@@ -25,28 +22,31 @@
\, mass corner 0 1 1 1 \, mass corner 0 1 -1 1 \, mass out 1 1 0 0
\, link lnk corner out \$1 \$2 \, mass grab 0 1 0 0 \, link lgrab out
grab 0 0;
-#X connect 0 0 20 0;
+#X obj 49 434 pmpd2d;
+#X obj 48 480 route 4;
+#X obj 157 481 route 4;
+#X connect 0 0 17 0;
#X connect 1 0 3 0;
-#X connect 3 0 21 0;
+#X connect 3 0 18 0;
#X connect 4 0 5 0;
-#X connect 5 0 12 0;
+#X connect 5 0 19 0;
#X connect 6 0 7 0;
-#X connect 7 0 12 0;
-#X connect 8 0 2 0;
-#X connect 10 0 9 0;
-#X connect 11 0 8 0;
-#X connect 11 1 10 0;
-#X connect 12 0 11 0;
-#X connect 13 0 3 0;
-#X connect 14 0 12 0;
-#X connect 15 0 12 0;
-#X connect 16 0 17 0;
-#X connect 16 1 19 0;
-#X connect 17 0 12 0;
-#X connect 18 0 12 0;
-#X connect 19 0 12 0;
-#X connect 20 0 16 0;
-#X connect 20 1 18 0;
-#X connect 20 2 15 0;
-#X connect 20 3 14 0;
-#X connect 21 0 12 0;
+#X connect 7 0 19 0;
+#X connect 9 0 20 0;
+#X connect 9 1 21 0;
+#X connect 10 0 3 0;
+#X connect 11 0 19 0;
+#X connect 12 0 19 0;
+#X connect 13 0 14 0;
+#X connect 13 1 16 0;
+#X connect 14 0 19 0;
+#X connect 15 0 19 0;
+#X connect 16 0 19 0;
+#X connect 17 0 13 0;
+#X connect 17 1 15 0;
+#X connect 17 2 12 0;
+#X connect 17 3 11 0;
+#X connect 18 0 19 0;
+#X connect 19 0 9 0;
+#X connect 20 0 2 0;
+#X connect 21 0 8 0;
diff --git a/puremapping/pmstring_1d-help.pd b/puremapping/pmstring_1d-help.pd
index 898b6e2..83deb7e 100644
--- a/puremapping/pmstring_1d-help.pd
+++ b/puremapping/pmstring_1d-help.pd
@@ -1,26 +1,26 @@
-#N canvas 209 108 665 618 10;
+#N canvas 2114 259 665 618 10;
#X obj 39 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 0 1;
+-1 -1 8000 1;
#X obj 56 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 10 1;
+-1 -1 7377 1;
#X obj 73 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 20 1;
+-1 -1 6739 1;
#X obj 90 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 30 1;
+-1 -1 6071 1;
#X obj 107 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 40 1;
+-1 -1 5361 1;
#X obj 124 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 50 1;
+-1 -1 4601 1;
#X obj 141 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 60 1;
+-1 -1 3786 1;
#X obj 158 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 70 1;
+-1 -1 2920 1;
#X obj 175 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 80 1;
+-1 -1 2008 1;
#X obj 192 467 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 90 1;
+-1 -1 1063 1;
#X obj 39 106 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 0 1;
+-1 -1 8000 1;
#X obj 78 106 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 39 436 route 0 1 2 3 4 5 6 7 8 9 10;
@@ -39,28 +39,28 @@ input.;
#X msg 117 279 3 1;
#X text 148 281 mass 3 \, force = 1;
#X obj 306 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 5771 1;
#X obj 323 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 6385 1;
#X obj 340 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 6371 1;
#X obj 357 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 6360 1;
#X obj 374 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 6352 1;
#X obj 391 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 6348 1;
#X obj 408 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 6350 1;
#X obj 425 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 6356 1;
#X obj 442 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 6368 1;
#X obj 459 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 6383 1;
#X obj 306 437 route 0 1 2 3 4 5 6 7 8 9 10;
#X obj 476 468 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 6400 1;
+-1 -1 12700 1;
#X obj 39 245 resample 5;
#X obj 306 342 unpack f f;
#X obj 306 412 pack f f;
@@ -69,6 +69,7 @@ input.;
#X text 99 361 2 : forces apply to masses;
#X text 51 344 outlet 1 : position of masses;
#X obj 39 307 pmstring_1d 9 0.01 0.01;
+#X obj 39 277 f;
#X connect 10 0 35 0;
#X connect 11 0 42 1;
#X connect 12 0 0 0;
@@ -94,7 +95,7 @@ input.;
#X connect 33 8 31 0;
#X connect 33 9 32 0;
#X connect 33 10 34 0;
-#X connect 35 0 42 0;
+#X connect 35 0 43 0;
#X connect 36 0 37 0;
#X connect 36 1 38 0;
#X connect 37 0 33 0;
@@ -102,3 +103,4 @@ input.;
#X connect 39 0 37 1;
#X connect 42 0 12 0;
#X connect 42 1 36 0;
+#X connect 43 0 42 0;
diff --git a/puremapping/pmstring_1d.pd b/puremapping/pmstring_1d.pd
index 58c4017..2362ba0 100644
--- a/puremapping/pmstring_1d.pd
+++ b/puremapping/pmstring_1d.pd
@@ -1,5 +1,4 @@
-#N canvas 590 84 962 400 10;
-#X obj 42 278 msd;
+#N canvas 588 89 962 400 10;
#X obj 31 34 inlet;
#X obj 31 57 t b f;
#X obj 42 352 outlet;
@@ -90,24 +89,25 @@
#X msg 540 115 forceX M-\$1 \$2;
#X obj 42 300 route massesPos massesForces;
#X msg 31 81 bang \, get massesPos \, get massesForces;
-#X connect 0 0 19 0;
-#X connect 1 0 2 0;
-#X connect 2 0 20 0;
-#X connect 2 1 11 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 0 0;
-#X connect 7 0 8 0;
-#X connect 8 0 0 0;
-#X connect 10 0 0 0;
-#X connect 11 0 0 0;
+#X obj 42 278 pmpd;
+#X connect 0 0 1 0;
+#X connect 1 0 19 0;
+#X connect 1 1 10 0;
+#X connect 3 0 11 0;
+#X connect 4 0 5 0;
+#X connect 5 0 20 0;
+#X connect 6 0 7 0;
+#X connect 7 0 20 0;
+#X connect 9 0 20 0;
+#X connect 10 0 20 0;
+#X connect 11 0 14 0;
#X connect 12 0 15 0;
-#X connect 13 0 16 0;
-#X connect 14 0 12 1;
-#X connect 15 0 0 0;
-#X connect 16 0 14 0;
-#X connect 17 0 18 0;
-#X connect 18 0 0 0;
-#X connect 19 0 3 0;
-#X connect 19 1 9 0;
-#X connect 20 0 0 0;
+#X connect 13 0 11 1;
+#X connect 14 0 20 0;
+#X connect 15 0 13 0;
+#X connect 16 0 17 0;
+#X connect 17 0 20 0;
+#X connect 18 0 2 0;
+#X connect 18 1 8 0;
+#X connect 19 0 20 0;
+#X connect 20 0 18 0;