From 6616e9c0690ed1562cdedb8b50a139d0dfa7578f Mon Sep 17 00:00:00 2001 From: Frank Barknecht Date: Tue, 3 May 2005 16:33:44 +0000 Subject: Made compatible with latest changes in msd2D again. svn path=/trunk/externals/nusmuk/; revision=2891 --- msd2D/editor/gem_links.pd | 50 ++--- msd2D/editor/gem_masses.pd | 33 ++- msd2D/editor/msd2d-editor.pd | 479 +++++++++++++++++++++++-------------------- 3 files changed, 291 insertions(+), 271 deletions(-) diff --git a/msd2D/editor/gem_links.pd b/msd2D/editor/gem_links.pd index fbdc961..cc25124 100644 --- a/msd2D/editor/gem_links.pd +++ b/msd2D/editor/gem_links.pd @@ -4,14 +4,6 @@ #X obj 109 389 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; @@ -20,27 +12,25 @@ #X obj 109 364 spigot; #X msg 247 300 1; #X obj 247 275 loadbang; -#X connect 0 0 16 0; +#X obj 161 111 scale4gem; +#X obj 255 140 scale4gem; +#X connect 0 0 8 0; #X connect 1 0 3 1; -#X connect 2 0 13 0; -#X connect 3 0 18 0; +#X connect 2 0 5 0; +#X connect 3 0 10 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; -#X connect 17 0 18 1; -#X connect 18 0 2 0; -#X connect 19 0 18 1; -#X connect 20 0 19 0; +#X connect 4 1 6 0; +#X connect 6 0 5 1; +#X connect 7 0 5 2; +#X connect 8 1 13 0; +#X connect 8 2 13 1; +#X connect 8 3 14 0; +#X connect 8 4 14 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 4 0; +#X connect 13 1 6 1; +#X connect 14 0 7 0; +#X connect 14 1 7 1; diff --git a/msd2D/editor/gem_masses.pd b/msd2D/editor/gem_masses.pd index 29716ba..e10d136 100644 --- a/msd2D/editor/gem_masses.pd +++ b/msd2D/editor/gem_masses.pd @@ -4,11 +4,7 @@ #X obj 107 205 gemhead; #X obj 150 393 separator; #X obj 150 298 any; -#X obj 180 162 t b f; -#X obj 220 124 - 250; -#X obj 180 107 - 250; -#X obj 180 137 / 100; -#X obj 220 153 / -100; +#X obj 166 162 t b f; #X msg 47 325 draw line; #X obj 48 300 loadbang; #X obj 141 61 unpack 0 0 0; @@ -17,22 +13,21 @@ #X obj 150 362 spigot; #X msg 239 289 1; #X obj 239 264 loadbang; -#X connect 0 0 12 0; -#X connect 1 0 13 0; +#X obj 181 126 scale4gem; +#X connect 0 0 8 0; +#X connect 1 0 9 0; #X connect 2 0 4 1; #X connect 3 0 1 0; -#X connect 4 0 15 0; +#X connect 4 0 11 0; #X connect 5 0 4 0; #X connect 5 1 1 1; #X connect 6 0 9 0; -#X connect 7 0 8 0; -#X connect 8 0 5 0; -#X connect 9 0 1 2; -#X connect 10 0 13 0; -#X connect 11 0 10 0; -#X connect 12 1 7 0; -#X connect 12 2 6 0; -#X connect 14 0 15 1; -#X connect 15 0 3 0; -#X connect 16 0 15 1; -#X connect 17 0 16 0; +#X connect 7 0 6 0; +#X connect 8 1 14 0; +#X connect 8 2 14 1; +#X connect 10 0 11 1; +#X connect 11 0 3 0; +#X connect 12 0 11 1; +#X connect 13 0 12 0; +#X connect 14 0 5 0; +#X connect 14 1 1 2; diff --git a/msd2D/editor/msd2d-editor.pd b/msd2D/editor/msd2d-editor.pd index 6566249..6b0a735 100644 --- a/msd2D/editor/msd2d-editor.pd +++ b/msd2D/editor/msd2d-editor.pd @@ -1,8 +1,7 @@ -#N canvas 130 52 866 562 10; -#N canvas 610 84 617 552 data 1; +#N canvas 84 270 866 562 10; +#N canvas 610 84 617 552 data 0; #X restore 735 71 pd data; #X obj 56 517 structures; -#X msg 152 72 \; pd-data clear; #X obj 62 308 bng 24 250 50 0 empty \$0-generate generate 0 -6 0 8 -24198 -1 -1; #X text 57 493 Data Struct Definitions; @@ -11,7 +10,7 @@ 0; #X obj 4 17 bng 20 250 50 0 empty empty load 0 -6 0 8 -258699 -1 -1 ; -#X obj 62 17 bng 20 250 50 0 empty empty save_as 0 -6 0 8 -24198 -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; @@ -20,7 +19,7 @@ #X msg 20 115 read \$1; #X obj 20 138 t b a; #X obj 20 195 s \$0-generate; -#X obj 33 17 bng 20 250 50 0 empty empty save 0 -6 0 8 -241291 -1 -1 +#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; @@ -38,12 +37,12 @@ #X restore 723 150 pd save; #X text 728 46 Edit here:; #N canvas 257 131 781 748 generator 0; -#N canvas 210 99 931 555 getter 0; +#N canvas 311 93 931 555 getter 0; #X obj 244 89 inlet; -#X obj 244 141 outlet; +#X obj 330 145 outlet; #X text 91 57 First build masses \, then links!!; -#X obj 148 281 outlet; -#N canvas 403 15 685 826 fix-mass-ids 0; +#X obj 234 285 outlet; +#N canvas 571 1 685 826 fix-mass-ids 0; #X obj 139 158 t b b b b b b b; #X msg 175 254 traverse pd-data \, next; #X msg 116 316 next; @@ -63,7 +62,6 @@ #X connect 3 0 0 1; #X connect 5 0 0 0; #X restore 192 384 pd counter; -#X obj 192 420 tabread \$0-msdid; #X obj 192 482 set mass mid; #X text 272 286 At end: fix links!; #X obj 282 386 get mass mid; @@ -78,20 +76,19 @@ #X connect 0 6 4 0; #X connect 1 0 3 0; #X connect 2 0 3 0; -#X connect 3 0 10 0; +#X connect 3 0 9 0; #X connect 3 1 2 0; -#X connect 3 2 15 0; +#X connect 3 2 14 0; +#X connect 5 0 10 0; #X connect 5 0 6 0; -#X connect 6 0 7 0; -#X connect 6 0 11 0; -#X connect 9 0 11 1; -#X connect 10 0 2 0; -#X connect 10 1 5 0; -#X connect 10 4 9 0; -#X connect 10 5 7 1; -#X connect 11 0 12 0; -#X connect 14 0 0 0; -#X restore 330 177 pd fix-mass-ids; +#X connect 8 0 10 1; +#X connect 9 0 2 0; +#X connect 9 1 5 0; +#X connect 9 4 8 0; +#X connect 9 5 6 1; +#X connect 10 0 11 0; +#X connect 13 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; @@ -120,7 +117,7 @@ #X connect 10 4 9 0; #X connect 10 5 7 2; #X connect 11 0 0 0; -#X restore 330 200 pd fix-links; +#X restore 244 196 pd fix-links; #N canvas 0 0 920 707 get-masses 0; #X obj 228 162 t b b b b b b b; #X msg 264 258 traverse pd-data \, next; @@ -150,7 +147,7 @@ #X msg 328 213 const 0; #X obj 328 234 s \$0-mid; #X obj 390 234 s \$0-msdid; -#X text 575 330 At end: start 2nd pass; +#X text 124 479 At end: start 2nd pass; #X obj 228 113 inlet; #X obj 347 564 outlet; #X obj 656 566 r \$0-current-mass-idx; @@ -159,7 +156,7 @@ #X obj 605 592 pack 0 0; #X text 598 515 Write old mids to table; #X obj 605 640 print mass-as-in-struct; -#X obj 612 368 outlet; +#X obj 161 517 outlet; #X obj 347 432 get mass x y mid mob M; #X obj 347 514 pack 0 0 0 0 0; #X connect 0 5 1 0; @@ -194,16 +191,16 @@ #X connect 26 0 17 0; #X restore 244 115 pd get-masses; #N canvas 0 0 768 708 make-links 0; -#X obj 156 229 pointer liaison; -#X msg 156 203 next; -#X msg 194 204 traverse pd-data \, bang; -#X obj 126 251 t b p; -#X obj 174 351 outlet; -#X obj 194 147 inlet; -#X obj 388 303 outlet; -#X text 440 302 Now set lid field of links.; -#X obj 156 275 get liaison mid1 mid2 K D D2; -#X obj 174 318 pack 0 0 0 0 0; +#X obj 316 252 pointer liaison; +#X msg 316 226 next; +#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 connect 0 0 3 0; #X connect 0 1 1 0; #X connect 0 2 6 0; @@ -219,66 +216,14 @@ #X connect 8 4 9 4; #X connect 9 0 4 0; #X restore 148 257 pd make-links; -#N canvas 0 0 590 588 get-ids-from-msd 0; -#X obj 176 209 r \$0-msd-attr; -#X msg 287 189 infosL; -#X obj 176 277 route Mass; -#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 206 324 pd counter; -#X obj 176 301 t a b; -#X obj 287 233 s \$0-msd; -#X obj 176 249 spigot; -#X msg 347 187 1; -#X msg 237 185 0; -#X obj 176 350 pack 0 0; -#X obj 176 374 tabwrite \$0-msdid; -#X obj 176 412 print mass-as-in-msd; -#X msg 176 325 \$1; -#X obj 239 151 t b b b b; -#X obj 239 120 inlet; -#X obj 94 208 outlet; -#X text 71 167 Then fix mass ids; -#X connect 0 0 6 0; -#X connect 1 0 5 0; -#X connect 2 0 4 0; -#X connect 3 0 9 1; -#X connect 4 0 12 0; -#X connect 4 1 3 0; -#X connect 6 0 2 0; -#X connect 7 0 6 1; -#X connect 8 0 6 1; -#X connect 9 0 10 0; -#X connect 9 0 11 0; -#X connect 12 0 9 0; -#X connect 13 0 15 0; -#X connect 13 1 8 0; -#X connect 13 2 1 0; -#X connect 13 3 7 0; -#X connect 14 0 13 0; -#X restore 330 151 pd get-ids-from-msd; #X text 569 416 TABLES USED:; -#X text 639 457 ordered mass ids; -#X text 639 481 ordered mass ids as in [msd*]; -#X text 639 510 mass id as index \, msdid as value; +#X text 610 458 ordered mass ids; +#X text 611 484 mass id as index \, msdid as value; #X text 354 111 First get masses positions \, send to msd2D \, store in table mid; -#X text 482 152 Then get numercial ids from msd2D \, store in table -msdid; -#X text 484 174 Change DS mass ids to match msdIds \, store mid2msdid +#X text 364 174 Change DS mass ids to match msdIds \, store mid2msdid mapping; -#X text 480 200 Fix mid1 and mid2 in links to match what msd2D thinks +#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; @@ -321,24 +266,21 @@ turn and crashed the car and left the toilet seat open.; #X connect 12 0 11 0; #X connect 12 1 15 0; #X connect 15 0 16 0; -#X restore 234 286 pd set-lid; -#X text 314 284 Correct lids to match what msd2D tells us; +#X restore 148 322 pd set-lid; +#X text 238 322 Correct lids to match what msd2D tells us; #X obj 475 458 table \$0-mid 4000; -#X obj 459 484 table \$0-msdid 4000; -#X obj 433 512 table \$0-mid2msdid 4000; +#X obj 433 484 table \$0-mid2msdid 4000; #X connect 0 0 6 0; #X connect 4 0 5 0; #X connect 5 0 7 0; -#X connect 6 0 1 0; -#X connect 6 1 8 0; -#X connect 7 0 3 0; -#X connect 7 1 18 0; -#X connect 8 0 4 0; +#X connect 6 0 4 0; +#X connect 6 1 1 0; +#X connect 7 0 15 0; +#X connect 7 1 3 0; #X restore 131 221 pd getter; #X obj 131 369 s \$0-msd; #X msg 175 154 reset; #X obj 175 200 s \$0-msd; -#X msg 175 175 Xmin 0 \, Xmax 800 \, Ymin 0 \, Ymax 800; #X msg 368 473 mass fix 0 100 \$1 \$2; #X obj 112 132 t b b b b; #N canvas 376 279 682 601 make-setters 0; @@ -393,18 +335,19 @@ turn and crashed the car and left the toilet seat open.; #X obj 112 91 inlet; #X msg 131 324 link ml \$1 \$2 \$3 \$4 \$5; #X msg 189 275 mass id \$4 \$5 \$1 \$2; -#X connect 0 0 10 0; -#X connect 0 1 11 0; +#X msg 175 177 Xmin 0 \, Xmax 1200 \, Ymin 0 \, Ymax 800; +#X connect 0 0 9 0; +#X connect 0 1 10 0; #X connect 2 0 3 0; -#X connect 4 0 3 0; -#X connect 6 0 7 0; -#X connect 6 1 0 0; -#X connect 6 2 4 0; -#X connect 6 3 2 0; -#X connect 8 0 1 0; -#X connect 9 0 6 0; +#X connect 5 0 6 0; +#X connect 5 1 0 0; +#X connect 5 2 11 0; +#X connect 5 3 2 0; +#X connect 7 0 1 0; +#X connect 8 0 5 0; +#X connect 9 0 1 0; #X connect 10 0 1 0; -#X connect 11 0 1 0; +#X connect 11 0 3 0; #X restore 62 337 pd generator; #N canvas 0 0 718 819 activate 0; #X obj 233 284 msd2D; @@ -417,7 +360,6 @@ turn and crashed the car and left the toilet seat open.; #X obj 177 125 gemhead; #X obj 233 396 route massesPos linksPos; #X obj 139 498 gemwin; -#X msg 139 447 create \, 1; #X msg 139 471 0 \, destroy; #X msg 315 233 forceX id 200; #X obj 249 354 s \$0-msd-out; @@ -450,117 +392,159 @@ turn and crashed the car and left the toilet seat open.; #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 msg 139 447 reset \, create \, 1; #X connect 0 0 8 0; -#X connect 0 0 13 0; -#X connect 0 1 16 0; +#X connect 0 0 12 0; +#X connect 0 1 15 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 23 0; -#X connect 8 0 17 0; -#X connect 8 0 20 0; -#X connect 8 1 18 0; -#X connect 8 1 21 0; +#X connect 7 0 22 0; +#X connect 8 0 16 0; +#X connect 8 0 19 0; +#X connect 8 1 17 0; +#X connect 8 1 20 0; #X connect 10 0 9 0; -#X connect 11 0 9 0; -#X connect 12 0 0 0; -#X connect 14 0 10 0; -#X connect 14 1 11 0; -#X connect 15 0 14 0; -#X connect 15 0 20 1; -#X connect 15 0 21 1; -#X connect 15 0 35 0; -#X connect 19 0 34 0; -#X connect 19 0 38 0; -#X connect 20 0 4 0; -#X connect 21 0 5 0; -#X connect 23 0 6 0; -#X connect 23 1 24 0; -#X connect 25 0 33 0; -#X connect 26 0 30 0; -#X connect 27 0 38 1; -#X connect 28 0 29 0; -#X connect 29 0 19 0; -#X connect 30 0 15 0; -#X connect 30 1 28 0; -#X connect 31 0 32 0; -#X connect 32 0 15 0; -#X connect 33 0 19 0; -#X connect 33 1 31 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 19 0 4 0; +#X connect 20 0 5 0; +#X connect 22 0 6 0; +#X connect 22 1 23 0; +#X connect 24 0 32 0; +#X connect 25 0 29 0; +#X connect 26 0 37 1; +#X connect 27 0 28 0; +#X connect 28 0 18 0; +#X connect 29 0 14 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 35 0 37 0; -#X connect 38 0 23 0; -#X connect 39 0 4 1; -#X connect 40 0 5 1; +#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 restore 61 414 pd activate; #X obj 61 378 tgl 24 0 empty empty GEM 0 -6 0 8 -233017 -1 -1 0 1; #X obj 97 378 tgl 24 0 empty empty Graphical_Datastructures 0 -6 0 8 -1 -262144 -1 0 1; #X text 275 306 Press "generate" to generate messages to msd2D and create the physical model inside.; -#N canvas 0 0 751 433 ignore 0; -#X obj 102 264 print ToMSD; -#X obj 102 234 spigot; -#X obj 139 181 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 0 -1; -#X obj 102 207 r \$0-msd; -#X obj 281 239 spigot; -#X obj 318 186 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 0 +#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 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 0 -6 0 8 -262144 -1 -1 0 1; -#X obj 281 267 print FromMSD; -#X obj 281 212 r \$0-msd-out; +#X obj 147 265 print FromMSD; +#X obj 147 210 r \$0-msd-out; #N canvas 0 0 578 686 setter 0; -#X obj 137 196 mass-set 12; -#X obj 164 167 mass-set 11; -#X obj 133 167 mass-set 10; -#X obj 160 196 mass-set 9; -#X obj 215 220 mass-set 8; -#X obj 82 220 mass-set 7; -#X obj 175 187 mass-set 6; -#X obj 122 187 mass-set 5; -#X obj 173 235 mass-set 4; -#X obj 124 235 mass-set 3; -#X obj 184 300 mass-set 2; -#X obj 113 300 mass-set 1; -#X obj 149 100 mass-set 0; +#X obj 930 100 mass-set 31; +#X obj 900 100 mass-set 30; +#X obj 870 100 mass-set 29; +#X obj 840 100 mass-set 28; +#X obj 810 100 mass-set 27; +#X obj 780 100 mass-set 26; +#X obj 750 100 mass-set 25; +#X obj 720 100 mass-set 24; +#X obj 690 100 mass-set 23; +#X obj 660 100 mass-set 22; +#X obj 630 100 mass-set 21; +#X obj 600 100 mass-set 20; +#X obj 570 100 mass-set 19; +#X obj 540 100 mass-set 18; +#X obj 510 100 mass-set 17; +#X obj 480 100 mass-set 16; +#X obj 450 100 mass-set 15; +#X obj 420 100 mass-set 14; +#X obj 390 100 mass-set 13; +#X obj 360 100 mass-set 12; +#X obj 330 100 mass-set 11; +#X obj 300 100 mass-set 10; +#X obj 270 100 mass-set 9; +#X obj 240 100 mass-set 8; +#X obj 210 100 mass-set 7; +#X obj 180 100 mass-set 6; +#X obj 150 100 mass-set 5; +#X obj 120 100 mass-set 4; +#X obj 90 100 mass-set 3; +#X obj 60 100 mass-set 2; +#X obj 30 100 mass-set 1; +#X obj 0 100 mass-set 0; #X restore 305 122 pd setter; #N canvas 0 0 822 675 lsetter 0; -#X obj 133 167 link-set 23; -#X obj 160 196 link-set 22; -#X obj 164 167 link-set 21; -#X obj 137 196 link-set 20; -#X obj 133 167 link-set 19; -#X obj 133 167 link-set 18; -#X obj 124 235 link-set 17; -#X obj 175 187 link-set 16; -#X obj 173 235 link-set 15; -#X obj 122 187 link-set 14; -#X obj 124 235 link-set 13; -#X obj 175 187 link-set 12; -#X obj 122 187 link-set 11; -#X obj 82 220 link-set 10; -#X obj 175 187 link-set 9; -#X obj 215 220 link-set 8; -#X obj 113 300 link-set 7; -#X obj 113 300 link-set 6; -#X obj 184 300 link-set 5; -#X obj 173 235 link-set 4; -#X obj 149 100 link-set 3; -#X obj 164 167 link-set 2; -#X obj 122 187 link-set 1; -#X obj 160 196 link-set 0; +#X obj 0 100 link-set 15; +#X obj 30 100 link-set 23; +#X obj 60 100 link-set 7; +#X obj 90 100 link-set 27; +#X obj 120 100 link-set 11; +#X obj 150 100 link-set 19; +#X obj 180 100 link-set 3; +#X obj 210 100 link-set 29; +#X obj 240 100 link-set 13; +#X obj 270 100 link-set 21; +#X obj 300 100 link-set 5; +#X obj 330 100 link-set 25; +#X obj 360 100 link-set 9; +#X obj 390 100 link-set 17; +#X obj 420 100 link-set 1; +#X obj 450 100 link-set 30; +#X obj 480 100 link-set 14; +#X obj 510 100 link-set 22; +#X obj 540 100 link-set 6; +#X obj 570 100 link-set 26; +#X obj 600 100 link-set 10; +#X obj 630 100 link-set 18; +#X obj 660 100 link-set 2; +#X obj 690 100 link-set 28; +#X obj 720 100 link-set 12; +#X obj 750 100 link-set 20; +#X obj 780 100 link-set 4; +#X obj 810 100 link-set 24; +#X obj 840 100 link-set 8; +#X obj 870 100 link-set 16; +#X obj 900 100 link-set 0; #X restore 304 145 pd lsetter; #X text 288 98 Automatic scripting targets; #X text 65 66 You can ignore this stuff here \, unless something goes wrong.; -#X obj 407 239 spigot; -#X obj 444 186 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 1 +#X obj 269 233 spigot; +#X obj 306 180 tgl 15 0 empty empty debug 0 -6 0 8 -262144 -1 -1 1 1; -#X obj 407 212 r \$0-msd-attr; -#X obj 407 270 print AttrMSD; +#X obj 269 206 r \$0-msd-attr; +#X obj 269 264 print AttrMSD; #X obj 532 270 s \$0-msd; #X msg 532 249 infosL; +#X obj 143 363 spigot; +#X obj 180 310 tgl 15 0 empty empty global-send 0 -6 0 8 -262144 -1 +-1 0 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 0 1; +#X obj 280 338 r MSD-IN-GLOBAL; +#X obj 280 393 s \$0-msd; #X connect 1 0 0 0; #X connect 2 0 1 1; #X connect 3 0 1 0; @@ -571,6 +555,16 @@ wrong.; #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 restore 149 517 pd ignore this; #X floatatom 133 385 5 10 1000 1 frequency - -; #X text 272 364 Visualization is done using either a GEM OpenGL window @@ -581,24 +575,43 @@ metro \, to accelerate or slow down the simulation.; 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. :); -#N canvas 0 0 526 412 forces 0; -#X obj 183 333 s \$0-msd; -#X obj 282 273 hsl 128 24 -500 500 0 1 empty empty empty -2 -6 0 8 +#N canvas 705 166 576 613 forces 0; +#X obj 295 415 s \$0-msd; +#X obj 394 355 hsl 128 24 -500 500 0 1 empty empty empty -2 -6 0 8 -262144 -1 -1 6350 1; -#X obj 183 148 vsl 24 128 -500 500 0 1 empty empty empty 0 -8 0 8 -262144 +#X obj 295 230 vsl 24 128 -500 500 0 1 empty empty empty 0 -8 0 8 -262144 -1 -1 6350 1; -#X msg 183 306 forceY id \$1; -#X msg 279 306 forceX id \$1; -#X obj 183 284 * -1; -#X obj 183 92 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1 +#X msg 295 388 forceY id \$1; +#X msg 391 388 forceX id \$1; +#X obj 295 366 * -1; +#X obj 295 174 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1 0 1; -#X obj 279 213 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1 +#X obj 391 295 tgl 24 0 empty empty constant? 0 -6 0 8 -262144 -1 -1 0 1; -#X obj 183 123 metro 10; -#X obj 279 244 metro 10; -#X msg 343 243 0; -#X msg 151 122 0; -#X text 118 45 Add some forces to the system.; +#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 connect 1 0 4 0; #X connect 2 0 5 0; #X connect 3 0 0 0; @@ -610,16 +623,33 @@ masses will get created. Use this to mass-connect masses. :); #X connect 9 0 1 0; #X connect 10 0 1 0; #X connect 11 0 2 0; +#X connect 13 0 21 0; +#X connect 14 0 20 0; +#X connect 15 0 13 0; +#X connect 16 0 15 1; +#X connect 16 0 17 1; +#X connect 16 0 23 1; +#X connect 16 0 27 1; +#X connect 17 0 14 0; +#X connect 18 0 15 0; +#X connect 19 0 22 0; +#X connect 22 0 17 0; +#X connect 23 0 26 0; +#X connect 24 0 23 0; +#X connect 26 0 25 0; +#X connect 27 0 30 0; +#X connect 28 0 27 0; +#X connect 30 0 29 0; #X restore 60 457 pd forces; #X obj 286 518 tgl 15 0 \$0-gem-masses-on empty gem_m 0 -6 0 8 -233017 -1 -1 0 1; #X obj 328 518 tgl 15 0 \$0-gem-links-on empty gem_l 0 -6 0 8 -233017 -1 -1 0 1; -#N canvas 84 573 450 300 props 0; +#N canvas 557 667 450 300 props 0; #X obj 117 204 s \$0-msd; #X obj 117 46 vsl 15 64 0 10 0 0 empty empty D 0 -8 0 8 -262144 -1 -1 0 1; -#X obj 141 46 vsl 15 64 0 1 0 0 empty empty D2 0 -8 0 8 -262144 -1 +#X obj 141 46 vsl 15 64 0 10 0 0 empty empty D2 0 -8 0 8 -262144 -1 -1 0 1; #X obj 90 46 vsl 15 64 0 100 0 0 empty empty K 0 -8 0 8 -262144 -1 -1 0 1; @@ -643,7 +673,6 @@ parameters of links and send forces.; from left to right. one2many will connect one mass to many others. First select the first mass \, the set the toggle to 1 \, after that select the other masses and set toggle to 0; -#X text 150 47 Clear all:; #X text 270 181 "L" is only active \, if the green toggle "Key:L" is set to on. Otherwise use the yellow "link" bang.; #X text 705 123 Save network to disk:; @@ -652,9 +681,15 @@ set to on. Otherwise use the yellow "link" bang.; #X text 274 23 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 connect 3 0 7 0; -#X connect 8 0 9 0; -#X connect 8 1 10 0; -#X connect 9 0 8 0; -#X connect 10 0 8 1; -#X connect 13 0 8 2; +#X obj 152 86 s pd-data; +#X msg 152 46 clear; +#X msg 152 66 sort; +#X text 150 21 Clear or sort:; +#X connect 2 0 6 0; +#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 12 0 7 2; +#X connect 28 0 27 0; +#X connect 29 0 27 0; -- cgit v1.2.1