Hi,
i replaced the [keynamedown] and added the possibility to choose inlets and outlets by number (select an object e.g. demux in the help-patch press a number [first outlet is 1] select another object e.g. mux and press the number representing the inlet [if you want to abort after the first object press ESC]) its really promising. (i used it to connect the message boxes to [demux] ;) ) cant await the canvasposition object being working on other "third party" objects. g.
Hans-Christoph Steiner:
Sounds very cool, but the [keynamedown] object seems to be missing. I got it from trunk/abstractions/sfruit/keynamedown.pd
Works wonderfully! For ideas, check out this wiki page: http://puredata.info/dev/GuiIdeas plus I think the DesireData people put out a couple video demos.
.hc
On Jun 16, 2009, at 8:55 PM, Luke Iannini wrote:
Yo all, My usual caveat applies: that I'm as nearly unconscious as I always am when I'm releasing public works :)
I had a flight today which gave me a chance to finish up [canvasselect] (by merging in some code from zexy's tabdump in my usual naive fashion to make it output index-lists rather than just post() the currently selected objects (thus, IO, you should probably double check my work :) )), and then put it to work starting to create some patching-assist functionality similar to max-toolbox.
I'm pretty excited for what can come out of this!
What I've got so far is the start of the [meta-abs] library, [meta-connect] - it works like: select one or more objects, press "[", select a new group of objects you'd like to connect the first group to, and press "]". [meta-connect] will magically connect them all (you can make some lovely line art selecting a big pile of [bng]s :) ).
Not amazingly useful, yet, but the start o' something good : ). I sketched a mini-domain language for this sort of thing here: http://puredata.info/dev/GuiIdeas#object-numbering a long while ago. I'd love to hear some ideas on how such complex autopatching would work ideally, as I'll be implementing a suite of this type of thing over the next couple weeks.
IOhannes, do you know if it's possible to get and set the coordinates of arbitrary objects simply by index, much like [canvasposition] can do now but including externals etc. where you can't place a [canvasposition] object? This would enable the final piece of maxtoolbox layout stuff, which was Pd's Tidy... function times 10000, and would let me do stuff like "connect the 4 horizontally-aligned selected objects above to the 4 selected objects below" or simply "connect these all top to bottom" with a single keycommand.
Back soon with more... Best Luke <canvasselect-list_of_selected_objects.diff><meta-connect.pd><meta-connect-help.pd><canvasselect.pd_darwin>_______________________________________________
Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
I spent 33 years and four months in active military service and during that period I spent most of my time as a high class muscle man for Big Business, for Wall Street and the bankers. - General Smedley Butler
Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
#N canvas 0 22 498 408 10; #X obj 48 108 meta-connect; #X obj 338 150 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 211 143 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 297 142 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 262 137 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 188 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 310 232 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 381 243 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 242 249 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 10 17 [meta-connect] alpha 0.1 - select any number of the bangs above and press [ , then select any number of the bangs below and press ]. The first group will automatically connect themselves to the second group.; #X obj 222 322 demux 1 2 3 4 5 6 7 8; #X obj 222 374 mux 12 2 3 4 5 6 7; #X connect 7 0 7 0;
#N canvas 529 32 667 661 10; #X obj 169 334 route connect to; #X msg 169 163 connect; #X msg 193 198 to; #X obj 148 386 list; #X obj 215 387 t b a; #X obj 148 411 list-drip; #X obj 221 453 list; #X obj 169 311 list trim; #X obj 146 523 list prepend; #X obj 148 454 t b a; #X obj 146 499 list-drip; #X text 271 370 i am exhausted making this , probably a much more efficient way exists; #X obj 146 599 sendcanvas 1; #X obj 232 265 canvasselect 1; #X obj 169 233 t a b; #X obj 169 288 list append; #X obj 259 -16 key; #X msg 332 128 0; #X msg 342 138 1; #X msg 352 148 2; #X msg 362 158 3; #X msg 372 128 4; #X msg 382 138 5; #X msg 392 148 6; #X msg 402 158 7; #X msg 412 128 8; #X obj 249 514 list; #X obj 377 52 expr if($f1 > 48 && $f1 < 58 , 1 , 0); #X obj 332 271 demux; #X obj 378 226 f; #X obj 405 227 + 1; #X obj 378 246 mod 2; #X obj 377 73 sel 1; #X obj 332 100 route 49 50 51 52 53 54 55 56 57 27; #X msg 146 569 connect $1 $4 $2 $3; #X msg 518 169 0; #X obj 259 7 t f f f; #X obj 259 81 f; #X obj 286 82 + 1; #X obj 259 101 mod 2; #X obj 259 121 sel 0; #X obj 259 29 expr if($f1 > 48 && $f1 < 58 , 1 , 0); #X obj 259 50 sel 1; #X obj 146 544 list append; #X connect 0 0 3 1; #X connect 0 1 4 0; #X connect 1 0 14 0; #X connect 2 0 14 0; #X connect 3 0 5 0; #X connect 4 0 3 0; #X connect 4 1 6 1; #X connect 5 0 9 0; #X connect 6 0 10 0; #X connect 7 0 0 0; #X connect 8 0 43 0; #X connect 9 0 6 0; #X connect 9 1 8 1; #X connect 10 0 8 0; #X connect 13 0 15 1; #X connect 14 0 15 0; #X connect 14 1 13 0; #X connect 15 0 7 0; #X connect 16 0 36 0; #X connect 17 0 28 0; #X connect 18 0 28 0; #X connect 19 0 28 0; #X connect 20 0 28 0; #X connect 21 0 28 0; #X connect 22 0 28 0; #X connect 23 0 28 0; #X connect 24 0 28 0; #X connect 25 0 28 0; #X connect 26 0 43 1; #X connect 27 0 32 0; #X connect 28 0 26 1; #X connect 28 1 26 0; #X connect 29 0 30 0; #X connect 29 0 31 0; #X connect 30 0 29 1; #X connect 31 0 28 1; #X connect 32 0 29 0; #X connect 33 0 17 0; #X connect 33 1 18 0; #X connect 33 2 19 0; #X connect 33 3 20 0; #X connect 33 4 21 0; #X connect 33 5 22 0; #X connect 33 6 23 0; #X connect 33 7 24 0; #X connect 33 8 25 0; #X connect 33 9 15 1; #X connect 33 9 3 1; #X connect 33 9 6 1; #X connect 33 9 8 1; #X connect 33 9 26 1; #X connect 33 9 35 0; #X connect 33 9 43 1; #X connect 34 0 12 0; #X connect 35 0 29 1; #X connect 35 0 37 1; #X connect 36 0 41 0; #X connect 36 1 33 0; #X connect 36 2 27 0; #X connect 37 0 38 0; #X connect 37 0 39 0; #X connect 38 0 37 1; #X connect 39 0 40 0; #X connect 40 0 1 0; #X connect 40 1 2 0; #X connect 41 0 42 0; #X connect 42 0 37 0; #X connect 43 0 34 0;