aboutsummaryrefslogtreecommitdiff
path: root/msd2D
diff options
context:
space:
mode:
authorFrank Barknecht <fbar@users.sourceforge.net>2005-05-17 17:21:07 +0000
committerFrank Barknecht <fbar@users.sourceforge.net>2005-05-17 17:21:07 +0000
commit064d7ea33bdf7d4f7123544982aabf06baa2a738 (patch)
tree51e1b487f8118414c2dbb0e977646c62d1e0572b /msd2D
parent643d2ab673926b9fa4fad151aa2cbb8c9c7eb910 (diff)
msd-editor has moved to /externals/nusmik/editor.
svn path=/trunk/externals/nusmuk/; revision=3002
Diffstat (limited to 'msd2D')
-rw-r--r--msd2D/editor/16plane.txt117
-rw-r--r--msd2D/editor/MOVED1
-rw-r--r--msd2D/editor/README14
-rw-r--r--msd2D/editor/butterfly.txt52
-rw-r--r--msd2D/editor/dancer.txt54
-rw-r--r--msd2D/editor/ds-next.pd10
-rw-r--r--msd2D/editor/ds-vnext.pd10
-rw-r--r--msd2D/editor/expr_scale.pd53
-rw-r--r--msd2D/editor/gem_links.pd64
-rw-r--r--msd2D/editor/gem_masses.pd60
-rw-r--r--msd2D/editor/gem_strings.pd38
-rw-r--r--msd2D/editor/link-set.pd74
-rw-r--r--msd2D/editor/link2masses.pd32
-rw-r--r--msd2D/editor/make_circ.pd89
-rw-r--r--msd2D/editor/make_rect.pd117
-rw-r--r--msd2D/editor/mass-set.pd68
-rw-r--r--msd2D/editor/morelinks.pd192
-rw-r--r--msd2D/editor/msd-editor.pd1104
-rw-r--r--msd2D/editor/msd_append.pd211
-rw-r--r--msd2D/editor/scale-ds2msd.pd42
-rw-r--r--msd2D/editor/scale-msd2ds.pd42
-rw-r--r--msd2D/editor/sixpack.pd31
-rw-r--r--msd2D/editor/structures.pd13
23 files changed, 1 insertions, 2487 deletions
diff --git a/msd2D/editor/16plane.txt b/msd2D/editor/16plane.txt
deleted file mode 100644
index 43a53c5..0000000
--- a/msd2D/editor/16plane.txt
+++ /dev/null
@@ -1,117 +0,0 @@
-data;
-template liaison;
-float x1;
-float y1;
-float x2;
-float y2;
-float mid1;
-float mid2;
-float lid;
-float K;
-float D;
-float D2;
-;
-template mass;
-float x;
-float y;
-float mid;
-float mob;
-float M;
-;
-;
-liaison 697 489 697 539 29 35 0 10 2.5 1.5;
-liaison 697 439 697 489 23 29 0 10 2.5 1.5;
-liaison 697 389 697 439 17 23 0 10 2.5 1.5;
-liaison 697 339 697 389 11 17 0 10 2.5 1.5;
-liaison 697 289 697 339 5 11 0 10 2.5 1.5;
-liaison 647 489 647 539 28 34 0 10 2.5 1.5;
-liaison 647 439 647 489 22 28 0 10 2.5 1.5;
-liaison 647 389 647 439 16 22 0 10 2.5 1.5;
-liaison 647 339 647 389 10 16 0 10 2.5 1.5;
-liaison 647 289 647 339 4 10 0 10 2.5 1.5;
-liaison 597 489 597 539 27 33 0 10 2.5 1.5;
-liaison 597 439 597 489 21 27 0 10 2.5 1.5;
-liaison 597 389 597 439 15 21 0 10 2.5 1.5;
-liaison 597 339 597 389 9 15 0 10 2.5 1.5;
-liaison 597 289 597 339 3 9 0 10 2.5 1.5;
-liaison 547 489 547 539 26 32 0 10 2.5 1.5;
-liaison 547 439 547 489 20 26 0 10 2.5 1.5;
-liaison 547 389 547 439 14 20 0 10 2.5 1.5;
-liaison 547 339 547 389 8 14 0 10 2.5 1.5;
-liaison 547 289 547 339 2 8 0 10 2.5 1.5;
-liaison 497 489 497 539 25 31 0 10 2.5 1.5;
-liaison 497 439 497 489 19 25 0 10 2.5 1.5;
-liaison 497 389 497 439 13 19 0 10 2.5 1.5;
-liaison 497 339 497 389 7 13 0 10 2.5 1.5;
-liaison 497 289 497 339 1 7 0 10 2.5 1.5;
-liaison 447 489 447 539 24 30 0 10 2.5 1.5;
-liaison 447 439 447 489 18 24 0 10 2.5 1.5;
-liaison 447 389 447 439 12 18 0 10 2.5 1.5;
-liaison 447 339 447 389 6 12 0 10 2.5 1.5;
-liaison 447 289 447 339 0 6 0 10 2.5 1.5;
-liaison 647 539 697 539 34 35 0 10 2.5 1.5;
-liaison 597 539 647 539 33 34 0 10 2.5 1.5;
-liaison 547 539 597 539 32 33 0 10 2.5 1.5;
-liaison 497 539 547 539 31 32 0 10 2.5 1.5;
-liaison 447 539 497 539 30 31 0 10 2.5 1.5;
-liaison 647 489 697 489 28 29 0 10 2.5 1.5;
-liaison 597 489 647 489 27 28 0 10 2.5 1.5;
-liaison 547 489 597 489 26 27 0 10 2.5 1.5;
-liaison 497 489 547 489 25 26 0 10 2.5 1.5;
-liaison 447 489 497 489 24 25 0 10 2.5 1.5;
-liaison 647 439 697 439 22 23 0 10 2.5 1.5;
-liaison 597 439 647 439 21 22 0 10 2.5 1.5;
-liaison 547 439 597 439 20 21 0 10 2.5 1.5;
-liaison 497 439 547 439 19 20 0 10 2.5 1.5;
-liaison 447 439 497 439 18 19 0 10 2.5 1.5;
-liaison 647 389 697 389 16 17 0 10 2.5 1.5;
-liaison 597 389 647 389 15 16 0 10 2.5 1.5;
-liaison 547 389 597 389 14 15 0 10 2.5 1.5;
-liaison 497 389 547 389 13 14 0 10 2.5 1.5;
-liaison 447 389 497 389 12 13 0 10 2.5 1.5;
-liaison 647 339 697 339 10 11 0 10 2.5 1.5;
-liaison 597 339 647 339 9 10 0 10 2.5 1.5;
-liaison 547 339 597 339 8 9 0 10 2.5 1.5;
-liaison 497 339 547 339 7 8 0 10 2.5 1.5;
-liaison 447 339 497 339 6 7 0 10 2.5 1.5;
-liaison 647 289 697 289 4 5 0 10 2.5 1.5;
-liaison 597 289 647 289 3 4 0 10 2.5 1.5;
-liaison 547 289 597 289 2 3 0 10 2.5 1.5;
-liaison 497 289 547 289 1 2 0 10 2.5 1.5;
-liaison 447 289 497 289 0 1 0 10 2.5 1.5;
-mass 447 289 0 900 100;
-mass 447 339 6 0 100;
-mass 447 389 12 0 100;
-mass 447 439 18 0 100;
-mass 447 489 24 0 100;
-mass 447 539 30 900 100;
-mass 497 289 1 0 100;
-mass 497 339 7 0 100;
-mass 497 389 13 0 100;
-mass 497 439 19 0 100;
-mass 497 489 25 0 100;
-mass 497 539 31 0 100;
-mass 547 289 2 0 100;
-mass 547 339 8 0 100;
-mass 547 389 14 0 100;
-mass 547 439 20 0 100;
-mass 547 489 26 0 100;
-mass 547 539 32 0 100;
-mass 597 289 3 0 100;
-mass 597 339 9 0 100;
-mass 597 389 15 0 100;
-mass 597 439 21 0 100;
-mass 597 489 27 0 100;
-mass 597 539 33 0 100;
-mass 647 289 4 0 100;
-mass 647 339 10 0 100;
-mass 647 389 16 0 100;
-mass 647 439 22 0 100;
-mass 647 489 28 0 100;
-mass 647 539 34 0 100;
-mass 697 289 5 900 100;
-mass 697 339 11 0 100;
-mass 697 389 17 0 100;
-mass 697 439 23 0 100;
-mass 697 489 29 0 100;
-mass 697 539 35 900 100;
diff --git a/msd2D/editor/MOVED b/msd2D/editor/MOVED
new file mode 100644
index 0000000..75e7767
--- /dev/null
+++ b/msd2D/editor/MOVED
@@ -0,0 +1 @@
+msd-editor has moved to /externals/nusmik/editor.
diff --git a/msd2D/editor/README b/msd2D/editor/README
deleted file mode 100644
index e6253db..0000000
--- a/msd2D/editor/README
+++ /dev/null
@@ -1,14 +0,0 @@
-msd-editor
-------------
-
-patched by Frank Barknecht <fbar@footils.org> with a big hand from Nicolas
-Montgermont <montgermont@la-kitchen.fr> who wrote the msd2D and msd3D externals
-required for using this patch. GEM is used to provide an alternative
-visualization, but it is not required for the patch to work.
-
-If you want to export the messages to msd2d, that are created, you also need a
-[prepend] external, preferably the one from the Cyclone library.
-
-Thanks Nicolas for a great external colletion.
-
-msd-editor.pd is the patch to open, further documentation is inside.
diff --git a/msd2D/editor/butterfly.txt b/msd2D/editor/butterfly.txt
deleted file mode 100644
index 62b8f1e..0000000
--- a/msd2D/editor/butterfly.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-data;
-template liaison;
-float x1;
-float y1;
-float x2;
-float y2;
-float mid1;
-float mid2;
-float lid;
-;
-template mass;
-float x;
-float y;
-float mid;
-float mob;
-;
-;
-liaison 140 278 94 339 3 11 0 10 2.5 1.5;
-liaison 95 230 140 278 12 3 0 10 2.5 1.5;
-liaison 210 267 95 230 2 12 0 10 2.5 1.5;
-liaison 95 230 211 303 12 6 0 10 2.5 1.5;
-liaison 94 339 211 303 11 6 0 10 2.5 1.5;
-liaison 94 339 210 267 11 2 0 10 2.5 1.5;
-mass 95 230 12 0 100;
-mass 94 339 11 0 100;
-liaison 242 303 140 278 5 3 0 10 2.5 1.5;
-liaison 140 278 241 268 3 4 0 10 2.5 1.5;
-liaison 211 303 293 284 6 7 0 10 2.5 1.5;
-liaison 293 284 210 267 7 2 0 10 2.5 1.5;
-liaison 293 284 333 348 7 0 0 10 2.5 1.5;
-liaison 293 284 330 222 7 1 0 10 2.5 1.5;
-liaison 333 348 242 303 0 5 0 10 2.5 1.5;
-liaison 241 268 333 348 4 0 0 10 2.5 1.5;
-liaison 330 222 241 268 1 4 0 10 2.5 1.5;
-liaison 330 222 242 303 1 5 0 10 2.5 1.5;
-liaison 221 187 241 268 8 4 0 10 2.5 1.5;
-liaison 221 187 210 267 8 2 0 10 2.5 1.5;
-liaison 242 303 241 268 5 4 0 10 2.5 1.5;
-liaison 210 267 211 303 2 6 0 10 2.5 1.5;
-liaison 242 303 210 267 5 2 0 10 2.5 1.5;
-liaison 211 303 242 303 6 5 0 10 2.5 1.5;
-liaison 241 268 211 303 4 6 0 10 2.5 1.5;
-liaison 210 267 241 268 2 4 0 10 2.5 1.5;
-mass 221 187 8 900 100;
-mass 293 284 7 0 100;
-mass 211 303 6 0 100;
-mass 242 303 5 0 100;
-mass 241 268 4 0 100;
-mass 140 278 3 0 100;
-mass 210 267 2 0 100;
-mass 330 222 1 0 100;
-mass 333 348 0 0 100;
diff --git a/msd2D/editor/dancer.txt b/msd2D/editor/dancer.txt
deleted file mode 100644
index dbb9d80..0000000
--- a/msd2D/editor/dancer.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-data;
-template liaison;
-float x1;
-float y1;
-float x2;
-float y2;
-float mid1;
-float mid2;
-float lid;
-;
-template mass;
-float x;
-float y;
-float mid;
-float mob;
-;
-;
-liaison 160.067 196.866 175.068 187.056 9 6 0 10 2.5 1.5;
-liaison 122.843 187.056 137.844 196.866 5 12 0 10 2.5 1.5;
-liaison 164.966 167.633 149 100 11 0 0 10 2.5 1.5;
-liaison 149 100 133.946 167.633 0 10 1 10 2.5 1.5;
-mass 149 100 0 900 100;
-liaison 173.155 235.499 184.692 300 4 2 2 10 2.5 1.5;
-liaison 184.692 300 122.843 187.056 2 5 3 10 2.5 1.5;
-liaison 113.219 300 124.756 235.499 1 3 4 10 2.5 1.5;
-liaison 113.219 300 175.068 187.056 1 6 5 10 2.5 1.5;
-liaison 215.173 220.483 122.843 187.056 8 5 6 10 2.5 1.5;
-liaison 175.068 187.056 215.173 220.483 6 8 7 10 2.5 1.5;
-liaison 82.7376 220.483 175.068 187.056 7 6 8 10 2.5 1.5;
-liaison 122.843 187.056 82.7376 220.483 5 7 9 10 2.5 1.5;
-liaison 175.068 187.056 122.843 187.056 6 5 10 10 2.5 1.5;
-liaison 124.756 235.499 173.155 235.499 3 4 11 10 2.5 1.5;
-liaison 122.843 187.056 124.756 235.499 5 3 12 10 2.5 1.5;
-liaison 173.155 235.499 122.843 187.056 4 5 13 10 2.5 1.5;
-liaison 175.068 187.056 173.155 235.499 6 4 14 10 2.5 1.5;
-liaison 124.756 235.499 175.068 187.056 3 6 15 10 2.5 1.5;
-liaison 133.946 167.633 164.966 167.633 10 11 16 10 2.5 1.5;
-liaison 133.946 167.633 137.844 196.866 10 12 17 10 2.5 1.5;
-liaison 137.844 196.866 160.067 196.866 12 9 18 10 2.5 1.5;
-liaison 164.966 167.633 137.844 196.866 11 12 19 10 2.5 1.5;
-liaison 160.067 196.866 164.966 167.633 9 11 20 10 2.5 1.5;
-liaison 133.946 167.633 160.067 196.866 10 9 21 10 2.5 1.5;
-mass 113.219 300 1 0 100;
-mass 184.692 300 2 0 100;
-mass 124.756 235.499 3 0 100;
-mass 173.155 235.499 4 0 100;
-mass 122.843 187.056 5 0 100;
-mass 175.068 187.056 6 0 100;
-mass 82.7376 220.483 7 0 100;
-mass 215.173 220.483 8 0 100;
-mass 160.067 196.866 9 0 100;
-mass 133.946 167.633 10 0 100;
-mass 164.966 167.633 11 0 100;
-mass 137.844 196.866 12 0 100;
diff --git a/msd2D/editor/ds-next.pd b/msd2D/editor/ds-next.pd
deleted file mode 100644
index 14f9653..0000000
--- a/msd2D/editor/ds-next.pd
+++ /dev/null
@@ -1,10 +0,0 @@
-#N canvas 0 0 450 300 10;
-#X obj 138 76 inlet;
-#X obj 138 214 outlet;
-#X obj 138 111 t b;
-#X msg 138 168 next;
-#X obj 138 140 del 0;
-#X connect 0 0 2 0;
-#X connect 2 0 4 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
diff --git a/msd2D/editor/ds-vnext.pd b/msd2D/editor/ds-vnext.pd
deleted file mode 100644
index 93a9d81..0000000
--- a/msd2D/editor/ds-vnext.pd
+++ /dev/null
@@ -1,10 +0,0 @@
-#N canvas 0 0 450 300 10;
-#X obj 138 76 inlet;
-#X obj 138 214 outlet;
-#X obj 138 111 t b;
-#X msg 138 168 vnext 1;
-#X obj 138 140 del 1;
-#X connect 0 0 2 0;
-#X connect 2 0 4 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
diff --git a/msd2D/editor/expr_scale.pd b/msd2D/editor/expr_scale.pd
deleted file mode 100644
index fe55fa5..0000000
--- a/msd2D/editor/expr_scale.pd
+++ /dev/null
@@ -1,53 +0,0 @@
-#N canvas 236 224 1026 642 10;
-#X obj 166 328 expr ($f1-$f2)*($f4-$f5)/($f2-$f3)+$f4;
-#X obj 252 286 f \$1;
-#X obj 402 288 f \$4;
-#X obj 352 284 f \$3;
-#X obj 302 284 f \$2;
-#X obj 252 197 inlet;
-#X obj 302 197 inlet;
-#X obj 352 197 inlet;
-#X obj 402 197 inlet;
-#X obj 166 129 inlet;
-#X obj 166 369 outlet;
-#X text 510 173 ARGS;
-#X text 520 197 1: input_low_border;
-#X text 520 219 2: input_high_border;
-#X text 520 245 3: output_low_border;
-#X text 520 267 4: output_high_border;
-#X text 229 149 scale [from_low \, from_hi] to [to_low \, to_hi];
-#X obj 273 243 t b;
-#X obj 298 171 loadbang;
-#X obj 166 156 t f b;
-#N canvas 0 0 1090 810 once 0;
-#X obj 86 53 inlet;
-#X obj 92 185 outlet;
-#X obj 81 146 spigot 1;
-#X obj 112 91 t b a;
-#X msg 131 123 0;
-#X connect 0 0 3 0;
-#X connect 2 0 1 0;
-#X connect 3 0 4 0;
-#X connect 3 1 2 0;
-#X connect 4 0 2 1;
-#X restore 196 186 pd once;
-#X text 174 391 [pc once] is only used \, because autogenerated objects
-don't receive loadbangs;
-#X connect 0 0 10 0;
-#X connect 1 0 0 1;
-#X connect 2 0 0 4;
-#X connect 3 0 0 3;
-#X connect 4 0 0 2;
-#X connect 5 0 1 0;
-#X connect 6 0 4 0;
-#X connect 7 0 3 0;
-#X connect 8 0 2 0;
-#X connect 9 0 19 0;
-#X connect 17 0 1 0;
-#X connect 17 0 3 0;
-#X connect 17 0 4 0;
-#X connect 17 0 2 0;
-#X connect 18 0 17 0;
-#X connect 19 0 0 0;
-#X connect 19 1 20 0;
-#X connect 20 0 17 0;
diff --git a/msd2D/editor/gem_links.pd b/msd2D/editor/gem_links.pd
deleted file mode 100644
index 6c9f1b0..0000000
--- a/msd2D/editor/gem_links.pd
+++ /dev/null
@@ -1,64 +0,0 @@
-#N canvas 0 0 906 731 10;
-#X obj 141 31 inlet;
-#X obj 125 308 gemhead;
-#X obj 109 389 separator;
-#X obj 109 337 any;
-#X obj 147 166 t b f;
-#X obj 156 432 curve 2;
-#X obj 178 210 pack 0 0 0;
-#X obj 269 213 pack 0 0 0;
-#X obj 141 97 unpack 0 0 0 0 0;
-#X obj 282 324 inlet;
-#X obj 109 364 spigot;
-#X msg 281 302 1;
-#X obj 281 277 loadbang;
-#N canvas 0 0 450 300 demux 0;
-#X obj 91 69 inlet;
-#X obj 255 73 inlet;
-#X obj 223 106 select 0;
-#X obj 73 213 spigot 1;
-#X obj 165 219 spigot 0;
-#X obj 141 188 unpack 1 0;
-#X obj 96 255 outlet;
-#X obj 173 257 outlet;
-#X msg 174 140 1 0;
-#X msg 216 140 0 1;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 8 0;
-#X connect 2 1 9 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 1;
-#X connect 5 1 4 1;
-#X connect 8 0 5 0;
-#X connect 9 0 5 0;
-#X restore 141 64 pd demux;
-#X obj 192 37 r MSD-TYPE;
-#X obj 280 97 unpack 0 0 0 0 0 0 0;
-#X connect 0 0 13 0;
-#X connect 1 0 3 1;
-#X connect 2 0 5 0;
-#X connect 3 0 10 0;
-#X connect 4 0 3 0;
-#X connect 4 1 6 0;
-#X connect 6 0 5 1;
-#X connect 7 0 5 2;
-#X connect 8 1 4 0;
-#X connect 8 2 6 1;
-#X connect 8 3 7 0;
-#X connect 8 4 7 1;
-#X connect 9 0 10 1;
-#X connect 10 0 2 0;
-#X connect 11 0 10 1;
-#X connect 12 0 11 0;
-#X connect 13 0 8 0;
-#X connect 13 1 15 0;
-#X connect 14 0 13 1;
-#X connect 15 1 4 0;
-#X connect 15 2 6 1;
-#X connect 15 3 6 2;
-#X connect 15 4 7 0;
-#X connect 15 5 7 1;
-#X connect 15 6 7 2;
diff --git a/msd2D/editor/gem_masses.pd b/msd2D/editor/gem_masses.pd
deleted file mode 100644
index aab3547..0000000
--- a/msd2D/editor/gem_masses.pd
+++ /dev/null
@@ -1,60 +0,0 @@
-#N canvas 308 314 667 612 10;
-#X obj 141 31 inlet;
-#X obj 150 424 translateXYZ;
-#X obj 107 205 gemhead;
-#X obj 150 393 separator;
-#X obj 150 298 any;
-#X obj 166 162 t b f;
-#X msg 47 325 draw line;
-#X obj 48 300 loadbang;
-#X obj 141 104 unpack 0 0 0;
-#X obj 338 297 inlet;
-#X obj 150 362 spigot;
-#X msg 337 275 1;
-#X obj 337 250 loadbang;
-#N canvas 0 0 450 300 demux 0;
-#X obj 91 69 inlet;
-#X obj 255 73 inlet;
-#X obj 223 106 select 0;
-#X obj 73 213 spigot 1;
-#X obj 165 219 spigot 0;
-#X obj 141 188 unpack 1 0;
-#X obj 96 255 outlet;
-#X obj 173 257 outlet;
-#X msg 174 140 1 0;
-#X msg 216 140 0 1;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 8 0;
-#X connect 2 1 9 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 1;
-#X connect 5 1 4 1;
-#X connect 8 0 5 0;
-#X connect 9 0 5 0;
-#X restore 141 71 pd demux;
-#X obj 192 44 r MSD-TYPE;
-#X obj 238 104 unpack 0 0 0 0;
-#X obj 150 453 sphere 0.05;
-#X connect 0 0 13 0;
-#X connect 1 0 16 0;
-#X connect 2 0 4 1;
-#X connect 3 0 1 0;
-#X connect 4 0 10 0;
-#X connect 5 0 4 0;
-#X connect 5 1 1 1;
-#X connect 7 0 6 0;
-#X connect 8 1 5 0;
-#X connect 8 2 1 2;
-#X connect 9 0 10 1;
-#X connect 10 0 3 0;
-#X connect 11 0 10 1;
-#X connect 12 0 11 0;
-#X connect 13 0 8 0;
-#X connect 13 1 15 0;
-#X connect 14 0 13 1;
-#X connect 15 1 5 0;
-#X connect 15 2 1 2;
-#X connect 15 3 1 3;
diff --git a/msd2D/editor/gem_strings.pd b/msd2D/editor/gem_strings.pd
deleted file mode 100644
index bc9dab3..0000000
--- a/msd2D/editor/gem_strings.pd
+++ /dev/null
@@ -1,38 +0,0 @@
-#N canvas 0 0 906 731 10;
-#X obj 141 31 inlet;
-#X obj 125 308 gemhead;
-#X obj 109 369 separator;
-#X obj 109 337 any;
-#X obj 147 166 t b f;
-#X obj 229 116 - 250;
-#X obj 147 110 - 250;
-#X obj 147 140 / 100;
-#X obj 229 143 / -100;
-#X obj 352 114 - 250;
-#X obj 287 116 - 250;
-#X obj 287 151 / 100;
-#X obj 352 143 / -100;
-#X obj 156 432 curve 2;
-#X obj 178 210 pack 0 0 0;
-#X obj 255 189 pack 0 0 0;
-#X obj 141 62 unpack 0 0 0 0 0;
-#X connect 0 0 16 0;
-#X connect 1 0 3 1;
-#X connect 2 0 13 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 4 1 14 0;
-#X connect 5 0 8 0;
-#X connect 6 0 7 0;
-#X connect 7 0 4 0;
-#X connect 8 0 14 1;
-#X connect 9 0 12 0;
-#X connect 10 0 11 0;
-#X connect 11 0 15 0;
-#X connect 12 0 15 1;
-#X connect 14 0 13 1;
-#X connect 15 0 13 2;
-#X connect 16 1 6 0;
-#X connect 16 2 5 0;
-#X connect 16 3 10 0;
-#X connect 16 4 9 0;
diff --git a/msd2D/editor/link-set.pd b/msd2D/editor/link-set.pd
deleted file mode 100644
index ec9edda..0000000
--- a/msd2D/editor/link-set.pd
+++ /dev/null
@@ -1,74 +0,0 @@
-#N canvas 449 81 747 726 10;
-#X obj 251 159 pack 0 p;
-#X obj 251 187 route \$1;
-#X obj 251 100 t p p;
-#X obj 90 229 spigot;
-#X msg 132 203 1;
-#X obj 216 212 t b p;
-#X obj 90 257 route \$1;
-#X obj 147 227 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X obj 90 165 r linkspositions;
-#X text 81 137 lid \, x1 \, y1 \, x2 \, y2;
-#X obj 251 131 get liaison lid;
-#X text 261 220 Select pointer with lid matching \$1;
-#X obj 90 526 set liaison x1 y1 x2 y2;
-#X obj 251 73 r myliapointer;
-#X obj 90 337 unpack 0 0 0 0;
-#X obj 90 497 scale-msd2ds;
-#X obj 181 496 scale-msd2ds;
-#N canvas 0 0 450 300 demux 0;
-#X obj 91 69 inlet;
-#X obj 255 73 inlet;
-#X obj 223 106 select 0;
-#X obj 73 213 spigot 1;
-#X obj 165 219 spigot 0;
-#X obj 141 188 unpack 1 0;
-#X obj 96 255 outlet;
-#X obj 173 257 outlet;
-#X msg 174 140 1 0;
-#X msg 216 140 0 1;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 8 0;
-#X connect 2 1 9 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 1;
-#X connect 5 1 4 1;
-#X connect 8 0 5 0;
-#X connect 9 0 5 0;
-#X restore 90 292 pd demux;
-#X obj 272 340 unpack 0 0 0 0 0 0;
-#X text 198 336 msd2D;
-#X text 410 338 msd3D: skip Z;
-#X obj 157 255 r MSD-TYPE;
-#X connect 0 0 1 0;
-#X connect 1 0 5 0;
-#X connect 2 0 10 0;
-#X connect 2 1 0 1;
-#X connect 3 0 6 0;
-#X connect 4 0 3 1;
-#X connect 4 0 7 0;
-#X connect 5 0 4 0;
-#X connect 5 1 12 4;
-#X connect 6 0 17 0;
-#X connect 8 0 3 0;
-#X connect 10 0 0 0;
-#X connect 13 0 2 0;
-#X connect 14 0 15 0;
-#X connect 14 1 15 1;
-#X connect 14 2 16 0;
-#X connect 14 3 16 1;
-#X connect 15 0 12 0;
-#X connect 15 1 12 1;
-#X connect 16 0 12 2;
-#X connect 16 1 12 3;
-#X connect 17 0 14 0;
-#X connect 17 1 18 0;
-#X connect 18 0 15 0;
-#X connect 18 1 15 1;
-#X connect 18 3 16 0;
-#X connect 18 4 16 1;
-#X connect 21 0 17 1;
diff --git a/msd2D/editor/link2masses.pd b/msd2D/editor/link2masses.pd
deleted file mode 100644
index 157ea8b..0000000
--- a/msd2D/editor/link2masses.pd
+++ /dev/null
@@ -1,32 +0,0 @@
-#N canvas 567 387 568 421 10;
-#X obj 42 51 inlet;
-#X obj 42 83 t a b;
-#X obj 259 221 append liaison mid1 x1 y1;
-#X obj 429 198 pointer;
-#X msg 429 169 traverse pd-data \, bang;
-#X obj 42 118 unpack p p;
-#X obj 259 170 get mass mid x y;
-#X obj 42 177 get mass mid x y;
-#X text 199 24 Link two masses with a link in [pd data];
-#X obj 178 55 inlet;
-#X obj 178 89 unpack 0 0 0;
-#X obj 42 249 set liaison mid2 x2 y2 K D D2;
-#X text 227 54 List: K \, D \, D2;
-#X connect 0 0 1 0;
-#X connect 1 0 5 0;
-#X connect 1 1 4 0;
-#X connect 2 0 11 6;
-#X connect 3 0 2 3;
-#X connect 4 0 3 0;
-#X connect 5 0 7 0;
-#X connect 5 1 6 0;
-#X connect 6 0 2 0;
-#X connect 6 1 2 1;
-#X connect 6 2 2 2;
-#X connect 7 0 11 0;
-#X connect 7 1 11 1;
-#X connect 7 2 11 2;
-#X connect 9 0 10 0;
-#X connect 10 0 11 3;
-#X connect 10 1 11 4;
-#X connect 10 2 11 5;
diff --git a/msd2D/editor/make_circ.pd b/msd2D/editor/make_circ.pd
deleted file mode 100644
index 839f493..0000000
--- a/msd2D/editor/make_circ.pd
+++ /dev/null
@@ -1,89 +0,0 @@
-#N canvas 496 414 573 483 10;
-#X obj 79 355 pack 0 0;
-#X obj 79 388 outlet;
-#X obj 235 67 unpack 0 0 0 0;
-#X obj 235 233 s \$0-x0;
-#X obj 274 205 s \$0-y0;
-#X obj 312 173 s \$0-radius;
-#X obj 352 150 s \$0-masses;
-#X obj 235 43 inlet;
-#X obj 79 34 inlet;
-#X obj 130 332 + 0;
-#X obj 149 304 r \$0-y0;
-#X obj 79 330 + 0;
-#X obj 95 304 r \$0-x0;
-#N canvas 484 634 450 300 1028-turnme 0;
-#X obj 119 48 inlet;
-#X obj 119 243 outlet;
-#X obj 135 77 r \$0-masses;
-#X obj 254 169 r \$0-radius;
-#X obj 119 195 expr $f2 * sin($f1) \; $f2 * cos($f1);
-#X obj 119 102 / 1;
-#X obj 254 242 outlet;
-#X obj 119 134 * 6.28319;
-#X text 192 132 2 * M_PI;
-#X connect 0 0 5 0;
-#X connect 2 0 5 1;
-#X connect 3 0 4 1;
-#X connect 4 0 1 0;
-#X connect 4 1 6 0;
-#X connect 5 0 7 0;
-#X connect 7 0 4 0;
-#X restore 79 122 pd \$0-turnme;
-#N canvas 0 0 723 519 1028-count 0;
-#X text 294 126 count y;
-#N canvas 0 0 450 300 1028-count 0;
-#X obj 112 28 inlet;
-#X obj 116 96 f 0;
-#X obj 156 98 + 1;
-#X obj 178 52 inlet;
-#X msg 175 73 0;
-#X obj 118 122 outlet;
-#X obj 112 66 until;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 1 0 5 0;
-#X connect 2 0 1 1;
-#X connect 3 0 4 0;
-#X connect 4 0 1 1;
-#X connect 6 0 1 0;
-#X restore 237 228 pd \$0-count;
-#X obj 237 103 inlet;
-#X obj 237 371 outlet;
-#X obj 237 130 t b b;
-#X obj 262 176 r \$0-masses;
-#X obj 237 197 f 1;
-#X connect 1 0 3 0;
-#X connect 2 0 4 0;
-#X connect 4 0 6 0;
-#X connect 4 1 1 1;
-#X connect 5 0 6 1;
-#X connect 6 0 1 0;
-#X restore 79 80 pd \$0-count;
-#X obj 235 125 f \$1;
-#X obj 274 124 f \$2;
-#X obj 312 124 f \$3;
-#X obj 352 124 f \$4;
-#X obj 352 67 loadbang;
-#X connect 0 0 1 0;
-#X connect 2 0 15 0;
-#X connect 2 1 16 0;
-#X connect 2 2 17 0;
-#X connect 2 3 18 0;
-#X connect 7 0 2 0;
-#X connect 8 0 14 0;
-#X connect 9 0 0 1;
-#X connect 10 0 9 1;
-#X connect 11 0 0 0;
-#X connect 12 0 11 1;
-#X connect 13 0 11 0;
-#X connect 13 1 9 0;
-#X connect 14 0 13 0;
-#X connect 15 0 3 0;
-#X connect 16 0 4 0;
-#X connect 17 0 5 0;
-#X connect 18 0 6 0;
-#X connect 19 0 18 0;
-#X connect 19 0 17 0;
-#X connect 19 0 16 0;
-#X connect 19 0 15 0;
diff --git a/msd2D/editor/make_rect.pd b/msd2D/editor/make_rect.pd
deleted file mode 100644
index 57bc285..0000000
--- a/msd2D/editor/make_rect.pd
+++ /dev/null
@@ -1,117 +0,0 @@
-#N canvas 253 193 699 400 10;
-#X obj 77 53 inlet;
-#X obj 298 50 inlet;
-#X obj 298 77 unpack 0 0 0 0 0 0;
-#X obj 259 123 f \$1;
-#X obj 298 122 f \$2;
-#X obj 336 122 f \$3;
-#X obj 376 122 f \$4;
-#X obj 412 122 f \$5;
-#X obj 259 260 s \$0-x0;
-#X obj 448 122 f \$6;
-#X obj 298 239 s \$0-y0;
-#X obj 336 206 s \$0-xgap;
-#X obj 412 164 s \$0-xsteps;
-#X obj 448 143 s \$0-ysteps;
-#X obj 376 185 s \$0-ygap;
-#X obj 77 226 pack 0 0;
-#X obj 77 260 outlet;
-#X obj 77 129 t b f;
-#N canvas 0 0 490 471 1002-countx 0;
-#X obj 149 231 r \$0-x0;
-#X obj 126 258 + \$1;
-#X obj 126 200 * \$3;
-#X obj 149 171 r \$0-xgap;
-#X obj 126 115 f \$5;
-#X obj 149 92 r \$0-xsteps;
-#X text 194 49 count x;
-#X obj 126 23 inlet;
-#N canvas 0 0 450 300 1002-count 0;
-#X obj 112 28 inlet;
-#X obj 116 96 f 0;
-#X obj 156 98 + 1;
-#X obj 178 52 inlet;
-#X msg 175 73 0;
-#X obj 118 122 outlet;
-#X obj 112 66 until;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 1 0 5 0;
-#X connect 2 0 1 1;
-#X connect 3 0 4 0;
-#X connect 4 0 1 1;
-#X connect 6 0 1 0;
-#X restore 126 146 pd \$0-count;
-#X obj 126 284 outlet;
-#X obj 126 48 t b b;
-#X connect 0 0 1 1;
-#X connect 1 0 9 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 1;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 7 0 10 0;
-#X connect 8 0 2 0;
-#X connect 10 0 4 0;
-#X connect 10 1 8 1;
-#X restore 77 172 pd \$0-countx;
-#N canvas 0 0 723 519 1002-county 0;
-#X obj 260 174 r \$0-ysteps;
-#X obj 260 253 r \$0-ygap;
-#X obj 260 313 r \$0-y0;
-#X obj 237 340 + \$2;
-#X obj 237 282 * \$4;
-#X obj 237 197 f \$6;
-#X text 294 126 count y;
-#N canvas 0 0 450 300 1002-count 0;
-#X obj 112 28 inlet;
-#X obj 116 96 f 0;
-#X obj 156 98 + 1;
-#X obj 178 52 inlet;
-#X msg 175 73 0;
-#X obj 118 122 outlet;
-#X obj 112 66 until;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 1 0 5 0;
-#X connect 2 0 1 1;
-#X connect 3 0 4 0;
-#X connect 4 0 1 1;
-#X connect 6 0 1 0;
-#X restore 237 228 pd \$0-count;
-#X obj 237 103 inlet;
-#X obj 237 371 outlet;
-#X obj 237 130 t b b;
-#X connect 0 0 5 1;
-#X connect 1 0 4 1;
-#X connect 2 0 3 1;
-#X connect 3 0 9 0;
-#X connect 4 0 3 0;
-#X connect 5 0 7 0;
-#X connect 7 0 4 0;
-#X connect 8 0 10 0;
-#X connect 10 0 5 0;
-#X connect 10 1 7 1;
-#X restore 77 100 pd \$0-county;
-#X obj 77 76 t b;
-#X text 452 208 Args;
-#X connect 0 0 20 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 2 2 5 0;
-#X connect 2 3 6 0;
-#X connect 2 4 7 0;
-#X connect 2 5 9 0;
-#X connect 3 0 8 0;
-#X connect 4 0 10 0;
-#X connect 5 0 11 0;
-#X connect 6 0 14 0;
-#X connect 7 0 12 0;
-#X connect 9 0 13 0;
-#X connect 15 0 16 0;
-#X connect 17 0 18 0;
-#X connect 17 1 15 1;
-#X connect 18 0 15 0;
-#X connect 19 0 17 0;
-#X connect 20 0 19 0;
diff --git a/msd2D/editor/mass-set.pd b/msd2D/editor/mass-set.pd
deleted file mode 100644
index 1c53605..0000000
--- a/msd2D/editor/mass-set.pd
+++ /dev/null
@@ -1,68 +0,0 @@
-#N canvas 471 153 686 707 10;
-#X obj 251 159 pack 0 p;
-#X obj 251 187 route \$1;
-#X obj 118 383 set mass x y;
-#X obj 251 100 t p p;
-#X obj 251 131 get mass mid;
-#X text 261 220 Select pointer with mid matching \$1;
-#X obj 91 229 spigot;
-#X msg 133 203 1;
-#X obj 216 212 t b p;
-#X obj 91 165 r masspositions;
-#X text 94 145 mid \, x \, y;
-#X obj 91 291 route \$1;
-#X obj 148 227 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X obj 251 73 r mypointer;
-#X obj 263 348 pointer;
-#X obj 307 651 s pointer2msd;
-#X obj 91 261 t b a;
-#X obj 263 320 spigot;
-#X msg 305 294 1;
-#X obj 320 318 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X obj 263 274 r pollpos;
-#X obj 263 453 pack 0 0 0 0;
-#X obj 263 397 get mass mob mid x y;
-#X obj 263 478 route 0;
-#X text 320 478 = is a mobile mass \, don't set positions for these
-;
-#X msg 307 536 posX \$2 \$3;
-#X msg 327 562 posY \$2 \$4;
-#X obj 39 355 scale-msd2ds;
-#X obj 337 422 scale-ds2msd;
-#X msg 95 323 \$1 \$2;
-#X connect 0 0 1 0;
-#X connect 1 0 8 0;
-#X connect 3 0 4 0;
-#X connect 3 1 0 1;
-#X connect 4 0 0 0;
-#X connect 6 0 16 0;
-#X connect 7 0 6 1;
-#X connect 7 0 12 0;
-#X connect 8 0 7 0;
-#X connect 8 0 18 0;
-#X connect 8 1 2 2;
-#X connect 8 1 14 1;
-#X connect 9 0 6 0;
-#X connect 11 0 29 0;
-#X connect 13 0 3 0;
-#X connect 14 0 22 0;
-#X connect 16 1 11 0;
-#X connect 17 0 14 0;
-#X connect 18 0 17 1;
-#X connect 18 0 19 0;
-#X connect 20 0 17 0;
-#X connect 21 0 23 0;
-#X connect 22 0 21 0;
-#X connect 22 1 21 1;
-#X connect 22 2 28 0;
-#X connect 22 3 28 1;
-#X connect 23 1 25 0;
-#X connect 23 1 26 0;
-#X connect 25 0 15 0;
-#X connect 26 0 15 0;
-#X connect 27 2 2 0;
-#X connect 28 0 21 2;
-#X connect 28 1 21 3;
-#X connect 29 0 27 2;
diff --git a/msd2D/editor/morelinks.pd b/msd2D/editor/morelinks.pd
deleted file mode 100644
index 1362f29..0000000
--- a/msd2D/editor/morelinks.pd
+++ /dev/null
@@ -1,192 +0,0 @@
-#N canvas 225 469 135 183 10;
-#N canvas 375 417 614 523 left-right-links 0;
-#X obj 192 225 pointer mass;
-#X obj 184 423 pack p p;
-#X msg 192 193 traverse pd-data \, vnext 1;
-#X obj 191 150 inlet;
-#X text 115 56 m1 ---> m2 ---> m3 ---> m4;
-#X obj 393 207 s pd-data;
-#X msg 393 186 sort;
-#X text 111 18 This will walk through the selected masses from left
-to right and create links between two neighbor masses like:;
-#X text 113 90 Great for connecting "strings".;
-#X text 427 186 first sort left to right;
-#X obj 192 169 t b b b;
-#X obj 192 248 t b b p;
-#X obj 239 148 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 236 320 t p p;
-#X msg 294 320 0;
-#X obj 184 385 spigot;
-#X msg 206 321 1;
-#X text 258 384 Skip the first mass;
-#X obj 184 454 link2masses;
-#X obj 256 416 r \$0-link-param;
-#X obj 113 225 ds-vnext;
-#X connect 0 0 11 0;
-#X connect 0 1 20 0;
-#X connect 1 0 18 0;
-#X connect 2 0 0 0;
-#X connect 3 0 10 0;
-#X connect 6 0 5 0;
-#X connect 10 0 2 0;
-#X connect 10 1 14 0;
-#X connect 10 2 6 0;
-#X connect 11 0 20 0;
-#X connect 11 1 16 0;
-#X connect 11 2 13 0;
-#X connect 12 0 10 0;
-#X connect 13 0 1 1;
-#X connect 13 1 15 0;
-#X connect 14 0 15 1;
-#X connect 15 0 1 0;
-#X connect 16 0 15 1;
-#X connect 19 0 18 1;
-#X connect 20 0 0 0;
-#X restore 141 68 pd left-right-links;
-#X obj 2 19 cnv 15 130 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 10 53 bng 15 250 50 0 empty empty left-to-right 20 8 0 8 -241291
--1 -1;
-#N canvas 487 247 771 749 one-to-many 0;
-#X obj 203 173 pointer mass;
-#X obj 182 442 pack p p;
-#X msg 203 141 traverse pd-data \, vnext 1;
-#X obj 132 337 t b p;
-#X obj 69 120 inlet;
-#X obj 135 310 pointer mass;
-#X obj 203 196 t b p;
-#X obj 69 178 t b b;
-#X msg 135 242 traverse pd-data;
-#X obj 274 378 outlet;
-#X msg 274 325 label one2many-Start;
-#X msg 281 351 label one2many-Ends;
-#X obj 69 146 select 0 1;
-#X obj 182 473 link2masses;
-#X obj 254 440 r \$0-link-param;
-#X obj 69 281 ds-vnext;
-#X connect 0 0 6 0;
-#X connect 1 0 13 0;
-#X connect 2 0 0 0;
-#X connect 3 0 15 0;
-#X connect 3 1 1 0;
-#X connect 4 0 12 0;
-#X connect 5 0 3 0;
-#X connect 5 1 15 0;
-#X connect 5 2 10 0;
-#X connect 6 0 11 0;
-#X connect 6 1 1 1;
-#X connect 7 0 15 0;
-#X connect 7 1 8 0;
-#X connect 8 0 5 0;
-#X connect 10 0 9 0;
-#X connect 11 0 9 0;
-#X connect 12 0 7 0;
-#X connect 12 1 2 0;
-#X connect 14 0 13 1;
-#X connect 15 0 5 0;
-#X restore 143 95 pd one-to-many;
-#X obj 10 76 tgl 15 0 empty empty one2many-Start 20 8 0 8 -262131 -1
--1 0 1;
-#X obj 10 31 bng 15 250 50 0 empty empty all_selected 20 8 0 8 -241291
--1 -1;
-#X obj 109 30 tgl 15 0 empty empty Keys -3 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 211 6 keyup;
-#X obj 211 27 spigot;
-#X obj 2 101 cnv 15 130 80 empty empty Link_Params 10 10 0 10 -195568
--1 0;
-#X obj 44 121 nbx 5 14 -1e+37 1e+37 0 0 \$0-K \$0-K K -12 8 0 10 -225271
--1 -1 10 256;
-#X obj 44 156 nbx 5 14 -1e+37 1e+37 0 0 \$0-D2 \$0-D2 D2 -22 8 0 10
--225271 -1 -1 1.5 256;
-#X obj 44 138 nbx 5 14 -1e+37 1e+37 0 0 \$0-D \$0-D D -12 8 0 10 -225271
--1 -1 2.5 256;
-#N canvas 374 319 630 363 linkparam 0;
-#X obj 40 195 s \$0-link-param;
-#X obj 40 162 pack 0 0 0;
-#X obj 50 128 t b f;
-#X obj 93 130 t b f;
-#X obj 40 51 r \$0-K;
-#X obj 50 80 r \$0-D;
-#X obj 93 104 r \$0-D2;
-#X obj 240 240 s \$0-K;
-#X obj 320 233 s \$0-D;
-#X obj 402 236 s \$0-D2;
-#X obj 240 147 f \$1;
-#X obj 320 157 f \$2;
-#X obj 402 156 f \$3;
-#X obj 240 178 select 0;
-#X msg 240 204 10;
-#X obj 320 181 select 0;
-#X obj 402 177 select 0;
-#X msg 320 207 2.5;
-#X msg 402 203 1.5;
-#X obj 300 97 loadbang;
-#X text 295 75 Init;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 2 1 1 1;
-#X connect 3 0 1 0;
-#X connect 3 1 1 2;
-#X connect 4 0 1 0;
-#X connect 5 0 2 0;
-#X connect 6 0 3 0;
-#X connect 10 0 13 0;
-#X connect 11 0 15 0;
-#X connect 12 0 16 0;
-#X connect 13 0 14 0;
-#X connect 13 1 7 0;
-#X connect 14 0 7 0;
-#X connect 15 0 17 0;
-#X connect 15 1 8 0;
-#X connect 16 0 18 0;
-#X connect 16 1 9 0;
-#X connect 17 0 8 0;
-#X connect 18 0 9 0;
-#X connect 19 0 10 0;
-#X connect 19 0 11 0;
-#X connect 19 0 12 0;
-#X restore 145 127 pd linkparam;
-#N canvas 0 0 483 507 ilinker 0;
-#X obj 195 306 pointer mass;
-#X obj 197 167 pointer mass;
-#X obj 197 190 t b p;
-#X obj 177 418 link2masses;
-#X obj 177 387 pack p p;
-#X msg 197 135 traverse pd-data \, vnext 1;
-#X obj 147 330 t b p;
-#X obj 197 106 inlet;
-#X text 111 48 This will create all possible links between all selected
-masses like iLink.;
-#X obj 249 386 r \$0-link-param;
-#X obj 274 214 ds-vnext;
-#X obj 147 257 ds-vnext;
-#X connect 0 0 6 0;
-#X connect 0 1 11 0;
-#X connect 0 2 10 0;
-#X connect 1 0 2 0;
-#X connect 1 1 10 0;
-#X connect 2 0 11 0;
-#X connect 2 1 4 1;
-#X connect 2 1 0 1;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X connect 6 0 11 0;
-#X connect 6 1 4 0;
-#X connect 7 0 5 0;
-#X connect 9 0 3 1;
-#X connect 10 0 1 0;
-#X connect 11 0 0 0;
-#X restore 137 46 pd ilinker;
-#X obj 210 47 select 108 114;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 5 0 14 0;
-#X connect 6 0 8 1;
-#X connect 7 0 8 0;
-#X connect 8 0 15 0;
-#X connect 15 0 14 0;
-#X connect 15 1 0 0;
-#X coords 0 0 1 1 132 180 1;
diff --git a/msd2D/editor/msd-editor.pd b/msd2D/editor/msd-editor.pd
deleted file mode 100644
index be320a1..0000000
--- a/msd2D/editor/msd-editor.pd
+++ /dev/null
@@ -1,1104 +0,0 @@
-#N canvas 32 40 419 640 10;
-#X obj 9 50 cnv 15 400 200 empty empty EDIT 20 12 1 14 -233017 -66577
-0;
-#X obj 9 256 cnv 15 400 60 empty empty CREATE 20 12 1 14 -195568 -66577
-0;
-#X obj 10 321 cnv 15 400 140 empty empty CONTROL 20 12 1 14 -233017
--66577 0;
-#N canvas 0 64 1222 870 data 0;
-#X restore 21 191 pd data;
-#X obj 21 219 structures;
-#X obj 221 276 bng 24 250 50 0 \$0-generate \$0-generate generate 0
--6 0 8 -24198 -1 -1;
-#N canvas 257 131 781 748 generator 0;
-#N canvas 311 93 877 551 getter 0;
-#X obj 244 89 inlet;
-#X obj 330 145 outlet;
-#X text 91 57 First build masses \, then links!!;
-#X obj 234 285 outlet;
-#N canvas 629 18 551 784 fix-mass-ids 0;
-#X obj 43 72 t b b b b b b b;
-#X msg 79 168 traverse pd-data \, next;
-#X obj 79 200 pointer mass;
-#X obj 143 103 s \$0-reset-counter;
-#N canvas 331 520 708 349 counter 0;
-#X obj 156 125 f 0;
-#X msg 172 102 0;
-#X obj 172 74 r \$0-reset-counter;
-#X obj 188 125 + 1;
-#X obj 156 179 outlet;
-#X obj 156 50 inlet;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 0 1;
-#X connect 2 0 1 0;
-#X connect 3 0 0 1;
-#X connect 5 0 0 0;
-#X restore 96 298 pd counter;
-#X obj 96 396 set mass mid;
-#X text 176 200 At end: fix links!;
-#X obj 186 300 get mass mid;
-#X obj 79 247 t b b b b p p;
-#X obj 211 375 pack 0 0;
-#X obj 211 404 tabwrite \$0-mid2msdid;
-#X text 125 434 Store a mapping mid => msdid for fixing links later
-;
-#X obj 43 24 inlet;
-#X obj 158 221 outlet;
-#X text 96 52 Avoid stack overflow lops;
-#X obj 85 23 r \$0-stack-delay;
-#X obj 16 228 ds-next;
-#X obj 43 51 del 0;
-#X connect 0 5 1 0;
-#X connect 0 6 3 0;
-#X connect 1 0 2 0;
-#X connect 2 0 8 0;
-#X connect 2 1 16 0;
-#X connect 2 2 13 0;
-#X connect 4 0 9 0;
-#X connect 4 0 5 0;
-#X connect 7 0 9 1;
-#X connect 8 0 16 0;
-#X connect 8 1 4 0;
-#X connect 8 4 7 0;
-#X connect 8 5 5 1;
-#X connect 9 0 10 0;
-#X connect 12 0 17 0;
-#X connect 15 0 17 1;
-#X connect 16 0 2 0;
-#X connect 17 0 0 0;
-#X restore 244 173 pd fix-mass-ids;
-#N canvas 403 15 685 826 fix-links 0;
-#X obj 139 158 t b b b b b b b;
-#X msg 175 254 traverse pd-data \, next;
-#X obj 239 189 s \$0-reset-counter;
-#X obj 175 284 pointer liaison;
-#X text 293 285 At end: make links in msd*!;
-#X obj 192 420 tabread \$0-mid2msdid;
-#X obj 192 482 set liaison mid1 mid2;
-#X obj 343 418 tabread \$0-mid2msdid;
-#X obj 192 389 get liaison mid1 mid2;
-#X obj 175 333 t b b b b p p;
-#X obj 139 70 inlet;
-#X obj 275 312 outlet;
-#X text 192 106 Avoid stack overflow lops;
-#X obj 188 68 r \$0-stack-delay;
-#X obj 113 282 ds-next;
-#X obj 139 105 del 0;
-#X connect 0 5 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 9 0;
-#X connect 3 1 14 0;
-#X connect 3 2 11 0;
-#X connect 5 0 6 0;
-#X connect 7 0 6 1;
-#X connect 8 0 5 0;
-#X connect 8 1 7 0;
-#X connect 9 0 14 0;
-#X connect 9 4 8 0;
-#X connect 9 5 6 2;
-#X connect 10 0 15 0;
-#X connect 13 0 15 1;
-#X connect 14 0 3 0;
-#X connect 15 0 0 0;
-#X restore 244 196 pd fix-links;
-#N canvas 236 8 602 856 get-masses 0;
-#X obj 148 80 t b b b b b b b;
-#X msg 184 176 traverse pd-data \, next;
-#X obj 184 206 pointer mass;
-#X obj 325 385 select 0;
-#X msg 365 410 0;
-#X msg 324 409 1;
-#X obj 248 111 s \$0-reset-counter;
-#X msg 248 131 const 0;
-#X obj 248 152 s \$0-mid;
-#X obj 310 152 s \$0-msdid;
-#X text 44 397 At end: start 2nd pass;
-#X obj 148 31 inlet;
-#X obj 214 494 outlet;
-#X obj 81 435 outlet;
-#X obj 214 362 get mass x y mid mob M;
-#X obj 214 444 pack 0 0 0 0 0;
-#X obj 184 255 t b p;
-#X obj 214 402 scale-ds2msd;
-#X obj 120 251 ds-next;
-#X connect 0 5 1 0;
-#X connect 0 6 6 0;
-#X connect 0 6 7 0;
-#X connect 1 0 2 0;
-#X connect 2 0 16 0;
-#X connect 2 1 18 0;
-#X connect 2 2 13 0;
-#X connect 3 0 5 0;
-#X connect 3 1 4 0;
-#X connect 4 0 15 3;
-#X connect 5 0 15 3;
-#X connect 7 0 8 0;
-#X connect 7 0 9 0;
-#X connect 11 0 0 0;
-#X connect 14 0 17 0;
-#X connect 14 1 17 1;
-#X connect 14 2 15 2;
-#X connect 14 3 3 0;
-#X connect 14 4 15 4;
-#X connect 15 0 12 0;
-#X connect 16 0 18 0;
-#X connect 16 1 14 0;
-#X connect 17 0 15 0;
-#X connect 17 1 15 1;
-#X connect 18 0 2 0;
-#X restore 244 115 pd get-masses;
-#N canvas 0 0 768 708 make-links 0;
-#X obj 316 252 pointer liaison;
-#X msg 354 227 traverse pd-data \, bang;
-#X obj 286 274 t b p;
-#X obj 334 374 outlet;
-#X obj 354 170 inlet;
-#X obj 192 389 outlet;
-#X text 142 412 Now set lid field of links.;
-#X obj 316 298 get liaison mid1 mid2 K D D2;
-#X obj 334 341 pack 0 0 0 0 0;
-#X text 407 200 Avoid stack overflow lops;
-#X obj 399 167 r \$0-stack-delay;
-#X obj 286 226 ds-next;
-#X obj 354 201 del 0;
-#X connect 0 0 2 0;
-#X connect 0 1 11 0;
-#X connect 0 2 5 0;
-#X connect 1 0 0 0;
-#X connect 2 0 11 0;
-#X connect 2 1 7 0;
-#X connect 4 0 12 0;
-#X connect 7 0 8 0;
-#X connect 7 1 8 1;
-#X connect 7 2 8 2;
-#X connect 7 3 8 3;
-#X connect 7 4 8 4;
-#X connect 8 0 3 0;
-#X connect 10 0 12 1;
-#X connect 11 0 0 0;
-#X connect 12 0 1 0;
-#X restore 148 257 pd make-links;
-#X text 284 418 TABLES USED:;
-#X text 364 174 Change DS mass ids to match msdIds \, store mid2msdid
-mapping;
-#X text 366 196 Fix mid1 and mid2 in links to match what msd2D thinks
-is right.;
-#X text 257 258 Create messages to msd2D to create links;
-#N canvas 209 87 622 579 set-lid 0;
-#X obj 162 163 r \$0-msd-attr;
-#X obj 288 201 s \$0-msd;
-#X obj 162 203 spigot;
-#X msg 292 129 1;
-#X msg 236 127 0;
-#X obj 238 22 inlet;
-#X obj 238 93 t b b b b b;
-#X obj 310 307 pointer liaison;
-#X msg 310 281 traverse pd-data \, next;
-#X msg 288 163 infosL;
-#X obj 162 231 route Link;
-#X obj 145 254 t b a;
-#X text 105 394 This will move around the links \, but it's not critical
-as long as we have the same number of graphical links as we have inside
-the msd2D object. And we'd better damn sure should have the same amount
-\, otherwise somethings went really \, really wrong and took a bad
-turn and crashed the car and left the toilet seat open.;
-#X text 104 481 Shouldn't happen.;
-#X msg 175 332 \$1 \$3 \$4 \$5 \$6 \$7;
-#X obj 175 357 set liaison lid mid1 mid2 K D D2;
-#X text 291 52 Avoid stack overflow lops;
-#X obj 287 21 r \$0-stack-delay;
-#X obj 219 307 ds-next;
-#X msg 260 281 next;
-#X obj 238 51 del 0;
-#X connect 0 0 2 0;
-#X connect 2 0 10 0;
-#X connect 3 0 2 1;
-#X connect 4 0 2 1;
-#X connect 5 0 20 0;
-#X connect 6 1 4 0;
-#X connect 6 2 9 0;
-#X connect 6 3 3 0;
-#X connect 6 4 8 0;
-#X connect 7 0 15 6;
-#X connect 7 1 19 0;
-#X connect 8 0 7 0;
-#X connect 9 0 1 0;
-#X connect 10 0 11 0;
-#X connect 11 0 19 0;
-#X connect 11 1 14 0;
-#X connect 14 0 15 0;
-#X connect 17 0 20 1;
-#X connect 19 0 7 0;
-#X connect 20 0 6 0;
-#X restore 148 322 pd set-lid;
-#X text 238 322 Correct lids to match what msd2D tells us;
-#X obj 146 446 table \$0-mid2msdid 4000;
-#X text 354 111 First get masses positions \, send to msd2D;
-#X text 324 446 mass id as index \, msdid as value. Size 4000 taken
-from the #define in msd sources.;
-#X connect 0 0 6 0;
-#X connect 4 0 5 0;
-#X connect 5 0 7 0;
-#X connect 6 0 4 0;
-#X connect 6 1 1 0;
-#X connect 7 0 12 0;
-#X connect 7 1 3 0;
-#X restore 131 221 pd getter;
-#X obj 131 369 s \$0-msd;
-#X msg 170 159 reset;
-#X obj 170 184 s \$0-msd;
-#X obj 112 132 t b b b b;
-#N canvas 338 182 781 563 make-setters 0;
-#X obj 262 451 s pd-setter;
-#X obj 136 109 t b b b b;
-#X obj 262 337 get mass x y mid;
-#X msg 262 404 obj \$1 \$2 mass-set \$3;
-#X obj 262 360 pack 0 0 0;
-#X obj 171 335 s mypointer;
-#X msg 194 135 clear;
-#X obj 194 160 s pd-setter;
-#X obj 136 68 inlet;
-#X obj 174 240 pointer mass liaison;
-#X obj 506 373 pack 0 0 0;
-#X obj 506 350 get liaison x1 y1 lid;
-#X msg 506 417 obj \$1 \$2 link-set \$3;
-#X obj 506 462 s pd-lsetter;
-#X obj 194 186 s pd-lsetter;
-#X obj 399 350 s myliapointer;
-#X obj 136 487 outlet;
-#X text 196 487 Post-Actions;
-#X obj 401 270 t b p p;
-#X obj 174 272 t b p p;
-#N canvas 0 0 450 300 next 0;
-#X obj 140 92 inlet;
-#X obj 140 215 outlet;
-#X msg 140 169 next;
-#X obj 140 134 del 0;
-#X connect 0 0 3 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X restore 37 267 pd next;
-#X msg 174 213 traverse pd-data;
-#X obj 136 443 del 1;
-#X connect 1 0 22 0;
-#X connect 1 1 20 0;
-#X connect 1 2 21 0;
-#X connect 1 3 6 0;
-#X connect 2 0 4 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
-#X connect 6 0 7 0;
-#X connect 6 0 14 0;
-#X connect 8 0 1 0;
-#X connect 9 0 19 0;
-#X connect 9 1 18 0;
-#X connect 10 0 12 0;
-#X connect 11 0 10 0;
-#X connect 11 1 10 1;
-#X connect 11 2 10 2;
-#X connect 12 0 13 0;
-#X connect 18 0 20 0;
-#X connect 18 1 15 0;
-#X connect 18 2 11 0;
-#X connect 19 0 20 0;
-#X connect 19 1 5 0;
-#X connect 19 2 2 0;
-#X connect 20 0 9 0;
-#X connect 21 0 9 0;
-#X connect 22 0 16 0;
-#X restore 112 428 pd make-setters;
-#X obj 181 344 r pointer2msd;
-#X msg 131 324 link ml \$1 \$2 \$3 \$4 \$5;
-#X msg 189 275 mass id \$4 \$5 \$1 \$2;
-#N canvas 382 305 870 520 set-min-max 0;
-#X obj 98 80 r \$0-min-DS;
-#X obj 240 84 r \$0-max-DS;
-#X obj 468 80 r \$0-min-MSD;
-#X obj 605 108 r \$0-max-MSD;
-#X obj 98 131 s DS-xmin;
-#X obj 240 145 s DS-xmax;
-#X obj 98 111 f;
-#X obj 240 113 f;
-#X obj 468 109 f;
-#X obj 605 143 f;
-#X obj 340 13 inlet;
-#X obj 339 41 t b b;
-#X text 252 195 reverse!;
-#X text 95 177 reverse!;
-#X obj 241 176 s DS-ymin;
-#X obj 98 158 s DS-ymax;
-#X obj 468 135 s MSD-xmin;
-#X obj 605 174 s MSD-xmax;
-#X obj 469 157 s MSD-ymin;
-#X obj 605 198 s MSD-ymax;
-#X obj 339 207 t b b;
-#X obj 339 344 s \$0-msd;
-#X obj 339 280 pack 0 0;
-#X obj 339 239 f -3;
-#X obj 376 245 f 3;
-#X obj 745 82 f 0;
-#X obj 761 54 r MSD-TYPE;
-#X obj 746 109 s MSD-TYPE;
-#X msg 339 306 Xmin \$1 \, Xmax \$2 \, Ymin \$1 \, Ymax \$2 \, Zmin
-\$1 \, Zmax \$2;
-#X connect 0 0 6 0;
-#X connect 1 0 7 0;
-#X connect 2 0 8 0;
-#X connect 3 0 9 0;
-#X connect 6 0 4 0;
-#X connect 6 0 15 0;
-#X connect 7 0 5 0;
-#X connect 7 0 14 0;
-#X connect 8 0 16 0;
-#X connect 8 0 18 0;
-#X connect 8 0 23 1;
-#X connect 9 0 17 0;
-#X connect 9 0 19 0;
-#X connect 9 0 24 1;
-#X connect 10 0 11 0;
-#X connect 11 0 20 0;
-#X connect 11 1 6 0;
-#X connect 11 1 7 0;
-#X connect 11 1 8 0;
-#X connect 11 1 9 0;
-#X connect 11 1 25 0;
-#X connect 20 0 23 0;
-#X connect 20 1 24 0;
-#X connect 22 0 28 0;
-#X connect 23 0 22 0;
-#X connect 24 0 22 1;
-#X connect 25 0 27 0;
-#X connect 26 0 25 1;
-#X connect 28 0 21 0;
-#X restore 112 468 pd set-min-max;
-#X text 283 344 <== messages coming from the data structure setters
-;
-#X obj 112 399 del 200;
-#X obj 172 399 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 demux 0;
-#X obj 91 69 inlet;
-#X obj 255 73 inlet;
-#X obj 223 106 select 0;
-#X obj 73 213 spigot 1;
-#X obj 165 219 spigot 0;
-#X obj 141 188 unpack 1 0;
-#X obj 96 255 outlet;
-#X obj 173 257 outlet;
-#X msg 174 140 1 0;
-#X msg 216 140 0 1;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 8 0;
-#X connect 2 1 9 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 1;
-#X connect 5 1 4 1;
-#X connect 8 0 5 0;
-#X connect 9 0 5 0;
-#X restore 189 246 pd demux;
-#X obj 240 219 r MSD-TYPE;
-#X msg 341 275 mass id \$4 \$5 \$1 \$2 0;
-#X obj 112 93 r \$0-generate;
-#X connect 0 0 7 0;
-#X connect 0 1 13 0;
-#X connect 2 0 3 0;
-#X connect 4 0 11 0;
-#X connect 4 1 0 0;
-#X connect 4 3 2 0;
-#X connect 5 0 9 0;
-#X connect 6 0 1 0;
-#X connect 7 0 1 0;
-#X connect 8 0 1 0;
-#X connect 11 0 5 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 13 1 15 0;
-#X connect 14 0 13 1;
-#X connect 15 0 1 0;
-#X connect 16 0 4 0;
-#X restore 287 276 pd generator;
-#N canvas 0 0 718 819 activate 0;
-#X obj 233 238 r \$0-msd;
-#X obj 233 453 gem_masses;
-#X obj 313 445 gem_links;
-#X msg 167 216 bang \, get massesPos \, get linksPos;
-#X obj 177 125 gemhead;
-#X obj 233 396 route massesPos linksPos;
-#X obj 97 710 gemwin;
-#X msg 97 683 0 \, destroy;
-#X obj 249 354 s \$0-msd-out;
-#X obj 97 597 select 1 0;
-#X obj 97 569 tgl 24 0 empty empty GEM 0 -6 0 8 -262144 -1 -1 0 1;
-#X obj 275 330 s \$0-msd-attr;
-#X obj 211 541 s masspositions;
-#X obj 313 515 s linkspositions;
-#X obj 167 69 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 233 421 spigot;
-#X obj 313 421 spigot;
-#X text 238 559 sent to the data struct pointers;
-#X obj 167 149 t b b;
-#X obj 197 193 s pollpos;
-#X obj 167 44 inlet data_only;
-#X obj 39 488 inlet GEM;
-#X obj 341 40 inlet speed;
-#X obj 20 550 select 1;
-#X msg 20 575 0;
-#X obj 38 512 t f f;
-#X obj 54 90 select 1;
-#X msg 54 115 0;
-#X obj 72 52 t f f;
-#X msg 135 283 set \$1;
-#X msg 14 639 set \$1;
-#X obj 141 309 outlet;
-#X obj 15 665 outlet;
-#X obj 167 92 metro 20;
-#X obj 413 395 r \$0-gem-masses-on;
-#X obj 413 417 r \$0-gem-links-on;
-#X obj 197 174 spigot 1;
-#X obj 248 150 r \$0-poll-ds;
-#X obj 346 469 r \$0-set-ds;
-#X obj 233 516 spigot 1;
-#X obj 313 496 spigot 1;
-#X obj 297 238 r \$0-save-msd;
-#X obj 257 286 s \$0-msd2save;
-#X obj 255 261 spigot 0;
-#N canvas 0 0 788 568 msd 0;
-#N canvas 0 0 450 300 demux 0;
-#X obj 91 69 inlet;
-#X obj 255 73 inlet;
-#X obj 223 106 select 0;
-#X obj 73 213 spigot 1;
-#X obj 165 219 spigot 0;
-#X obj 141 188 unpack 1 0;
-#X obj 96 255 outlet;
-#X obj 173 257 outlet;
-#X msg 174 140 1 0;
-#X msg 216 140 0 1;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 8 0;
-#X connect 2 1 9 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 1;
-#X connect 5 1 4 1;
-#X connect 8 0 5 0;
-#X connect 9 0 5 0;
-#X restore 195 170 pd demux;
-#X obj 262 133 r MSD-TYPE;
-#N canvas 0 0 450 300 demux 0;
-#X obj 91 69 inlet;
-#X obj 255 73 inlet;
-#X obj 223 106 select 0;
-#X obj 73 213 spigot 1;
-#X obj 165 219 spigot 0;
-#X obj 141 188 unpack 1 0;
-#X obj 96 255 outlet;
-#X obj 173 257 outlet;
-#X msg 174 140 1 0;
-#X msg 216 140 0 1;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 8 0;
-#X connect 2 1 9 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 1;
-#X connect 5 1 4 1;
-#X connect 8 0 5 0;
-#X connect 9 0 5 0;
-#X restore 198 305 pd demux;
-#X obj 261 282 r MSD-TYPE;
-#X obj 195 136 inlet;
-#X obj 198 366 outlet;
-#N canvas 0 0 450 300 demux 0;
-#X obj 91 69 inlet;
-#X obj 255 73 inlet;
-#X obj 223 106 select 0;
-#X obj 73 213 spigot 1;
-#X obj 165 219 spigot 0;
-#X obj 141 188 unpack 1 0;
-#X obj 96 255 outlet;
-#X obj 173 257 outlet;
-#X msg 174 140 1 0;
-#X msg 216 140 0 1;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 8 0;
-#X connect 2 1 9 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 1;
-#X connect 5 1 4 1;
-#X connect 8 0 5 0;
-#X connect 9 0 5 0;
-#X restore 377 303 pd demux;
-#X obj 442 280 r MSD-TYPE;
-#X obj 377 371 outlet;
-#X obj 200 233 msd2D;
-#X obj 350 233 msd3D;
-#X connect 0 0 9 0;
-#X connect 0 1 10 0;
-#X connect 1 0 0 1;
-#X connect 2 0 5 0;
-#X connect 2 1 5 0;
-#X connect 3 0 2 1;
-#X connect 4 0 0 0;
-#X connect 6 0 8 0;
-#X connect 6 1 8 0;
-#X connect 7 0 6 1;
-#X connect 9 0 2 0;
-#X connect 9 1 6 0;
-#X connect 10 0 2 0;
-#X connect 10 1 6 0;
-#X restore 233 308 pd msd;
-#X obj 357 676 gemhead;
-#X obj 357 699 world_light;
-#X obj 147 617 r \$0-fullscreen;
-#X obj 97 634 f 0;
-#X msg 97 659 reset \, lighting 1 \, fullscreen \$1 \, create \, 1
-;
-#X connect 0 0 43 0;
-#X connect 0 0 44 0;
-#X connect 3 0 44 0;
-#X connect 4 0 18 0;
-#X connect 5 0 15 0;
-#X connect 5 0 39 0;
-#X connect 5 1 16 0;
-#X connect 5 1 40 0;
-#X connect 7 0 6 0;
-#X connect 9 0 48 0;
-#X connect 9 1 7 0;
-#X connect 10 0 9 0;
-#X connect 10 0 15 1;
-#X connect 10 0 16 1;
-#X connect 10 0 30 0;
-#X connect 14 0 29 0;
-#X connect 14 0 33 0;
-#X connect 15 0 1 0;
-#X connect 16 0 2 0;
-#X connect 18 0 3 0;
-#X connect 18 1 36 0;
-#X connect 20 0 28 0;
-#X connect 21 0 25 0;
-#X connect 22 0 33 1;
-#X connect 23 0 24 0;
-#X connect 24 0 14 0;
-#X connect 25 0 10 0;
-#X connect 25 1 23 0;
-#X connect 26 0 27 0;
-#X connect 27 0 10 0;
-#X connect 28 0 14 0;
-#X connect 28 1 26 0;
-#X connect 29 0 31 0;
-#X connect 30 0 32 0;
-#X connect 33 0 18 0;
-#X connect 34 0 1 1;
-#X connect 35 0 2 1;
-#X connect 36 0 19 0;
-#X connect 37 0 36 1;
-#X connect 38 0 40 1;
-#X connect 38 0 39 1;
-#X connect 39 0 12 0;
-#X connect 40 0 13 0;
-#X connect 41 0 43 1;
-#X connect 43 0 42 0;
-#X connect 44 0 8 0;
-#X connect 44 0 5 0;
-#X connect 44 1 11 0;
-#X connect 45 0 46 0;
-#X connect 47 0 48 1;
-#X connect 48 0 49 0;
-#X connect 49 0 6 0;
-#X restore 31 397 pd activate;
-#X obj 31 362 tgl 24 0 empty empty GEM 0 -6 0 8 -195568 -1 -1 0 1;
-#X obj 67 362 tgl 24 0 empty empty Datastructures 0 -6 0 8 -1 -262144
--1 0 1;
-#X floatatom 103 377 5 10 1000 2 frequency - -;
-#N canvas 405 181 584 687 forces 0;
-#X obj 295 415 s \$0-msd;
-#X obj 394 355 hsl 128 24 -5 5 0 1 empty empty empty -2 -6 0 8 -262144
--1 -1 6350 1;
-#X obj 295 230 vsl 24 128 -5 5 0 1 empty empty empty 0 -8 0 8 -262144
--1 -1 4350 1;
-#X msg 295 388 forceY id \$1;
-#X msg 391 388 forceX id \$1;
-#X obj 295 174 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1
-0 1;
-#X obj 391 295 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1
-0 1;
-#X obj 295 205 metro 10;
-#X obj 391 326 metro 10;
-#X msg 455 325 0;
-#X msg 263 204 0;
-#X text 230 127 Add some forces to the system.;
-#X msg 63 158 forceX \$2 \$1;
-#X msg 63 272 forceY \$2 \$1;
-#X obj 63 137 pack 0 0;
-#X floatatom 114 114 5 0 0 2 Mass_ID - -;
-#X obj 63 249 pack 0 0;
-#X floatatom 63 115 5 0 0 0 forceX - -;
-#X floatatom 63 204 5 0 0 0 forceY - -;
-#X obj 63 299 s \$0-msd;
-#X obj 63 181 s \$0-msd;
-#X obj 63 224 * -1;
-#X obj 63 461 pack 0 0;
-#X floatatom 63 437 5 0 0 0 posY - -;
-#X obj 63 511 s \$0-msd;
-#X msg 63 484 posY \$2 \$1;
-#X obj 63 358 pack 0 0;
-#X floatatom 63 334 5 0 0 0 posX - -;
-#X obj 63 408 s \$0-msd;
-#X msg 63 381 posX \$2 \$1;
-#X text 31 74 Modify one mass:;
-#X obj 63 560 pack 0 0;
-#X floatatom 63 536 5 0 0 0 posZ - -;
-#X obj 63 610 s \$0-msd;
-#X msg 63 583 posZ \$2 \$1;
-#X connect 1 0 4 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 7 0;
-#X connect 6 0 8 0;
-#X connect 7 0 2 0;
-#X connect 8 0 1 0;
-#X connect 9 0 1 0;
-#X connect 10 0 2 0;
-#X connect 12 0 20 0;
-#X connect 13 0 19 0;
-#X connect 14 0 12 0;
-#X connect 15 0 14 1;
-#X connect 15 0 16 1;
-#X connect 15 0 22 1;
-#X connect 15 0 26 1;
-#X connect 15 0 31 1;
-#X connect 16 0 13 0;
-#X connect 17 0 14 0;
-#X connect 18 0 21 0;
-#X connect 21 0 16 0;
-#X connect 22 0 25 0;
-#X connect 23 0 22 0;
-#X connect 25 0 24 0;
-#X connect 26 0 29 0;
-#X connect 27 0 26 0;
-#X connect 29 0 28 0;
-#X connect 31 0 34 0;
-#X connect 32 0 31 0;
-#X connect 34 0 33 0;
-#X restore 176 429 pd forces;
-#N canvas 113 581 450 300 props 0;
-#X obj 121 232 s \$0-msd;
-#X msg 94 203 setK ml \$1;
-#X msg 121 179 setD ml \$1;
-#X msg 145 150 setD2 ml \$1;
-#X text 244 59 Edit properties of Links.;
-#X obj 77 36 inlet;
-#X obj 123 36 inlet;
-#X obj 169 36 inlet;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 5 0 1 0;
-#X connect 6 0 2 0;
-#X connect 7 0 3 0;
-#X restore 294 431 pd props;
-#X obj 115 57 morelinks;
-#X obj 261 231 s pd-data;
-#X msg 297 203 clear;
-#X msg 261 203 sort;
-#N canvas 702 626 136 139 minmax 0;
-#X obj 2 15 cnv 15 130 120 empty empty Min/Max 10 10 0 10 -195568 -1
-0;
-#X obj 6 37 nbx 5 14 -1e+37 1e+37 0 0 \$0-min-DS \$0-min-DS Min-DS
-60 8 0 10 -225271 -1 -1 0 256;
-#X obj 6 57 nbx 5 14 -1e+37 1e+37 0 0 \$0-max-DS \$0-max-DS Max-DS
-60 8 0 10 -225271 -1 -1 1000 256;
-#X obj 6 85 nbx 5 14 -1e+37 1e+37 0 0 \$0-min-MSD \$0-min-MSD Min-MSD
-60 8 0 10 -262131 -1 -1 -3 256;
-#X obj 6 105 nbx 5 14 -1e+37 1e+37 0 0 \$0-max-MSD \$0-max-MSD Max-MSD
-60 8 0 10 -262131 -1 -1 3 256;
-#N canvas 0 0 450 300 l 0;
-#X msg 35 78 0;
-#X msg 128 75 1000;
-#X obj 35 41 loadbang;
-#X obj 36 136 loadbang;
-#X msg 129 170 3;
-#X msg 36 173 -3;
-#X obj 35 100 s \$0-min-DS;
-#X obj 128 101 s \$0-max-DS;
-#X obj 36 195 s \$0-min-MSD;
-#X obj 129 196 s \$0-max-MSD;
-#X connect 0 0 6 0;
-#X connect 1 0 7 0;
-#X connect 2 0 0 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 3 0 4 0;
-#X connect 4 0 9 0;
-#X connect 5 0 8 0;
-#X restore 82 19 pd l;
-#X coords 0 0 1 1 132 135 1;
-#X restore 261 57 pd minmax;
-#X obj 178 276 tgl 24 0 MSD-TYPE \$0-MSD-TYPE 2-D 0 -6 0 8 -233017
--1 -1 0 1;
-#X obj 21 80 msd_append;
-#X obj 10 547 cnv 15 400 80 empty empty DOC 20 12 1 14 -233017 -66577
-0;
-#X obj 182 362 tgl 15 0 \$0-gem-masses-on empty gem_m 0 -6 0 8 -225280
--1 -1 1 1;
-#X obj 218 362 tgl 15 0 \$0-gem-links-on empty gem_l 0 -6 0 8 -225271
--1 -1 0 1;
-#X obj 182 397 tgl 15 0 \$0-poll-ds \$0-poll-ds poll-ds -10 -6 0 8
--225280 -1 -1 0 1;
-#X obj 218 397 tgl 15 0 \$0-set-ds \$0-set-ds set-ds 0 -6 0 8 -225271
--1 -1 0 1;
-#X text 29 286 MSD-TYPE (2D or 3D):;
-#X obj 9 9 cnv 15 400 30 empty empty MSD-EDITOR 20 14 1 14 -128992
--262144 0;
-#X obj 10 466 cnv 15 400 75 empty empty PERSIST 20 12 1 14 -195568
--66577 0;
-#N canvas 460 399 104 45 save 0;
-#X obj 2 3 cnv 15 100 40 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 4 17 bng 20 250 50 0 empty empty load 0 -6 0 8 -258699 -1 -1
-;
-#X obj 34 17 bng 20 250 50 0 empty empty saveas 0 -6 0 8 -24198 -1
--1;
-#X obj 101 60 savepanel;
-#X obj 50 168 s pd-data;
-#X msg 101 115 write \$1;
-#X obj 20 91 openpanel;
-#X msg 20 115 read \$1;
-#X obj 20 138 t b a;
-#X obj 20 195 s \$0-generate;
-#X obj 79 17 bng 20 250 50 0 empty empty save 0 -6 0 8 -241291 -1 -1
-;
-#X obj 100 91 symbol;
-#X connect 1 0 6 0;
-#X connect 2 0 3 0;
-#X connect 3 0 11 0;
-#X connect 5 0 4 0;
-#X connect 6 0 7 0;
-#X connect 6 0 11 1;
-#X connect 7 0 8 0;
-#X connect 8 0 9 0;
-#X connect 8 1 4 0;
-#X connect 10 0 11 0;
-#X connect 11 0 5 0;
-#X coords 0 0 1 1 102 44 1;
-#X restore 124 470 pd save;
-#N canvas 0 0 84 49 save 0;
-#X obj 2 3 cnv 15 75 40 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 37 18 bng 20 250 50 0 empty empty saveas 0 -6 0 8 -24198 -1
--1;
-#X obj 285 129 textfile;
-#X obj 285 64 r \$0-msd2save;
-#X obj 183 157 s \$0-generate;
-#X obj 166 270 s \$0-save-msd;
-#X msg 203 187 1;
-#X msg 138 193 0;
-#X obj 145 33 t b b b b;
-#X msg 213 55 clear;
-#X obj 285 88 prepend add;
-#X obj 138 126 del 500;
-#X obj 35 168 savepanel;
-#X msg 37 193 write \$1;
-#X obj 58 148 t b b;
-#X obj 292 202 s \$0-msd;
-#X msg 427 125 rewind;
-#X obj 7 18 bng 20 250 50 0 empty empty load 0 -6 0 8 -258699 -1 -1
-;
-#X obj 392 156 until;
-#X obj 396 102 t b b;
-#X obj 521 95 openpanel;
-#X msg 523 120 read \$1;
-#X obj 526 145 t b a;
-#X connect 1 0 8 0;
-#X connect 2 0 15 0;
-#X connect 2 1 18 1;
-#X connect 3 0 10 0;
-#X connect 6 0 5 0;
-#X connect 7 0 5 0;
-#X connect 8 1 11 0;
-#X connect 8 2 4 0;
-#X connect 8 3 6 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 0;
-#X connect 10 0 2 0;
-#X connect 11 0 14 0;
-#X connect 12 0 13 0;
-#X connect 13 0 2 0;
-#X connect 14 0 12 0;
-#X connect 14 1 7 0;
-#X connect 16 0 2 0;
-#X connect 17 0 20 0;
-#X connect 18 0 2 0;
-#X connect 19 0 18 0;
-#X connect 19 1 16 0;
-#X connect 20 0 21 0;
-#X connect 21 0 22 0;
-#X connect 22 0 19 0;
-#X connect 22 1 2 0;
-#X coords 0 0 1 1 77 44 1;
-#X restore 266 470 pd save;
-#X text 124 524 Save DS to disk;
-#X text 266 524 Save MSD messages;
-#X obj 319 353 vsl 15 64 0 10 0 0 empty empty D 0 -8 0 8 -195568 -1
--1 300 1;
-#X obj 345 353 vsl 15 64 0 10 0 0 empty empty D2 0 -8 0 8 -195568 -1
--1 0 1;
-#X obj 294 353 vsl 15 64 0 100 0 0 empty empty K 0 -8 0 8 -195568 -1
--1 300 1;
-#N canvas 504 489 531 315 TODO 0;
-#X text 146 11 TODO :: IDEAS;
-#X text 39 50 Make symbolic ids of new masses/links editable. For this
-I need to add new fields \, probably called "sym" \, to masses and
-links. They have to be floats for now (symbols in DS don't work yet).
-Then [makefilename] symbolic ids of this.;
-#X text 39 122 Related to that the props and forces subpatches should
-be dynamic as well \, so that users can send messages to groups of
-masses/links using the different symbolic names.;
-#X text 42 178 Prepare for retirement of D2;
-#X restore 178 582 pd TODO;
-#N canvas 307 452 509 305 NEWS 0;
-#X text 32 24 RecentChanges;
-#X text 43 51 msd-editor now also can be used for msd3D objects.;
-#X text 41 77 Cosmetic overhaul;
-#X restore 117 582 pd NEWS;
-#N canvas 334 329 751 433 ignore 0;
-#X obj 46 264 print ToMSD;
-#X obj 46 234 spigot;
-#X obj 83 181 tgl 15 0 empty empty debug_ToMSD 0 -6 0 8 -262144 -1
--1 0 1;
-#X obj 46 207 r \$0-msd;
-#X obj 147 237 spigot;
-#X obj 184 184 tgl 15 0 empty empty debug_FromMSD 0 -6 0 8 -262144
--1 -1 0 1;
-#X obj 147 265 print FromMSD;
-#X obj 147 210 r \$0-msd-out;
-#N canvas 0 0 578 686 setter 0;
-#X restore 521 67 pd setter;
-#N canvas 0 0 822 675 lsetter 0;
-#X restore 520 90 pd lsetter;
-#X text 504 43 Automatic scripting targets;
-#X text 23 46 You can ignore this stuff here \, unless something goes
-wrong.;
-#X obj 269 233 spigot;
-#X obj 306 180 tgl 15 0 empty empty debug_AttrMSD 0 -6 0 8 -262144
--1 -1 0 1;
-#X obj 269 206 r \$0-msd-attr;
-#X obj 269 264 print AttrMSD;
-#X obj 532 270 s \$0-msd;
-#X msg 544 247 infosL;
-#X obj 143 363 spigot;
-#X obj 180 310 tgl 15 0 empty empty global-send 0 -6 0 8 -262144 -1
--1 1 1;
-#X obj 143 336 r \$0-msd-out;
-#X obj 143 391 s MSD-OUT-GLOBAL;
-#X msg 532 223 massesPosL;
-#X obj 532 199 metro 40;
-#X obj 532 177 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X floatatom 585 178 5 0 0 0 - - -;
-#X obj 280 365 spigot;
-#X obj 317 312 tgl 15 0 empty empty global-receive 0 -6 0 8 -262144
--1 -1 1 1;
-#X obj 280 338 r MSD-IN-GLOBAL;
-#X obj 280 393 s \$0-msd;
-#X obj 630 201 metro 40;
-#X obj 630 179 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X floatatom 683 180 5 0 0 0 - - -;
-#X obj 630 273 s \$0-msd;
-#X obj 531 322 metro 40;
-#X obj 531 300 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X floatatom 584 301 5 0 0 0 - - -;
-#X obj 531 394 s \$0-msd;
-#X msg 625 70 clear;
-#X obj 625 97 s pd-setter;
-#X obj 625 117 s pd-lsetter;
-#X msg 531 346 massesForcesL;
-#X msg 630 225 massesPosYL;
-#N canvas 0 0 450 300 msd-type 0;
-#X obj 94 78 r MSD-TYPE;
-#X obj 89 201 s \$0-MSD-TYPE;
-#X obj 98 136 select 0;
-#X msg 89 168 label 2-D;
-#X msg 185 170 label 3-D;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X restore 524 126 pd msd-type;
-#N canvas 673 282 553 343 camera 0;
-#X obj 183 185 camera;
-#X obj 179 45 gemhead;
-#X obj 162 82 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 185 63 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 234 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 260 86 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X msg 234 124 left \$1;
-#X msg 260 102 right \$1;
-#X obj 75 120 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 101 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 101 114 up \$1;
-#X msg 75 136 down \$1;
-#X msg 267 58 reset;
-#X msg 185 80 forward \$1;
-#X msg 162 98 reverse \$1;
-#X msg 66 252 speed \$1;
-#X floatatom 66 232 5 0 0 0 - - -;
-#X floatatom 67 195 5 0 0 0 - - -;
-#X msg 379 150 lookX \$1;
-#X msg 379 187 lookY \$1;
-#X msg 379 223 lookZ \$1;
-#X floatatom 379 134 5 0 0 0 - - -;
-#X floatatom 379 207 5 0 0 0 - - -;
-#X floatatom 379 170 5 0 0 0 - - -;
-#X msg 67 213 distance \$1;
-#X obj 114 182 f 4;
-#X obj 181 237 +;
-#X connect 1 0 0 0;
-#X connect 2 0 14 0;
-#X connect 3 0 13 0;
-#X connect 4 0 6 0;
-#X connect 5 0 7 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 11 0;
-#X connect 9 0 10 0;
-#X connect 10 0 0 0;
-#X connect 11 0 0 0;
-#X connect 12 0 0 0;
-#X connect 13 0 0 0;
-#X connect 14 0 0 0;
-#X connect 15 0 0 0;
-#X connect 16 0 15 0;
-#X connect 17 0 24 0;
-#X connect 18 0 0 0;
-#X connect 19 0 0 0;
-#X connect 20 0 0 0;
-#X connect 21 0 18 0;
-#X connect 22 0 20 0;
-#X connect 23 0 19 0;
-#X connect 24 0 0 0;
-#X connect 25 0 24 0;
-#X restore 416 83 pd camera;
-#X connect 1 0 0 0;
-#X connect 2 0 1 1;
-#X connect 3 0 1 0;
-#X connect 4 0 6 0;
-#X connect 5 0 4 1;
-#X connect 7 0 4 0;
-#X connect 12 0 15 0;
-#X connect 13 0 12 1;
-#X connect 14 0 12 0;
-#X connect 17 0 16 0;
-#X connect 18 0 21 0;
-#X connect 19 0 18 1;
-#X connect 20 0 18 0;
-#X connect 22 0 16 0;
-#X connect 23 0 22 0;
-#X connect 24 0 23 0;
-#X connect 25 0 23 1;
-#X connect 26 0 29 0;
-#X connect 27 0 26 1;
-#X connect 28 0 26 0;
-#X connect 30 0 42 0;
-#X connect 31 0 30 0;
-#X connect 32 0 30 1;
-#X connect 34 0 41 0;
-#X connect 35 0 34 0;
-#X connect 36 0 34 1;
-#X connect 38 0 39 0;
-#X connect 38 0 40 0;
-#X connect 41 0 37 0;
-#X connect 42 0 33 0;
-#X restore 241 582 pd ignore this;
-#N canvas 0 0 489 250 help 0;
-#N canvas 0 0 450 300 visualize? 0;
-#X text 18 91 Visualization is done using either a GEM OpenGL window
-\, or just animate the data structure alone. Better don't use both
-at the same time. In GDS-mode you can set the frequency of the internal
-metro \, to accelerate or slow down the simulation.;
-#X text 19 172 In edit mode and while visualization is active \, you
-can move around the masses. The red masses will not receive any other
-forces from the model. Use the "forces" and "props" subpatches to change
-parameters of links and send forces.;
-#X text 56 39 Help on Visualization;
-#X restore 301 169 pd visualize?;
-#N canvas 0 0 450 300 append? 0;
-#X text 36 72 First create structure inside [pd data] using msd_append.
-Add mobile masses with black bang \, add fixed masses with the red
-bang. Set weight of mass with the "M" number box.;
-#X text 29 29 Help on Mass creation;
-#X text 34 122 Use the greenish "geos" bang to open a subwindow for
-creating masses in geometric formations: circles and rectangles.;
-#X restore 303 70 pd append?;
-#N canvas 0 0 537 336 links? 0;
-#X text 47 77 Links are created by selecting at least two masses in
-edit mode \, then press "L" to connect those with a link. If you select
-more than two masses \, then all possible links between those masses
-will get created. Use this to mass-connect masses. :);
-#X text 32 26 Help on Link Creation;
-#X text 44 148 The keyboard shortcut "L" is only active \, if the green
-toggle "Keys" is set to on. Otherwise use the yellow "link" bang.;
-#X text 45 196 More ways to create links: left-to-right connects masses
-from left to right. The keyboard shortcut for this is "R" (for "Right"
-\, as "L" is for "Links"). one2many will connect one mass to many others
-and has no shortcuts. First select the first mass \, then set the toggle
-to 1 \, after that select the other masses and set toggle to 0;
-#X restore 302 94 pd links?;
-#N canvas 0 0 450 300 generate? 0;
-#X text 19 98 Press "generate" to generate messages to the msd object
-and create the physical model inside. You can select which type of
-msd* to use as well: msd2D or msd3D. With 3-D \, the Z-coordinate will
-default to a value of zero.;
-#X text 31 38 Help on MSD generation;
-#X restore 302 144 pd generate?;
-#N canvas 0 0 215 157 minmax? 0;
-#X text 38 35 Data structs and;
-#X text 38 49 GEM like different;
-#X text 38 63 coordinate systems.;
-#X text 38 87 Set the mapping;
-#X text 38 101 between both here.;
-#X restore 302 118 pd minmax?;
-#X text 39 18 HELP / USAGE;
-#X text 143 71 How to create masses:;
-#X text 143 94 How to create links:;
-#X text 102 118 Coordinates in MSD-Editor:;
-#X text 109 146 Generate the MSD-Network:;
-#X text 17 170 Visualize the network using GEM or DS:;
-#X restore 53 582 pd help;
-#X obj 32 431 tgl 16 0 \$0-fullscreen \$0-fullscreen fullscreen 0 -6
-0 8 -195568 -1 -1 0 1;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 8 0 7 0;
-#X connect 9 0 7 1;
-#X connect 10 0 7 2;
-#X connect 15 0 14 0;
-#X connect 16 0 14 0;
-#X connect 32 0 12 1;
-#X connect 33 0 12 2;
-#X connect 34 0 12 0;
diff --git a/msd2D/editor/msd_append.pd b/msd2D/editor/msd_append.pd
deleted file mode 100644
index 78d8e07..0000000
--- a/msd2D/editor/msd_append.pd
+++ /dev/null
@@ -1,211 +0,0 @@
-#N canvas 862 152 84 110 10;
-#X obj 2 16 cnv 15 80 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 6 29 bng 15 250 50 0 empty empty mass 0 -6 0 8 -1 -262144 -1
-;
-#X obj 34 29 bng 15 250 50 0 empty empty fix 0 -6 0 8 -258699 -1 -1
-;
-#N canvas 355 457 863 719 guts 0;
-#X obj 252 139 pointer;
-#X obj 66 179 random 100;
-#X msg 252 102 traverse pd-data \, bang;
-#X obj 105 126 random 100;
-#X obj 70 24 inlet;
-#X obj 177 24 inlet;
-#X obj 385 351 + 1;
-#X obj 355 291 r \$0-counter-bng;
-#X obj 355 393 s \$0-nextmass;
-#X obj 145 153 r \$0-nextmass;
-#X obj 70 97 s \$0-counter-bng;
-#X obj 70 71 t b b b b b f b;
-#X msg 70 47 0;
-#X text 111 24 mobile;
-#X text 223 24 fixed mass;
-#X msg 177 46 900;
-#X obj 355 351 f 0;
-#X obj 391 316 loadbang;
-#X obj 255 294 r \$0-counter;
-#X msg 296 384 set \$1;
-#X obj 296 425 s \$0-counter-in;
-#X obj 66 203 + 20;
-#X obj 105 148 + 20;
-#X obj 208 133 r \$0-M;
-#X obj 68 231 append mass x y mid mob M;
-#X obj 553 175 f \$1;
-#X obj 553 199 select 0;
-#X obj 553 254 s \$0-M;
-#X msg 552 224 100;
-#X obj 558 152 loadbang;
-#X obj 21 135 r \$0-geos;
-#X obj 252 77 r \$0-start-traverse;
-#X obj 179 204 f 0;
-#X obj 21 158 t a b;
-#X obj 195 173 r \$0-mfds;
-#X connect 0 0 24 5;
-#X connect 1 0 21 0;
-#X connect 2 0 0 0;
-#X connect 3 0 22 0;
-#X connect 4 0 12 0;
-#X connect 5 0 15 0;
-#X connect 6 0 16 1;
-#X connect 7 0 16 0;
-#X connect 9 0 24 2;
-#X connect 11 0 10 0;
-#X connect 11 1 1 0;
-#X connect 11 3 3 0;
-#X connect 11 5 24 3;
-#X connect 11 6 2 0;
-#X connect 12 0 11 0;
-#X connect 15 0 11 0;
-#X connect 16 0 6 0;
-#X connect 16 0 8 0;
-#X connect 16 0 19 0;
-#X connect 17 0 16 0;
-#X connect 18 0 16 0;
-#X connect 19 0 20 0;
-#X connect 21 0 24 0;
-#X connect 22 0 24 1;
-#X connect 23 0 24 4;
-#X connect 25 0 26 0;
-#X connect 26 0 28 0;
-#X connect 26 1 27 0;
-#X connect 28 0 27 0;
-#X connect 29 0 25 0;
-#X connect 30 0 33 0;
-#X connect 31 0 2 0;
-#X connect 32 0 24 3;
-#X connect 33 0 24 0;
-#X connect 33 1 32 0;
-#X connect 34 0 32 1;
-#X restore 105 79 pd guts;
-#X obj 126 6 inlet;
-#X obj 169 5 inlet;
-#X obj 25 59 nbx 5 14 -1e+37 1e+37 0 0 \$0-counter \$0-counter-in id
--22 8 0 10 -262144 -1 -1 400 256;
-#X obj 2 77 cnv 15 80 30 empty empty empty 10 10 0 10 -195568 -1 0
-;
-#X obj 26 85 nbx 5 14 -1e+37 1e+37 0 0 \$0-M \$0-M M -12 8 0 10 -225271
--1 -1 100 256;
-#N canvas 379 246 663 624 geos 0;
-#X obj 93 96 make_rect 100 100 30 30 10 10;
-#X obj 123 162 s \$0-geos;
-#X obj 93 188 s \$0-counter-bng;
-#X obj 48 33 r \$0-make-rect;
-#X msg 93 67 bang;
-#N canvas 449 480 450 300 6969-geos 0;
-#X obj 48 82 bng 24 250 50 0 \$0-make-rect empty make-rect 0 -6 0 8
--24198 -1 -1;
-#X floatatom 151 76 5 0 0 0 x0 - #0-x0;
-#X floatatom 151 92 5 0 0 0 y0 - #0-y0;
-#X floatatom 227 75 5 0 0 0 xgap - #0-xgap;
-#X floatatom 227 91 5 0 0 0 ygap - #0-ygap;
-#X floatatom 322 74 5 0 0 0 xsteps - #0-xsteps;
-#X floatatom 322 90 5 0 0 0 ysteps - #0-ysteps;
-#X text 46 18 Add various geometric forms;
-#X text 38 46 Rectangle Networks:;
-#X text 37 137 Circles:;
-#X obj 52 172 bng 24 250 50 0 \$0-make-circ empty make-circ 0 -6 0
-8 -24198 -1 -1;
-#X floatatom 145 166 5 0 0 0 x0 - #0-x0-circ;
-#X floatatom 145 182 5 0 0 0 y0 - #0-y0-circ;
-#X floatatom 251 166 5 0 0 0 radius - #0-radius;
-#X floatatom 251 184 5 0 0 0 masses_# - #0-masses-circ;
-#X text 107 266 All coords as used by data structs.;
-#X obj 54 233 hradio 15 1 0 2 \$0-mf \$0-mf Mobile/Fix 0 -6 0 8 -262144
--1 -1 0;
-#X obj 91 234 cnv 15 60 15 \$0-mobfix \$0-mobfix mobile 2 6 0 10 -233017
--66577 0;
-#X restore 518 165 pd \$0-geos;
-#X msg 519 125 \; \$1 vis 1;
-#X obj 518 96 makefilename pd-%s;
-#X obj 520 68 symbol \$0-geos;
-#X msg 516 22 bang;
-#X obj 48 66 t b b;
-#X obj 78 226 s \$0-start-traverse;
-#N canvas 0 0 930 534 6969-sixpack 0;
-#X obj 250 282 r \$0-x0;
-#X text 452 208 Args;
-#X obj 320 310 sixpack --------------------;
-#X obj 296 237 r \$0-y0;
-#X obj 336 206 r \$0-xgap;
-#X obj 376 185 r \$0-ygap;
-#X obj 412 164 r \$0-xsteps;
-#X obj 448 143 r \$0-ysteps;
-#X obj 326 342 outlet;
-#X connect 0 0 2 0;
-#X connect 2 0 8 0;
-#X connect 3 0 2 1;
-#X connect 4 0 2 2;
-#X connect 5 0 2 3;
-#X connect 6 0 2 4;
-#X connect 7 0 2 5;
-#X restore 291 40 pd \$0-sixpack;
-#X obj 93 128 t b a;
-#X obj 524 45 r \$0-show-geos;
-#X obj 63 322 r \$0-make-circ;
-#N canvas 0 0 930 534 6969-fourpack 0;
-#X text 452 208 Args;
-#X obj 320 310 sixpack --------------------;
-#X obj 319 390 outlet;
-#X msg 319 349 \$1 \$2 \$3 \$4;
-#X obj 252 282 r \$0-x0-circ;
-#X obj 296 237 r \$0-y0-circ;
-#X obj 376 185 r \$0-masses-circ;
-#X obj 336 206 r \$0-radius;
-#X connect 1 0 3 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 1;
-#X connect 6 0 1 3;
-#X connect 7 0 1 2;
-#X restore 219 327 pd \$0-fourpack;
-#X obj 136 441 s \$0-geos;
-#X obj 106 467 s \$0-counter-bng;
-#X obj 63 345 t b b;
-#X obj 93 505 s \$0-start-traverse;
-#X obj 106 407 t b a;
-#X obj 63 370 make_circ 300 300 100 8;
-#X obj 368 266 select 0;
-#X msg 368 306 label mobile;
-#X obj 368 329 s \$0-mobfix;
-#X msg 420 288 label fix;
-#X obj 368 236 r \$0-mf;
-#X obj 507 332 s \$0-mfds;
-#X msg 508 301 0;
-#X msg 544 299 900;
-#X connect 0 0 13 0;
-#X connect 3 0 10 0;
-#X connect 4 0 0 0;
-#X connect 7 0 6 0;
-#X connect 8 0 7 0;
-#X connect 9 0 8 0;
-#X connect 10 0 0 0;
-#X connect 10 1 11 0;
-#X connect 12 0 0 1;
-#X connect 13 0 2 0;
-#X connect 13 1 1 0;
-#X connect 14 0 8 0;
-#X connect 15 0 19 0;
-#X connect 16 0 22 1;
-#X connect 19 0 22 0;
-#X connect 19 1 20 0;
-#X connect 21 0 18 0;
-#X connect 21 1 17 0;
-#X connect 22 0 21 0;
-#X connect 23 0 24 0;
-#X connect 23 0 29 0;
-#X connect 23 1 26 0;
-#X connect 23 1 30 0;
-#X connect 24 0 25 0;
-#X connect 26 0 25 0;
-#X connect 27 0 23 0;
-#X connect 29 0 28 0;
-#X connect 30 0 28 0;
-#X restore 113 41 pd geos;
-#X obj 59 29 bng 15 250 50 0 \$0-show-geos \$0-show-geos geos 0 -6
-0 8 -225271 -1 -1;
-#X connect 1 0 3 0;
-#X connect 2 0 3 1;
-#X connect 4 0 3 0;
-#X connect 5 0 3 1;
-#X coords 0 0 1 1 82 100 1;
diff --git a/msd2D/editor/scale-ds2msd.pd b/msd2D/editor/scale-ds2msd.pd
deleted file mode 100644
index df103aa..0000000
--- a/msd2D/editor/scale-ds2msd.pd
+++ /dev/null
@@ -1,42 +0,0 @@
-#N canvas 257 161 999 516 10;
-#X obj 43 52 inlet;
-#X text 87 52 X-coord. as in DS;
-#X obj 43 255 outlet;
-#X obj 338 50 inlet;
-#X obj 338 253 outlet;
-#X text 382 50 Y-coord. as in DS;
-#X text 99 255 X-coord. as in MSD;
-#X text 398 253 Y-coord. as in MSD;
-#X obj 688 336 pack 0 0;
-#X obj 688 367 outlet;
-#X obj 689 55 unpack 0 0;
-#X obj 689 30 inlet;
-#X text 725 148 Or use lists: (x \, y);
-#X obj 78 101 r DS-xmin;
-#X obj 149 166 r MSD-xmin;
-#X obj 373 99 r DS-ymin;
-#X obj 444 164 r MSD-ymin;
-#X obj 114 128 r DS-xmax;
-#X obj 185 191 r MSD-xmax;
-#X obj 409 126 r DS-ymax;
-#X obj 480 189 r MSD-ymax;
-#X obj 43 218 expr_scale 0 600 -2 2;
-#X obj 338 216 expr_scale 600 0 -2 2;
-#X connect 0 0 21 0;
-#X connect 3 0 22 0;
-#X connect 8 0 9 0;
-#X connect 10 0 21 0;
-#X connect 10 1 22 1;
-#X connect 11 0 10 0;
-#X connect 13 0 21 1;
-#X connect 14 0 21 3;
-#X connect 15 0 22 1;
-#X connect 16 0 22 3;
-#X connect 17 0 21 2;
-#X connect 18 0 21 4;
-#X connect 19 0 22 2;
-#X connect 20 0 22 4;
-#X connect 21 0 2 0;
-#X connect 21 0 8 0;
-#X connect 22 0 4 0;
-#X connect 22 0 8 1;
diff --git a/msd2D/editor/scale-msd2ds.pd b/msd2D/editor/scale-msd2ds.pd
deleted file mode 100644
index d90c3c2..0000000
--- a/msd2D/editor/scale-msd2ds.pd
+++ /dev/null
@@ -1,42 +0,0 @@
-#N canvas 9 170 970 485 10;
-#X obj 43 52 inlet;
-#X obj 43 255 outlet;
-#X obj 338 50 inlet;
-#X obj 338 253 outlet;
-#X text 382 50 Y-coord. as in MSD;
-#X text 87 52 X-coord. as in MSD;
-#X text 99 255 X-coord. as in DS;
-#X text 398 253 Y-coord. as in DS;
-#X obj 688 336 pack 0 0;
-#X obj 688 367 outlet;
-#X obj 689 55 unpack 0 0;
-#X obj 689 30 inlet;
-#X text 725 148 Or use lists: (x \, y);
-#X obj 78 164 r MSD-xmin;
-#X obj 114 189 r MSD-xmax;
-#X obj 149 111 r DS-xmin;
-#X obj 185 138 r DS-xmax;
-#X obj 444 99 r DS-ymin;
-#X obj 480 126 r DS-ymax;
-#X obj 373 164 r MSD-ymin;
-#X obj 409 189 r MSD-ymax;
-#X obj 338 216 expr_scale -2 2 600 0;
-#X obj 43 218 expr_scale -2 2 0 600;
-#X connect 0 0 22 0;
-#X connect 2 0 21 0;
-#X connect 8 0 9 0;
-#X connect 10 0 22 0;
-#X connect 10 1 21 0;
-#X connect 11 0 10 0;
-#X connect 13 0 22 1;
-#X connect 14 0 22 2;
-#X connect 15 0 22 3;
-#X connect 16 0 22 4;
-#X connect 17 0 21 3;
-#X connect 18 0 21 4;
-#X connect 19 0 21 1;
-#X connect 20 0 21 2;
-#X connect 21 0 3 0;
-#X connect 21 0 8 1;
-#X connect 22 0 1 0;
-#X connect 22 0 8 0;
diff --git a/msd2D/editor/sixpack.pd b/msd2D/editor/sixpack.pd
deleted file mode 100644
index fd97eee..0000000
--- a/msd2D/editor/sixpack.pd
+++ /dev/null
@@ -1,31 +0,0 @@
-#N canvas 519 499 450 300 10;
-#X obj 143 51 inlet;
-#X obj 91 51 inlet;
-#X obj 141 72 t b f;
-#X obj 191 51 inlet;
-#X obj 189 72 t b f;
-#X obj 238 50 inlet;
-#X obj 236 71 t b f;
-#X obj 148 222 outlet;
-#X obj 287 49 inlet;
-#X obj 285 70 t b f;
-#X obj 334 48 inlet;
-#X obj 332 69 t b f;
-#X obj 148 179 pack 0 0 0 0 0 0;
-#X connect 0 0 2 0;
-#X connect 1 0 12 0;
-#X connect 2 0 12 0;
-#X connect 2 1 12 1;
-#X connect 3 0 4 0;
-#X connect 4 0 12 0;
-#X connect 4 1 12 2;
-#X connect 5 0 6 0;
-#X connect 6 0 12 0;
-#X connect 6 1 12 3;
-#X connect 8 0 9 0;
-#X connect 9 0 12 0;
-#X connect 9 1 12 4;
-#X connect 10 0 11 0;
-#X connect 11 0 12 0;
-#X connect 11 1 12 5;
-#X connect 12 0 7 0;
diff --git a/msd2D/editor/structures.pd b/msd2D/editor/structures.pd
deleted file mode 100644
index 55220ff..0000000
--- a/msd2D/editor/structures.pd
+++ /dev/null
@@ -1,13 +0,0 @@
-#N canvas 752 10 450 300 10;
-#N canvas 389 332 664 321 mass 0;
-#X obj 62 182 drawnumber mid 0 -18 0 m;
-#X obj 61 136 filledpolygon mob mob 1 -5 0 -4 4 0 5 4 4 5 0 4 -4 0
--5 -4 -4;
-#X obj 64 72 struct mass float x float y float mid float mob float
-M;
-#X restore 132 125 pd mass;
-#N canvas 73 302 487 201 liaison 0;
-#X obj 19 25 struct liaison float x1 float y1 float x2 float y2 float
-mid1 float mid2 float lid float K float D float D2;
-#X obj 23 73 drawpolygon 444 2 x1 y1 x2 y2;
-#X restore 132 147 pd liaison;