Update of /cvsroot/pure-data/externals/nusmuk/editor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3733
Added Files: README ds-next.pd ds-vnext.pd expr_scale.pd gem_links.pd gem_masses.pd gem_strings.pd link-set.pd link2masses.pd make_circ.pd make_rect.pd mass-set.pd morelinks.pd msd-editor.pd msd_append.pd scale-ds2msd.pd scale-msd2ds.pd sixpack.pd structures.pd Log Message:
As the msd-editor is used for 2D and 3D messages, I moved it here.
Changes include removal of D2, addition of liaison-fields for P, Lmin and Lmax. Setting the symbolic ID now also is possible. If I would use version numbers, I'd bump it one up for this release.
--- NEW FILE: make_circ.pd --- #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;
--- NEW FILE: gem_masses.pd --- #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;
--- NEW FILE: mass-set.pd --- #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;
--- NEW FILE: ds-vnext.pd --- #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;
--- NEW FILE: expr_scale.pd --- #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;
--- NEW FILE: ds-next.pd --- #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;
--- NEW FILE: scale-ds2msd.pd --- #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;
--- NEW FILE: gem_strings.pd --- #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;
--- NEW FILE: msd_append.pd --- #N canvas 862 152 89 147 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 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 obj 233 198 r $0-msid; #X obj 68 231 append mass x y mid mob M sid; #X obj 678 195 loadbang; #X obj 678 249 s $0-msid; #X msg 678 221 0; #X connect 0 0 35 6; #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 35 2; #X connect 11 0 10 0; #X connect 11 1 1 0; #X connect 11 3 3 0; #X connect 11 5 35 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 35 0; #X connect 22 0 35 1; #X connect 23 0 35 4; #X connect 24 0 25 0; #X connect 25 0 27 0; #X connect 25 1 26 0; #X connect 27 0 26 0; #X connect 28 0 24 0; #X connect 29 0 32 0; #X connect 30 0 2 0; #X connect 31 0 35 3; #X connect 32 0 35 0; #X connect 32 1 31 0; #X connect 33 0 31 1; #X connect 34 0 35 5; #X connect 36 0 38 0; #X connect 38 0 37 0; #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 0 256; #X obj 2 79 cnv 15 80 60 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 1024-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 1024-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 1024-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 obj 35 111 nbx 4 14 -1e+37 1e+37 0 0 $0-msid $0-msid SID -30 8 0 10 -261681 -1 -1 0 256; #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 130 1;
--- NEW FILE: make_rect.pd --- #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;
--- NEW FILE: sixpack.pd --- #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;
--- NEW FILE: link2masses.pd --- #N canvas 567 387 697 434 10; #X obj 42 51 inlet; #X obj 42 83 t a b; #X obj 360 209 append liaison mid1 x1 y1; #X obj 530 186 pointer; #X msg 530 157 traverse pd-data , bang; #X obj 42 118 unpack p p; #X obj 360 158 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 text 227 54 List: K , D , sid , P , Lmin , Lmax; #X obj 42 249 set liaison mid2 x2 y2 K D sid P Lmin Lmax; #X obj 178 89 unpack 0 0 0 0 0 0; #X connect 0 0 1 0; #X connect 1 0 5 0; #X connect 1 1 4 0; #X connect 2 0 11 9; #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 12 0; #X connect 12 0 11 3; #X connect 12 1 11 4; #X connect 12 2 11 5; #X connect 12 3 11 6; #X connect 12 4 11 7; #X connect 12 5 11 8;
--- NEW FILE: scale-msd2ds.pd --- #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;
--- NEW FILE: morelinks.pd --- #N canvas 225 469 135 205 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 256 416 r $0-link-param; #X obj 113 225 ds-vnext; #X obj 184 454 link2masses; #X connect 0 0 11 0; #X connect 0 1 19 0; #X connect 1 0 20 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 19 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 18 0 20 1; #X connect 19 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 254 440 r $0-link-param; #X obj 69 281 ds-vnext; #X obj 182 473 link2masses; #X connect 0 0 6 0; #X connect 1 0 15 0; #X connect 2 0 0 0; #X connect 3 0 14 0; #X connect 3 1 1 0; #X connect 4 0 12 0; #X connect 5 0 3 0; #X connect 5 1 14 0; #X connect 5 2 10 0; #X connect 6 0 11 0; #X connect 6 1 1 1; #X connect 7 0 14 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 13 0 15 1; #X connect 14 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 100 empty empty Link_Params 10 10 0 10 -195568 -1 0; #X obj 20 121 nbx 4 14 -1e+37 1e+37 0 0 $0-K $0-K K -12 8 0 10 -225271 -1 -1 10 256; #X obj 46 182 nbx 5 14 -1e+37 1e+37 0 0 $0-lsid $0-lsid SID -30 8 0 10 -261681 -1 -1 0 256; #X obj 20 138 nbx 4 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 746 411 linkparam 0; #X obj 34 229 s $0-link-param; #X obj 38 104 t b f; #X obj 81 106 t b f; #X obj 28 27 r $0-K; #X obj 38 56 r $0-D; #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 443 50 loadbang; #X text 438 28 Init; #X obj 485 236 s $0-lsid; #X msg 485 159 0; #X obj 81 80 r $0-lsid; #X msg 515 131 1; #X obj 515 208 s $0-P; #X obj 151 104 t b f; #X obj 151 78 r $0-P; #X msg 563 129 0; #X obj 563 166 s $0-Lmin; #X obj 632 202 s $0-Lmax; #X msg 632 132 1e+10; #X obj 34 196 pack 0 0 0 0 0 0; #X obj 195 106 t b f; #X obj 235 106 t b f; #X obj 195 53 r $0-Lmin; #X obj 235 78 r $0-Lmax; #X connect 1 0 30 0; #X connect 1 1 30 1; #X connect 2 0 30 0; #X connect 2 1 30 2; #X connect 3 0 30 0; #X connect 4 0 1 0; #X connect 8 0 11 0; #X connect 9 0 13 0; #X connect 10 0 14 0; #X connect 11 0 12 0; #X connect 11 1 5 0; #X connect 12 0 5 0; #X connect 13 0 15 0; #X connect 13 1 6 0; #X connect 14 0 16 0; #X connect 14 1 7 0; #X connect 15 0 6 0; #X connect 16 0 7 0; #X connect 17 0 8 0; #X connect 17 0 9 0; #X connect 17 0 10 0; #X connect 17 0 20 0; #X connect 17 0 22 0; #X connect 17 0 26 0; #X connect 17 0 29 0; #X connect 20 0 19 0; #X connect 21 0 2 0; #X connect 22 0 23 0; #X connect 24 0 30 0; #X connect 24 1 30 3; #X connect 25 0 24 0; #X connect 26 0 27 0; #X connect 29 0 28 0; #X connect 30 0 0 0; #X connect 31 0 30 0; #X connect 31 1 30 4; #X connect 32 0 30 0; #X connect 32 1 30 5; #X connect 33 0 31 0; #X connect 34 0 32 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 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 obj 177 418 link2masses; #X connect 0 0 5 0; #X connect 0 1 10 0; #X connect 0 2 9 0; #X connect 1 0 2 0; #X connect 1 1 9 0; #X connect 2 0 10 0; #X connect 2 1 3 1; #X connect 2 1 0 1; #X connect 3 0 11 0; #X connect 4 0 1 0; #X connect 5 0 10 0; #X connect 5 1 3 0; #X connect 6 0 4 0; #X connect 8 0 11 1; #X connect 9 0 1 0; #X connect 10 0 0 0; #X restore 137 46 pd ilinker; #X obj 210 47 select 108 114; #X obj 68 132 nbx 3 14 0 1e+37 0 0 $0-Lmin $0-Lmin Lmin 0 -8 0 10 -225271 -1 -1 0 256; #X obj 20 155 nbx 3 14 -1e+37 1e+37 0 0 $0-P $0-P P -12 8 0 10 -225271 -1 -1 1 256; #X obj 67 162 nbx 6 14 0 1e+37 0 0 $0-Lmax $0-Lmax Lmax 0 -8 0 10 -225271 -1 -1 0 256; #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 200 1;
--- NEW FILE: structures.pd --- #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 float sid; #X restore 132 125 pd mass; #N canvas 73 302 487 201 liaison 0; #X obj 23 73 drawpolygon sid 2 x1 y1 x2 y2; #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 P float Lmin float Lmax float sid; #X restore 132 147 pd liaison;
--- NEW FILE: README --- 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.
--- NEW FILE: link-set.pd --- #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;
--- NEW FILE: gem_links.pd --- #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;
--- NEW FILE: msd-editor.pd --- #N canvas 416 29 415 616 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 740 0 1022 952 data 0; #X restore 323 192 pd data; #X obj 221 276 bng 24 250 50 0 $0-generate $0-generate generate 0 -6 0 8 -24198 -1 -1; #N canvas 366 103 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; [...1092 lines suppressed...] #X text 109 146 Generate the MSD-Network:; #X text 17 170 Visualize the network using GEM or DS:; #X restore 95 554 pd help; #X obj 32 431 tgl 16 0 $0-fullscreen $0-fullscreen fullscreen 0 -6 0 8 -195568 -1 -1 0 1; #X obj 319 408 nbx 5 14 -1e+37 1e+37 0 0 empty empty link-sid 0 -6 0 10 -195568 -1 -1 0 256; #X obj 95 582 structures; #X obj 110 50 morelinks; #X connect 6 0 7 0; #X connect 6 1 8 0; #X connect 7 0 6 0; #X connect 8 0 6 1; #X connect 9 0 6 2; #X connect 13 0 12 0; #X connect 14 0 12 0; #X connect 30 0 11 1; #X connect 31 0 11 2; #X connect 32 0 11 0; #X connect 38 0 11 3;