aboutsummaryrefslogtreecommitdiff
path: root/msd2D/editor/msd2d-editor.pd
diff options
context:
space:
mode:
Diffstat (limited to 'msd2D/editor/msd2d-editor.pd')
-rw-r--r--msd2D/editor/msd2d-editor.pd285
1 files changed, 178 insertions, 107 deletions
diff --git a/msd2D/editor/msd2d-editor.pd b/msd2D/editor/msd2d-editor.pd
index c909ee9..72b07f0 100644
--- a/msd2D/editor/msd2d-editor.pd
+++ b/msd2D/editor/msd2d-editor.pd
@@ -1,6 +1,6 @@
-#N canvas 121 260 866 562 10;
-#N canvas 334 79 1222 870 data 0;
-#X restore 719 51 pd data;
+#N canvas 191 137 866 562 10;
+#N canvas 565 411 1222 870 data 0;
+#X restore 719 42 pd data;
#X obj 24 523 structures;
#X obj 30 314 bng 24 250 50 0 empty \$0-generate generate 0 -6 0 8
-24198 -1 -1;
@@ -34,8 +34,8 @@
#X connect 10 0 11 0;
#X connect 11 0 5 0;
#X coords 0 0 1 1 102 44 1;
-#X restore 703 158 pd save;
-#X text 712 26 Edit here:;
+#X restore 703 139 pd save;
+#X text 712 17 Edit here:;
#N canvas 257 131 781 748 generator 0;
#N canvas 311 93 877 551 getter 0;
#X obj 244 89 inlet;
@@ -276,55 +276,65 @@ from the #define in msd sources.;
#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 204 443 s pd-setter;
-#X msg 174 213 traverse pd-data \, next;
+#X obj 262 451 s pd-setter;
#X obj 136 109 t b b b b;
-#X obj 204 329 get mass x y mid;
-#X msg 204 396 obj \$1 \$2 mass-set \$3;
-#X obj 204 352 pack 0 0 0;
-#X msg 119 239 next;
-#X obj 113 327 s mypointer;
-#X obj 174 272 t p p;
+#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 448 365 pack 0 0 0;
-#X obj 357 294 t p p;
-#X obj 448 342 get liaison x1 y1 lid;
-#X msg 448 409 obj \$1 \$2 link-set \$3;
-#X obj 448 454 s pd-lsetter;
+#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 341 342 s myliapointer;
-#X obj 155 487 outlet;
-#X text 215 487 Post-Actions;
-#X connect 1 0 12 0;
-#X connect 2 1 20 0;
-#X connect 2 2 1 0;
-#X connect 2 3 9 0;
-#X connect 3 0 5 0;
-#X connect 3 1 5 1;
-#X connect 3 2 5 2;
-#X connect 4 0 0 0;
-#X connect 5 0 4 0;
-#X connect 6 0 12 0;
-#X connect 8 0 7 0;
-#X connect 8 1 3 0;
-#X connect 9 0 10 0;
-#X connect 9 0 18 0;
-#X connect 11 0 2 0;
-#X connect 12 0 6 0;
-#X connect 12 0 8 0;
-#X connect 12 1 6 0;
-#X connect 12 1 14 0;
-#X connect 12 2 6 0;
-#X connect 13 0 16 0;
-#X connect 14 0 19 0;
-#X connect 14 1 15 0;
-#X connect 15 0 13 0;
-#X connect 15 1 13 1;
-#X connect 15 2 13 2;
-#X connect 16 0 17 0;
+#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 obj 112 91 inlet;
@@ -387,6 +397,8 @@ from the #define in msd sources.;
#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;
#X connect 0 0 8 0;
#X connect 0 1 9 0;
#X connect 2 0 3 0;
@@ -399,12 +411,11 @@ from the #define in msd sources.;
#X connect 8 0 1 0;
#X connect 9 0 1 0;
#X connect 12 0 5 0;
+#X connect 13 0 5 0;
#X restore 30 343 pd generator;
#N canvas 0 0 718 819 activate 0;
#X obj 233 307 msd2D;
#X obj 233 238 r \$0-msd;
-#X msg 317 236 infosL;
-#X msg 300 279 get linksPos;
#X obj 233 449 gem_masses;
#X obj 313 445 gem_links;
#X msg 167 216 bang \, get massesPos \, get linksPos;
@@ -412,7 +423,6 @@ from the #define in msd sources.;
#X obj 233 396 route massesPos linksPos;
#X obj 99 496 gemwin;
#X msg 99 469 0 \, destroy;
-#X msg 315 256 forceX id 200;
#X obj 249 354 s \$0-msd-out;
#X obj 99 423 select 1 0;
#X obj 99 395 tgl 24 0 empty empty GEM 0 -6 0 8 -262144 -1 -1 0 1;
@@ -448,55 +458,58 @@ from the #define in msd sources.;
#X obj 346 469 r \$0-set-ds;
#X obj 233 516 spigot 1;
#X obj 313 496 spigot 1;
-#X connect 0 0 8 0;
-#X connect 0 0 12 0;
-#X connect 0 1 15 0;
+#X obj 297 238 r \$0-save-msd;
+#X obj 257 286 s \$0-msd2save;
+#X obj 255 261 spigot 0;
+#X connect 0 0 6 0;
+#X connect 0 0 9 0;
+#X connect 0 1 12 0;
#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 22 0;
-#X connect 8 0 19 0;
-#X connect 8 0 44 0;
-#X connect 8 1 20 0;
-#X connect 8 1 45 0;
-#X connect 10 0 9 0;
-#X connect 11 0 0 0;
-#X connect 13 0 40 0;
-#X connect 13 1 10 0;
-#X connect 14 0 13 0;
-#X connect 14 0 19 1;
-#X connect 14 0 20 1;
-#X connect 14 0 34 0;
-#X connect 18 0 33 0;
-#X connect 18 0 37 0;
+#X connect 1 0 45 0;
+#X connect 4 0 0 0;
+#X connect 5 0 19 0;
+#X connect 6 0 16 0;
+#X connect 6 0 41 0;
+#X connect 6 1 17 0;
+#X connect 6 1 42 0;
+#X connect 8 0 7 0;
+#X connect 10 0 37 0;
+#X connect 10 1 8 0;
+#X connect 11 0 10 0;
+#X connect 11 0 16 1;
+#X connect 11 0 17 1;
+#X connect 11 0 31 0;
+#X connect 15 0 30 0;
+#X connect 15 0 34 0;
+#X connect 16 0 2 0;
+#X connect 17 0 3 0;
#X connect 19 0 4 0;
-#X connect 20 0 5 0;
-#X connect 22 0 6 0;
-#X connect 22 1 41 0;
-#X connect 24 0 32 0;
-#X connect 25 0 29 0;
-#X connect 26 0 37 1;
+#X connect 19 1 38 0;
+#X connect 21 0 29 0;
+#X connect 22 0 26 0;
+#X connect 23 0 34 1;
+#X connect 24 0 25 0;
+#X connect 25 0 15 0;
+#X connect 26 0 11 0;
+#X connect 26 1 24 0;
#X connect 27 0 28 0;
-#X connect 28 0 18 0;
-#X connect 29 0 14 0;
+#X connect 28 0 11 0;
+#X connect 29 0 15 0;
#X connect 29 1 27 0;
-#X connect 30 0 31 0;
-#X connect 31 0 14 0;
-#X connect 32 0 18 0;
-#X connect 32 1 30 0;
-#X connect 33 0 35 0;
-#X connect 34 0 36 0;
-#X connect 37 0 22 0;
-#X connect 38 0 4 1;
-#X connect 39 0 5 1;
-#X connect 40 0 9 0;
-#X connect 41 0 23 0;
-#X connect 42 0 41 1;
+#X connect 30 0 32 0;
+#X connect 31 0 33 0;
+#X connect 34 0 19 0;
+#X connect 35 0 2 1;
+#X connect 36 0 3 1;
+#X connect 37 0 7 0;
+#X connect 38 0 20 0;
+#X connect 39 0 38 1;
+#X connect 40 0 42 1;
+#X connect 40 0 41 1;
+#X connect 41 0 13 0;
+#X connect 42 0 14 0;
#X connect 43 0 45 1;
-#X connect 43 0 44 1;
-#X connect 44 0 16 0;
-#X connect 45 0 17 0;
+#X connect 45 0 44 0;
#X restore 29 420 pd activate;
#X obj 29 384 tgl 24 0 empty empty GEM 0 -6 0 8 -233017 -1 -1 0 1;
#X obj 65 384 tgl 24 0 empty empty Graphical_Datastructures 0 -6 0
@@ -694,7 +707,7 @@ masses will get created. Use this to mass-connect masses. :);
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 685 131 Save network to disk:;
+#X text 685 122 Save network to disk:;
#X obj 24 120 morelinks;
#X obj 25 14 msd_append;
#X text 242 29 First create structure inside [pd data] using msd_append.
@@ -736,12 +749,12 @@ bang. Set weight of mass with the "M" number box.;
#X connect 5 0 8 0;
#X restore 82 19 pd l;
#X coords 0 0 1 1 132 135 1;
-#X restore 701 227 pd minmax;
-#X text 694 377 Data structs and;
-#X text 694 391 GEM like different;
-#X text 694 405 coordinate systems.;
-#X text 694 429 Set the mapping;
-#X text 694 443 between both here.;
+#X restore 703 259 pd minmax;
+#X text 696 409 Data structs and;
+#X text 696 423 GEM like different;
+#X text 696 437 coordinate systems.;
+#X text 696 461 Set the mapping;
+#X text 696 475 between both here.;
#X text 238 187 The keyboard shortcut "L" is only active \, if the
green toggle "Key:L" is set to on. Otherwise use the yellow "link"
bang.;
@@ -749,11 +762,11 @@ bang.;
from left to right. one2many will connect one mass to many others.
First select the first mass \, then set the toggle to 1 \, after that
select the other masses and set toggle to 0;
-#X obj 707 106 tgl 15 0 \$0-poll-ds \$0-poll-ds poll-ds 0 -6 0 8 -225280
+#X obj 707 97 tgl 15 0 \$0-poll-ds \$0-poll-ds poll-ds 0 -6 0 8 -225280
-1 -1 0 1;
-#X obj 765 106 tgl 15 0 \$0-set-ds \$0-set-ds set-ds 0 -6 0 8 -225271
+#X obj 765 97 tgl 15 0 \$0-set-ds \$0-set-ds set-ds 0 -6 0 8 -225271
-1 -1 0 1;
-#X text 669 75 Data struct anim ON/OFF:;
+#X text 669 66 Data struct anim ON/OFF:;
#N canvas 504 489 531 315 TODO 0;
#X text 146 11 TODO :: IDEAS;
#X text 41 92 Make symbolic ids of new masses/links editable. For this
@@ -765,15 +778,73 @@ or [qlist];
#X text 41 164 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 232 msd3D-editor: edit both kinds of mass/spring networks.
+;
#X restore 777 529 pd TODO;
#N canvas 307 452 509 305 NEWS 0;
-#X text 42 52 Hopefully fixed the "stack overflows" when creating lots
-of masses.;
#X text 32 24 RecentChanges;
#X text 39 90 Geos: Now it's possible to add masses in geometric formations:
rectangles (2d-networks) and circles (set center point \, radius and
number of masses).;
+#X text 43 51 I think I now really have fixed the "stack overflows"
+when creating lots of masses.;
#X restore 777 508 pd NEWS;
+#N canvas 0 0 84 49 save 0;
+#X obj 2 3 cnv 15 75 40 empty empty empty 20 12 0 14 -257472 -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 703 208 pd save;
+#X text 683 188 Save MSD messages:;
#X connect 2 0 6 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;