aboutsummaryrefslogtreecommitdiff
path: root/nsend
diff options
context:
space:
mode:
authorLuke Iannini <lukeiannini@users.sourceforge.net>2008-02-08 09:51:34 +0000
committerLuke Iannini <lukeiannini@users.sourceforge.net>2008-02-08 09:51:34 +0000
commit6f03ce6f2bee8102babead9adc06b3551acac85c (patch)
treedd46d2e055eda6b10a3753c9cf63425a1f285f77 /nsend
initial import from my personal svnsvn2git-root
svn path=/trunk/abstractions/senderfruit/; revision=9380
Diffstat (limited to 'nsend')
-rw-r--r--nsend/nr-help.pd148
-rw-r--r--nsend/nr.pd156
-rw-r--r--nsend/nreceive-help.pd148
-rw-r--r--nsend/nreceive-receiver.pd4
-rw-r--r--nsend/nreceive.pd156
-rw-r--r--nsend/ns-help.pd148
-rw-r--r--nsend/ns.pd156
-rw-r--r--nsend/nsend-help.pd148
-rw-r--r--nsend/nsend-sender.pd4
-rw-r--r--nsend/nsend.pd156
10 files changed, 1224 insertions, 0 deletions
diff --git a/nsend/nr-help.pd b/nsend/nr-help.pd
new file mode 100644
index 0000000..112f448
--- /dev/null
+++ b/nsend/nr-help.pd
@@ -0,0 +1,148 @@
+#N canvas 694 249 699 631 10;
+#X obj 45 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 72 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 99 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 126 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 19 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 45 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 72 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 99 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 126 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 19 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 44 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 71 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 98 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 125 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 18 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 282 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 307 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 331 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 258 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 284 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 311 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 338 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 258 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 526 109 symbol ham;
+#X symbolatom 528 333 15 0 0 0 - - -;
+#X floatatom 513 354 5 0 0 0 - - -;
+#X floatatom 514 92 5 0 0 0 - - -;
+#X msg 538 130 set test;
+#X msg 550 154 list 4 5 6 7 9;
+#X msg 543 310 test;
+#X text 15 513 Internally \, the sends and receives are named thusly
+\, so you can take advantage of that if you like.;
+#X text 554 581 Luke Iannini \, 2007;
+#X obj 16 597 nr;
+#X obj 49 597 ns;
+#X text 78 598 Abbreviations.;
+#X text 20 8 [nsend] and [nreceive] -- send groups of messages conveniently
+;
+#X msg 16 543 \; lists0 33 \; lists1 symbol this-works-too;
+#X msg 366 102 sendB;
+#X msg 366 78 sendA;
+#X msg 365 286 sendA;
+#X msg 365 308 sendB;
+#X obj 281 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 308 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 335 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 255 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 19 181 nreceive \$0nutter 5;
+#X obj 18 260 nreceive \$0nutter 5;
+#X obj 513 233 nreceive lists 8;
+#X obj 258 218 nreceive sendA 4;
+#X obj 255 332 nreceive sendB 4;
+#X obj 19 150 nsend \$0nutter 5;
+#X obj 514 202 nsend lists 8;
+#X obj 258 155 nsend sendA 4;
+#X msg 366 125 sendC;
+#X msg 366 171 sendC;
+#X msg 366 192 sendA;
+#X msg 579 308 4 5 6 7 9;
+#X obj 554 595 pddplink http://proyekto.net;
+#X obj 579 261 list prepend set;
+#X text 249 418 are reassignable through the;
+#X text 250 431 rightmost or only inlet for;
+#X text 249 445 nsend and nreceive \, respectively;
+#X text 249 405 Both nsends and nreceives;
+#X text 12 445 With no second argument \, nsend;
+#X text 12 458 and nreceive will default to;
+#X obj 20 402 nsend \$0abc;
+#X obj 99 402 nreceive \$0abc;
+#X floatatom 20 380 5 0 0 0 - - -;
+#X floatatom 99 425 5 0 0 0 - - -;
+#X obj 579 283 list trim;
+#X text 510 388 All datatypes work.;
+#X text 12 472 default behavior.;
+#X connect 0 0 50 1;
+#X connect 1 0 50 2;
+#X connect 2 0 50 3;
+#X connect 3 0 50 4;
+#X connect 4 0 50 0;
+#X connect 15 0 52 1;
+#X connect 16 0 52 2;
+#X connect 17 0 52 3;
+#X connect 18 0 52 0;
+#X connect 23 0 51 1;
+#X connect 26 0 51 0;
+#X connect 27 0 51 2;
+#X connect 28 0 51 7;
+#X connect 37 0 52 4;
+#X connect 38 0 52 4;
+#X connect 39 0 49 0;
+#X connect 40 0 49 0;
+#X connect 45 0 9 0;
+#X connect 45 1 5 0;
+#X connect 45 2 6 0;
+#X connect 45 3 7 0;
+#X connect 45 4 8 0;
+#X connect 46 0 14 0;
+#X connect 46 1 10 0;
+#X connect 46 2 11 0;
+#X connect 46 3 12 0;
+#X connect 46 4 13 0;
+#X connect 47 0 25 0;
+#X connect 47 1 24 0;
+#X connect 47 2 29 0;
+#X connect 47 7 58 0;
+#X connect 48 0 22 0;
+#X connect 48 1 19 0;
+#X connect 48 2 20 0;
+#X connect 48 3 21 0;
+#X connect 49 0 44 0;
+#X connect 49 1 41 0;
+#X connect 49 2 42 0;
+#X connect 49 3 43 0;
+#X connect 53 0 52 4;
+#X connect 54 0 48 0;
+#X connect 55 0 48 0;
+#X connect 58 0 69 0;
+#X connect 66 0 68 0;
+#X connect 67 0 65 0;
+#X connect 69 0 56 0;
diff --git a/nsend/nr.pd b/nsend/nr.pd
new file mode 100644
index 0000000..df43f33
--- /dev/null
+++ b/nsend/nr.pd
@@ -0,0 +1,156 @@
+#N canvas 911 22 1013 626 10;
+#X obj 154 60 \$2;
+#X obj 154 152 until;
+#X obj 154 178 t b b b b;
+#X obj 510 358 v \$0x;
+#X obj 496 381 v \$0cnt;
+#X obj 152 259 v \$0x;
+#X obj 313 310 v \$0x;
+#X obj 352 254 v \$0cnt;
+#X obj 313 226 t b b b;
+#X obj 313 388 s \$0self;
+#X obj 539 43 namecanvas \$0self;
+#X obj 14 463 s \$0self;
+#X obj 14 312 * 2;
+#X obj 14 360 t f f;
+#X obj 14 407 pack f f;
+#X obj 59 377 + 1;
+#X obj 152 303 s \$0self;
+#X msg 14 435 connect \$1 0 \$2 0;
+#X obj 14 225 v \$0cnt;
+#X obj 154 7 initbang;
+#X obj 14 279 abs;
+#X obj 537 195 - 1;
+#X obj 332 281 \$0;
+#X obj 313 335 pack f f f;
+#X msg 804 278 clear;
+#X obj 694 245 \$2;
+#X obj 694 318 until;
+#X obj 694 268 sel 0;
+#X msg 694 291 1;
+#X obj 758 394 f 0;
+#X obj 786 394 + 1;
+#X obj 758 429 * 15;
+#X obj 694 480 pack f f f s;
+#X obj 717 396 \$0;
+#X obj 694 354 t b b b b;
+#X obj 694 446 f;
+#X msg 773 302 0;
+#X obj 694 208 t b b b a;
+#X obj 892 225 t a;
+#X obj 829 394 list append;
+#X obj 859 14 inlet;
+#X obj 859 39 list;
+#X obj 154 33 t b b;
+#X obj 510 219 * 100;
+#X obj 510 243 t f b;
+#X obj 537 291 * 100;
+#X obj 510 331 -;
+#X obj 537 314 - 500;
+#N canvas 1194 177 440 379 \$0receivers 0;
+#X restore 859 114 pd \$0receivers;
+#X obj 859 62 s \$0receivename;
+#X obj 694 180 r \$0receivename;
+#X msg 694 520 obj 50 \$1 nreceive-receiver \$2 \$3 \$4;
+#X obj 694 552 s pd-\$0receivers;
+#X msg 313 362 obj \$1 500 r \$2receive\$3;
+#X msg 152 280 obj \$1 550 outlet;
+#X obj 370 310 - 1;
+#X obj 154 83 sel 0;
+#X msg 154 106 1;
+#X obj 194 130 s \$0n;
+#X obj 154 130 t a a;
+#X obj 41 251 r \$0n;
+#X obj 511 171 r \$0n;
+#X obj 564 268 r \$0n;
+#X obj 537 268 f;
+#X obj 496 195 f;
+#X obj 14 251 -;
+#X obj 804 301 s pd-\$0receivers;
+#X obj 298 50 list append \$1;
+#X obj 298 72 sel 0;
+#X msg 298 94 symbol noname;
+#X obj 298 117 s \$0receivename;
+#X obj 14 336 + 72;
+#X connect 0 0 56 0;
+#X connect 1 0 2 0;
+#X connect 2 0 18 0;
+#X connect 2 1 5 0;
+#X connect 2 2 8 0;
+#X connect 2 3 64 0;
+#X connect 5 0 54 0;
+#X connect 6 0 23 0;
+#X connect 7 0 55 0;
+#X connect 8 0 6 0;
+#X connect 8 1 22 0;
+#X connect 8 2 7 0;
+#X connect 12 0 71 0;
+#X connect 13 0 14 0;
+#X connect 13 1 15 0;
+#X connect 14 0 17 0;
+#X connect 15 0 14 1;
+#X connect 17 0 11 0;
+#X connect 18 0 65 0;
+#X connect 19 0 42 0;
+#X connect 20 0 12 0;
+#X connect 21 0 64 1;
+#X connect 22 0 23 1;
+#X connect 23 0 53 0;
+#X connect 24 0 66 0;
+#X connect 25 0 27 0;
+#X connect 26 0 34 0;
+#X connect 27 0 28 0;
+#X connect 27 1 26 0;
+#X connect 28 0 26 0;
+#X connect 29 0 30 0;
+#X connect 29 0 31 0;
+#X connect 29 0 32 2;
+#X connect 30 0 29 1;
+#X connect 31 0 35 1;
+#X connect 32 0 51 0;
+#X connect 33 0 32 1;
+#X connect 34 0 35 0;
+#X connect 34 1 33 0;
+#X connect 34 2 29 0;
+#X connect 34 3 39 0;
+#X connect 35 0 32 0;
+#X connect 36 0 29 1;
+#X connect 37 0 25 0;
+#X connect 37 1 36 0;
+#X connect 37 2 24 0;
+#X connect 37 3 38 0;
+#X connect 38 0 39 1;
+#X connect 39 0 32 3;
+#X connect 40 0 41 0;
+#X connect 41 0 49 0;
+#X connect 42 0 0 0;
+#X connect 42 1 67 0;
+#X connect 43 0 44 0;
+#X connect 44 0 46 0;
+#X connect 44 1 63 0;
+#X connect 45 0 47 0;
+#X connect 46 0 3 0;
+#X connect 47 0 46 1;
+#X connect 50 0 37 0;
+#X connect 51 0 52 0;
+#X connect 53 0 9 0;
+#X connect 54 0 16 0;
+#X connect 55 0 23 2;
+#X connect 56 0 57 0;
+#X connect 56 1 59 0;
+#X connect 57 0 59 0;
+#X connect 59 0 1 0;
+#X connect 59 1 58 0;
+#X connect 60 0 65 1;
+#X connect 61 0 64 1;
+#X connect 62 0 63 1;
+#X connect 63 0 45 0;
+#X connect 64 0 4 0;
+#X connect 64 0 21 0;
+#X connect 64 0 43 0;
+#X connect 65 0 20 0;
+#X connect 67 0 68 0;
+#X connect 68 0 69 0;
+#X connect 68 1 70 0;
+#X connect 69 0 70 0;
+#X connect 71 0 13 0;
diff --git a/nsend/nreceive-help.pd b/nsend/nreceive-help.pd
new file mode 100644
index 0000000..112f448
--- /dev/null
+++ b/nsend/nreceive-help.pd
@@ -0,0 +1,148 @@
+#N canvas 694 249 699 631 10;
+#X obj 45 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 72 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 99 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 126 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 19 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 45 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 72 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 99 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 126 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 19 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 44 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 71 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 98 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 125 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 18 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 282 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 307 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 331 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 258 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 284 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 311 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 338 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 258 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 526 109 symbol ham;
+#X symbolatom 528 333 15 0 0 0 - - -;
+#X floatatom 513 354 5 0 0 0 - - -;
+#X floatatom 514 92 5 0 0 0 - - -;
+#X msg 538 130 set test;
+#X msg 550 154 list 4 5 6 7 9;
+#X msg 543 310 test;
+#X text 15 513 Internally \, the sends and receives are named thusly
+\, so you can take advantage of that if you like.;
+#X text 554 581 Luke Iannini \, 2007;
+#X obj 16 597 nr;
+#X obj 49 597 ns;
+#X text 78 598 Abbreviations.;
+#X text 20 8 [nsend] and [nreceive] -- send groups of messages conveniently
+;
+#X msg 16 543 \; lists0 33 \; lists1 symbol this-works-too;
+#X msg 366 102 sendB;
+#X msg 366 78 sendA;
+#X msg 365 286 sendA;
+#X msg 365 308 sendB;
+#X obj 281 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 308 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 335 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 255 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 19 181 nreceive \$0nutter 5;
+#X obj 18 260 nreceive \$0nutter 5;
+#X obj 513 233 nreceive lists 8;
+#X obj 258 218 nreceive sendA 4;
+#X obj 255 332 nreceive sendB 4;
+#X obj 19 150 nsend \$0nutter 5;
+#X obj 514 202 nsend lists 8;
+#X obj 258 155 nsend sendA 4;
+#X msg 366 125 sendC;
+#X msg 366 171 sendC;
+#X msg 366 192 sendA;
+#X msg 579 308 4 5 6 7 9;
+#X obj 554 595 pddplink http://proyekto.net;
+#X obj 579 261 list prepend set;
+#X text 249 418 are reassignable through the;
+#X text 250 431 rightmost or only inlet for;
+#X text 249 445 nsend and nreceive \, respectively;
+#X text 249 405 Both nsends and nreceives;
+#X text 12 445 With no second argument \, nsend;
+#X text 12 458 and nreceive will default to;
+#X obj 20 402 nsend \$0abc;
+#X obj 99 402 nreceive \$0abc;
+#X floatatom 20 380 5 0 0 0 - - -;
+#X floatatom 99 425 5 0 0 0 - - -;
+#X obj 579 283 list trim;
+#X text 510 388 All datatypes work.;
+#X text 12 472 default behavior.;
+#X connect 0 0 50 1;
+#X connect 1 0 50 2;
+#X connect 2 0 50 3;
+#X connect 3 0 50 4;
+#X connect 4 0 50 0;
+#X connect 15 0 52 1;
+#X connect 16 0 52 2;
+#X connect 17 0 52 3;
+#X connect 18 0 52 0;
+#X connect 23 0 51 1;
+#X connect 26 0 51 0;
+#X connect 27 0 51 2;
+#X connect 28 0 51 7;
+#X connect 37 0 52 4;
+#X connect 38 0 52 4;
+#X connect 39 0 49 0;
+#X connect 40 0 49 0;
+#X connect 45 0 9 0;
+#X connect 45 1 5 0;
+#X connect 45 2 6 0;
+#X connect 45 3 7 0;
+#X connect 45 4 8 0;
+#X connect 46 0 14 0;
+#X connect 46 1 10 0;
+#X connect 46 2 11 0;
+#X connect 46 3 12 0;
+#X connect 46 4 13 0;
+#X connect 47 0 25 0;
+#X connect 47 1 24 0;
+#X connect 47 2 29 0;
+#X connect 47 7 58 0;
+#X connect 48 0 22 0;
+#X connect 48 1 19 0;
+#X connect 48 2 20 0;
+#X connect 48 3 21 0;
+#X connect 49 0 44 0;
+#X connect 49 1 41 0;
+#X connect 49 2 42 0;
+#X connect 49 3 43 0;
+#X connect 53 0 52 4;
+#X connect 54 0 48 0;
+#X connect 55 0 48 0;
+#X connect 58 0 69 0;
+#X connect 66 0 68 0;
+#X connect 67 0 65 0;
+#X connect 69 0 56 0;
diff --git a/nsend/nreceive-receiver.pd b/nsend/nreceive-receiver.pd
new file mode 100644
index 0000000..8831b8b
--- /dev/null
+++ b/nsend/nreceive-receiver.pd
@@ -0,0 +1,4 @@
+#N canvas 1372 824 125 105 10;
+#X obj 19 18 r \$3\$2;
+#X obj 19 67 s \$1receive\$2;
+#X connect 0 0 1 0;
diff --git a/nsend/nreceive.pd b/nsend/nreceive.pd
new file mode 100644
index 0000000..df43f33
--- /dev/null
+++ b/nsend/nreceive.pd
@@ -0,0 +1,156 @@
+#N canvas 911 22 1013 626 10;
+#X obj 154 60 \$2;
+#X obj 154 152 until;
+#X obj 154 178 t b b b b;
+#X obj 510 358 v \$0x;
+#X obj 496 381 v \$0cnt;
+#X obj 152 259 v \$0x;
+#X obj 313 310 v \$0x;
+#X obj 352 254 v \$0cnt;
+#X obj 313 226 t b b b;
+#X obj 313 388 s \$0self;
+#X obj 539 43 namecanvas \$0self;
+#X obj 14 463 s \$0self;
+#X obj 14 312 * 2;
+#X obj 14 360 t f f;
+#X obj 14 407 pack f f;
+#X obj 59 377 + 1;
+#X obj 152 303 s \$0self;
+#X msg 14 435 connect \$1 0 \$2 0;
+#X obj 14 225 v \$0cnt;
+#X obj 154 7 initbang;
+#X obj 14 279 abs;
+#X obj 537 195 - 1;
+#X obj 332 281 \$0;
+#X obj 313 335 pack f f f;
+#X msg 804 278 clear;
+#X obj 694 245 \$2;
+#X obj 694 318 until;
+#X obj 694 268 sel 0;
+#X msg 694 291 1;
+#X obj 758 394 f 0;
+#X obj 786 394 + 1;
+#X obj 758 429 * 15;
+#X obj 694 480 pack f f f s;
+#X obj 717 396 \$0;
+#X obj 694 354 t b b b b;
+#X obj 694 446 f;
+#X msg 773 302 0;
+#X obj 694 208 t b b b a;
+#X obj 892 225 t a;
+#X obj 829 394 list append;
+#X obj 859 14 inlet;
+#X obj 859 39 list;
+#X obj 154 33 t b b;
+#X obj 510 219 * 100;
+#X obj 510 243 t f b;
+#X obj 537 291 * 100;
+#X obj 510 331 -;
+#X obj 537 314 - 500;
+#N canvas 1194 177 440 379 \$0receivers 0;
+#X restore 859 114 pd \$0receivers;
+#X obj 859 62 s \$0receivename;
+#X obj 694 180 r \$0receivename;
+#X msg 694 520 obj 50 \$1 nreceive-receiver \$2 \$3 \$4;
+#X obj 694 552 s pd-\$0receivers;
+#X msg 313 362 obj \$1 500 r \$2receive\$3;
+#X msg 152 280 obj \$1 550 outlet;
+#X obj 370 310 - 1;
+#X obj 154 83 sel 0;
+#X msg 154 106 1;
+#X obj 194 130 s \$0n;
+#X obj 154 130 t a a;
+#X obj 41 251 r \$0n;
+#X obj 511 171 r \$0n;
+#X obj 564 268 r \$0n;
+#X obj 537 268 f;
+#X obj 496 195 f;
+#X obj 14 251 -;
+#X obj 804 301 s pd-\$0receivers;
+#X obj 298 50 list append \$1;
+#X obj 298 72 sel 0;
+#X msg 298 94 symbol noname;
+#X obj 298 117 s \$0receivename;
+#X obj 14 336 + 72;
+#X connect 0 0 56 0;
+#X connect 1 0 2 0;
+#X connect 2 0 18 0;
+#X connect 2 1 5 0;
+#X connect 2 2 8 0;
+#X connect 2 3 64 0;
+#X connect 5 0 54 0;
+#X connect 6 0 23 0;
+#X connect 7 0 55 0;
+#X connect 8 0 6 0;
+#X connect 8 1 22 0;
+#X connect 8 2 7 0;
+#X connect 12 0 71 0;
+#X connect 13 0 14 0;
+#X connect 13 1 15 0;
+#X connect 14 0 17 0;
+#X connect 15 0 14 1;
+#X connect 17 0 11 0;
+#X connect 18 0 65 0;
+#X connect 19 0 42 0;
+#X connect 20 0 12 0;
+#X connect 21 0 64 1;
+#X connect 22 0 23 1;
+#X connect 23 0 53 0;
+#X connect 24 0 66 0;
+#X connect 25 0 27 0;
+#X connect 26 0 34 0;
+#X connect 27 0 28 0;
+#X connect 27 1 26 0;
+#X connect 28 0 26 0;
+#X connect 29 0 30 0;
+#X connect 29 0 31 0;
+#X connect 29 0 32 2;
+#X connect 30 0 29 1;
+#X connect 31 0 35 1;
+#X connect 32 0 51 0;
+#X connect 33 0 32 1;
+#X connect 34 0 35 0;
+#X connect 34 1 33 0;
+#X connect 34 2 29 0;
+#X connect 34 3 39 0;
+#X connect 35 0 32 0;
+#X connect 36 0 29 1;
+#X connect 37 0 25 0;
+#X connect 37 1 36 0;
+#X connect 37 2 24 0;
+#X connect 37 3 38 0;
+#X connect 38 0 39 1;
+#X connect 39 0 32 3;
+#X connect 40 0 41 0;
+#X connect 41 0 49 0;
+#X connect 42 0 0 0;
+#X connect 42 1 67 0;
+#X connect 43 0 44 0;
+#X connect 44 0 46 0;
+#X connect 44 1 63 0;
+#X connect 45 0 47 0;
+#X connect 46 0 3 0;
+#X connect 47 0 46 1;
+#X connect 50 0 37 0;
+#X connect 51 0 52 0;
+#X connect 53 0 9 0;
+#X connect 54 0 16 0;
+#X connect 55 0 23 2;
+#X connect 56 0 57 0;
+#X connect 56 1 59 0;
+#X connect 57 0 59 0;
+#X connect 59 0 1 0;
+#X connect 59 1 58 0;
+#X connect 60 0 65 1;
+#X connect 61 0 64 1;
+#X connect 62 0 63 1;
+#X connect 63 0 45 0;
+#X connect 64 0 4 0;
+#X connect 64 0 21 0;
+#X connect 64 0 43 0;
+#X connect 65 0 20 0;
+#X connect 67 0 68 0;
+#X connect 68 0 69 0;
+#X connect 68 1 70 0;
+#X connect 69 0 70 0;
+#X connect 71 0 13 0;
diff --git a/nsend/ns-help.pd b/nsend/ns-help.pd
new file mode 100644
index 0000000..112f448
--- /dev/null
+++ b/nsend/ns-help.pd
@@ -0,0 +1,148 @@
+#N canvas 694 249 699 631 10;
+#X obj 45 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 72 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 99 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 126 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 19 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 45 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 72 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 99 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 126 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 19 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 44 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 71 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 98 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 125 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 18 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 282 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 307 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 331 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 258 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 284 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 311 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 338 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 258 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 526 109 symbol ham;
+#X symbolatom 528 333 15 0 0 0 - - -;
+#X floatatom 513 354 5 0 0 0 - - -;
+#X floatatom 514 92 5 0 0 0 - - -;
+#X msg 538 130 set test;
+#X msg 550 154 list 4 5 6 7 9;
+#X msg 543 310 test;
+#X text 15 513 Internally \, the sends and receives are named thusly
+\, so you can take advantage of that if you like.;
+#X text 554 581 Luke Iannini \, 2007;
+#X obj 16 597 nr;
+#X obj 49 597 ns;
+#X text 78 598 Abbreviations.;
+#X text 20 8 [nsend] and [nreceive] -- send groups of messages conveniently
+;
+#X msg 16 543 \; lists0 33 \; lists1 symbol this-works-too;
+#X msg 366 102 sendB;
+#X msg 366 78 sendA;
+#X msg 365 286 sendA;
+#X msg 365 308 sendB;
+#X obj 281 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 308 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 335 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 255 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 19 181 nreceive \$0nutter 5;
+#X obj 18 260 nreceive \$0nutter 5;
+#X obj 513 233 nreceive lists 8;
+#X obj 258 218 nreceive sendA 4;
+#X obj 255 332 nreceive sendB 4;
+#X obj 19 150 nsend \$0nutter 5;
+#X obj 514 202 nsend lists 8;
+#X obj 258 155 nsend sendA 4;
+#X msg 366 125 sendC;
+#X msg 366 171 sendC;
+#X msg 366 192 sendA;
+#X msg 579 308 4 5 6 7 9;
+#X obj 554 595 pddplink http://proyekto.net;
+#X obj 579 261 list prepend set;
+#X text 249 418 are reassignable through the;
+#X text 250 431 rightmost or only inlet for;
+#X text 249 445 nsend and nreceive \, respectively;
+#X text 249 405 Both nsends and nreceives;
+#X text 12 445 With no second argument \, nsend;
+#X text 12 458 and nreceive will default to;
+#X obj 20 402 nsend \$0abc;
+#X obj 99 402 nreceive \$0abc;
+#X floatatom 20 380 5 0 0 0 - - -;
+#X floatatom 99 425 5 0 0 0 - - -;
+#X obj 579 283 list trim;
+#X text 510 388 All datatypes work.;
+#X text 12 472 default behavior.;
+#X connect 0 0 50 1;
+#X connect 1 0 50 2;
+#X connect 2 0 50 3;
+#X connect 3 0 50 4;
+#X connect 4 0 50 0;
+#X connect 15 0 52 1;
+#X connect 16 0 52 2;
+#X connect 17 0 52 3;
+#X connect 18 0 52 0;
+#X connect 23 0 51 1;
+#X connect 26 0 51 0;
+#X connect 27 0 51 2;
+#X connect 28 0 51 7;
+#X connect 37 0 52 4;
+#X connect 38 0 52 4;
+#X connect 39 0 49 0;
+#X connect 40 0 49 0;
+#X connect 45 0 9 0;
+#X connect 45 1 5 0;
+#X connect 45 2 6 0;
+#X connect 45 3 7 0;
+#X connect 45 4 8 0;
+#X connect 46 0 14 0;
+#X connect 46 1 10 0;
+#X connect 46 2 11 0;
+#X connect 46 3 12 0;
+#X connect 46 4 13 0;
+#X connect 47 0 25 0;
+#X connect 47 1 24 0;
+#X connect 47 2 29 0;
+#X connect 47 7 58 0;
+#X connect 48 0 22 0;
+#X connect 48 1 19 0;
+#X connect 48 2 20 0;
+#X connect 48 3 21 0;
+#X connect 49 0 44 0;
+#X connect 49 1 41 0;
+#X connect 49 2 42 0;
+#X connect 49 3 43 0;
+#X connect 53 0 52 4;
+#X connect 54 0 48 0;
+#X connect 55 0 48 0;
+#X connect 58 0 69 0;
+#X connect 66 0 68 0;
+#X connect 67 0 65 0;
+#X connect 69 0 56 0;
diff --git a/nsend/ns.pd b/nsend/ns.pd
new file mode 100644
index 0000000..3280803
--- /dev/null
+++ b/nsend/ns.pd
@@ -0,0 +1,156 @@
+#N canvas 75 22 986 619 10;
+#X obj 154 60 \$2;
+#X obj 154 153 until;
+#X obj 154 179 t b b b b;
+#X obj 510 359 v \$0x;
+#X obj 496 382 v \$0cnt;
+#X obj 342 251 v \$0x;
+#X obj 173 310 v \$0x;
+#X obj 212 254 v \$0cnt;
+#X obj 173 226 t b b b;
+#X obj 173 388 s \$0self;
+#X obj 539 43 namecanvas \$0self;
+#X obj 14 463 s \$0self;
+#X obj 14 312 * 2;
+#X obj 14 360 t f f;
+#X obj 14 407 pack f f;
+#X obj 59 377 + 1;
+#X obj 342 295 s \$0self;
+#X msg 14 435 connect \$1 0 \$2 0;
+#X obj 14 225 v \$0cnt;
+#X msg 342 273 obj \$1 500 inlet;
+#X obj 154 7 initbang;
+#X obj 154 83 sel 0;
+#X msg 154 106 1;
+#X obj 14 279 abs;
+#X obj 537 196 - 1;
+#X obj 192 281 \$0;
+#X obj 173 335 pack f f f;
+#X msg 173 362 obj \$1 550 s \$2send\$3;
+#X msg 804 278 clear;
+#X obj 694 245 \$2;
+#X obj 694 318 until;
+#X obj 694 268 sel 0;
+#X msg 694 291 1;
+#X msg 694 520 obj 50 \$1 nsend-sender \$2 \$3 \$4;
+#X obj 758 394 f 0;
+#X obj 786 394 + 1;
+#X obj 758 429 * 15;
+#X obj 694 480 pack f f f s;
+#X obj 717 396 \$0;
+#X obj 694 354 t b b b b;
+#X obj 694 446 f;
+#X msg 773 302 0;
+#X obj 694 208 t b b b a;
+#X obj 892 225 t a;
+#X obj 829 394 list append;
+#X obj 694 180 r \$0sendname;
+#X obj 859 14 inlet;
+#X obj 859 39 list;
+#X obj 859 62 s \$0sendname;
+#X obj 288 117 s \$0sendname;
+#X obj 154 33 t b b;
+#X obj 288 50 list append \$1;
+#N canvas 1194 177 440 379 \$0senders 1;
+#X restore 859 114 pd \$0senders;
+#X obj 694 552 s pd-\$0senders;
+#X obj 510 220 * 100;
+#X obj 510 244 t f b;
+#X obj 537 292 * 100;
+#X obj 510 332 -;
+#X obj 537 315 - 500;
+#X obj 230 311 - 1;
+#X obj 194 130 s \$0n;
+#X obj 154 130 t a a;
+#X obj 42 251 r \$0n;
+#X obj 14 251 -;
+#X obj 511 172 r \$0n;
+#X obj 496 196 f;
+#X obj 563 269 r \$0n;
+#X obj 537 269 f;
+#X obj 804 301 s pd-\$0senders;
+#X obj 288 72 sel 0;
+#X msg 288 94 symbol noname;
+#X obj 14 336 + 72;
+#X connect 0 0 21 0;
+#X connect 1 0 2 0;
+#X connect 2 0 18 0;
+#X connect 2 1 8 0;
+#X connect 2 2 5 0;
+#X connect 2 3 65 0;
+#X connect 5 0 19 0;
+#X connect 6 0 26 0;
+#X connect 7 0 59 0;
+#X connect 8 0 6 0;
+#X connect 8 1 25 0;
+#X connect 8 2 7 0;
+#X connect 12 0 71 0;
+#X connect 13 0 14 0;
+#X connect 13 1 15 0;
+#X connect 14 0 17 0;
+#X connect 15 0 14 1;
+#X connect 17 0 11 0;
+#X connect 18 0 63 0;
+#X connect 19 0 16 0;
+#X connect 20 0 50 0;
+#X connect 21 0 22 0;
+#X connect 21 1 61 0;
+#X connect 22 0 61 0;
+#X connect 23 0 12 0;
+#X connect 24 0 65 1;
+#X connect 25 0 26 1;
+#X connect 26 0 27 0;
+#X connect 27 0 9 0;
+#X connect 28 0 68 0;
+#X connect 29 0 31 0;
+#X connect 30 0 39 0;
+#X connect 31 0 32 0;
+#X connect 31 1 30 0;
+#X connect 32 0 30 0;
+#X connect 33 0 53 0;
+#X connect 34 0 35 0;
+#X connect 34 0 36 0;
+#X connect 34 0 37 2;
+#X connect 35 0 34 1;
+#X connect 36 0 40 1;
+#X connect 37 0 33 0;
+#X connect 38 0 37 1;
+#X connect 39 0 40 0;
+#X connect 39 1 38 0;
+#X connect 39 2 34 0;
+#X connect 39 3 44 0;
+#X connect 40 0 37 0;
+#X connect 41 0 34 1;
+#X connect 42 0 29 0;
+#X connect 42 1 41 0;
+#X connect 42 2 28 0;
+#X connect 42 3 43 0;
+#X connect 43 0 44 1;
+#X connect 44 0 37 3;
+#X connect 45 0 42 0;
+#X connect 46 0 47 0;
+#X connect 47 0 48 0;
+#X connect 50 0 0 0;
+#X connect 50 1 51 0;
+#X connect 51 0 69 0;
+#X connect 54 0 55 0;
+#X connect 55 0 57 0;
+#X connect 55 1 67 0;
+#X connect 56 0 58 0;
+#X connect 57 0 3 0;
+#X connect 58 0 57 1;
+#X connect 59 0 26 2;
+#X connect 61 0 1 0;
+#X connect 61 1 60 0;
+#X connect 62 0 63 1;
+#X connect 63 0 23 0;
+#X connect 64 0 65 1;
+#X connect 65 0 4 0;
+#X connect 65 0 24 0;
+#X connect 65 0 54 0;
+#X connect 66 0 67 1;
+#X connect 67 0 56 0;
+#X connect 69 0 70 0;
+#X connect 69 1 49 0;
+#X connect 70 0 49 0;
+#X connect 71 0 13 0;
diff --git a/nsend/nsend-help.pd b/nsend/nsend-help.pd
new file mode 100644
index 0000000..112f448
--- /dev/null
+++ b/nsend/nsend-help.pd
@@ -0,0 +1,148 @@
+#N canvas 694 249 699 631 10;
+#X obj 45 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 72 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 99 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 126 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 19 99 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 45 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 72 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 99 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 126 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 19 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 44 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 71 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 98 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 125 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 18 308 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 282 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 307 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 331 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 258 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 284 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 311 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 338 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 258 266 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 526 109 symbol ham;
+#X symbolatom 528 333 15 0 0 0 - - -;
+#X floatatom 513 354 5 0 0 0 - - -;
+#X floatatom 514 92 5 0 0 0 - - -;
+#X msg 538 130 set test;
+#X msg 550 154 list 4 5 6 7 9;
+#X msg 543 310 test;
+#X text 15 513 Internally \, the sends and receives are named thusly
+\, so you can take advantage of that if you like.;
+#X text 554 581 Luke Iannini \, 2007;
+#X obj 16 597 nr;
+#X obj 49 597 ns;
+#X text 78 598 Abbreviations.;
+#X text 20 8 [nsend] and [nreceive] -- send groups of messages conveniently
+;
+#X msg 16 543 \; lists0 33 \; lists1 symbol this-works-too;
+#X msg 366 102 sendB;
+#X msg 366 78 sendA;
+#X msg 365 286 sendA;
+#X msg 365 308 sendB;
+#X obj 281 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 308 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 335 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 255 374 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 19 181 nreceive \$0nutter 5;
+#X obj 18 260 nreceive \$0nutter 5;
+#X obj 513 233 nreceive lists 8;
+#X obj 258 218 nreceive sendA 4;
+#X obj 255 332 nreceive sendB 4;
+#X obj 19 150 nsend \$0nutter 5;
+#X obj 514 202 nsend lists 8;
+#X obj 258 155 nsend sendA 4;
+#X msg 366 125 sendC;
+#X msg 366 171 sendC;
+#X msg 366 192 sendA;
+#X msg 579 308 4 5 6 7 9;
+#X obj 554 595 pddplink http://proyekto.net;
+#X obj 579 261 list prepend set;
+#X text 249 418 are reassignable through the;
+#X text 250 431 rightmost or only inlet for;
+#X text 249 445 nsend and nreceive \, respectively;
+#X text 249 405 Both nsends and nreceives;
+#X text 12 445 With no second argument \, nsend;
+#X text 12 458 and nreceive will default to;
+#X obj 20 402 nsend \$0abc;
+#X obj 99 402 nreceive \$0abc;
+#X floatatom 20 380 5 0 0 0 - - -;
+#X floatatom 99 425 5 0 0 0 - - -;
+#X obj 579 283 list trim;
+#X text 510 388 All datatypes work.;
+#X text 12 472 default behavior.;
+#X connect 0 0 50 1;
+#X connect 1 0 50 2;
+#X connect 2 0 50 3;
+#X connect 3 0 50 4;
+#X connect 4 0 50 0;
+#X connect 15 0 52 1;
+#X connect 16 0 52 2;
+#X connect 17 0 52 3;
+#X connect 18 0 52 0;
+#X connect 23 0 51 1;
+#X connect 26 0 51 0;
+#X connect 27 0 51 2;
+#X connect 28 0 51 7;
+#X connect 37 0 52 4;
+#X connect 38 0 52 4;
+#X connect 39 0 49 0;
+#X connect 40 0 49 0;
+#X connect 45 0 9 0;
+#X connect 45 1 5 0;
+#X connect 45 2 6 0;
+#X connect 45 3 7 0;
+#X connect 45 4 8 0;
+#X connect 46 0 14 0;
+#X connect 46 1 10 0;
+#X connect 46 2 11 0;
+#X connect 46 3 12 0;
+#X connect 46 4 13 0;
+#X connect 47 0 25 0;
+#X connect 47 1 24 0;
+#X connect 47 2 29 0;
+#X connect 47 7 58 0;
+#X connect 48 0 22 0;
+#X connect 48 1 19 0;
+#X connect 48 2 20 0;
+#X connect 48 3 21 0;
+#X connect 49 0 44 0;
+#X connect 49 1 41 0;
+#X connect 49 2 42 0;
+#X connect 49 3 43 0;
+#X connect 53 0 52 4;
+#X connect 54 0 48 0;
+#X connect 55 0 48 0;
+#X connect 58 0 69 0;
+#X connect 66 0 68 0;
+#X connect 67 0 65 0;
+#X connect 69 0 56 0;
diff --git a/nsend/nsend-sender.pd b/nsend/nsend-sender.pd
new file mode 100644
index 0000000..b3094ee
--- /dev/null
+++ b/nsend/nsend-sender.pd
@@ -0,0 +1,4 @@
+#N canvas 1517 823 127 108 10;
+#X obj 19 17 r \$1send\$2;
+#X obj 19 67 s \$3\$2;
+#X connect 0 0 1 0;
diff --git a/nsend/nsend.pd b/nsend/nsend.pd
new file mode 100644
index 0000000..3280803
--- /dev/null
+++ b/nsend/nsend.pd
@@ -0,0 +1,156 @@
+#N canvas 75 22 986 619 10;
+#X obj 154 60 \$2;
+#X obj 154 153 until;
+#X obj 154 179 t b b b b;
+#X obj 510 359 v \$0x;
+#X obj 496 382 v \$0cnt;
+#X obj 342 251 v \$0x;
+#X obj 173 310 v \$0x;
+#X obj 212 254 v \$0cnt;
+#X obj 173 226 t b b b;
+#X obj 173 388 s \$0self;
+#X obj 539 43 namecanvas \$0self;
+#X obj 14 463 s \$0self;
+#X obj 14 312 * 2;
+#X obj 14 360 t f f;
+#X obj 14 407 pack f f;
+#X obj 59 377 + 1;
+#X obj 342 295 s \$0self;
+#X msg 14 435 connect \$1 0 \$2 0;
+#X obj 14 225 v \$0cnt;
+#X msg 342 273 obj \$1 500 inlet;
+#X obj 154 7 initbang;
+#X obj 154 83 sel 0;
+#X msg 154 106 1;
+#X obj 14 279 abs;
+#X obj 537 196 - 1;
+#X obj 192 281 \$0;
+#X obj 173 335 pack f f f;
+#X msg 173 362 obj \$1 550 s \$2send\$3;
+#X msg 804 278 clear;
+#X obj 694 245 \$2;
+#X obj 694 318 until;
+#X obj 694 268 sel 0;
+#X msg 694 291 1;
+#X msg 694 520 obj 50 \$1 nsend-sender \$2 \$3 \$4;
+#X obj 758 394 f 0;
+#X obj 786 394 + 1;
+#X obj 758 429 * 15;
+#X obj 694 480 pack f f f s;
+#X obj 717 396 \$0;
+#X obj 694 354 t b b b b;
+#X obj 694 446 f;
+#X msg 773 302 0;
+#X obj 694 208 t b b b a;
+#X obj 892 225 t a;
+#X obj 829 394 list append;
+#X obj 694 180 r \$0sendname;
+#X obj 859 14 inlet;
+#X obj 859 39 list;
+#X obj 859 62 s \$0sendname;
+#X obj 288 117 s \$0sendname;
+#X obj 154 33 t b b;
+#X obj 288 50 list append \$1;
+#N canvas 1194 177 440 379 \$0senders 1;
+#X restore 859 114 pd \$0senders;
+#X obj 694 552 s pd-\$0senders;
+#X obj 510 220 * 100;
+#X obj 510 244 t f b;
+#X obj 537 292 * 100;
+#X obj 510 332 -;
+#X obj 537 315 - 500;
+#X obj 230 311 - 1;
+#X obj 194 130 s \$0n;
+#X obj 154 130 t a a;
+#X obj 42 251 r \$0n;
+#X obj 14 251 -;
+#X obj 511 172 r \$0n;
+#X obj 496 196 f;
+#X obj 563 269 r \$0n;
+#X obj 537 269 f;
+#X obj 804 301 s pd-\$0senders;
+#X obj 288 72 sel 0;
+#X msg 288 94 symbol noname;
+#X obj 14 336 + 72;
+#X connect 0 0 21 0;
+#X connect 1 0 2 0;
+#X connect 2 0 18 0;
+#X connect 2 1 8 0;
+#X connect 2 2 5 0;
+#X connect 2 3 65 0;
+#X connect 5 0 19 0;
+#X connect 6 0 26 0;
+#X connect 7 0 59 0;
+#X connect 8 0 6 0;
+#X connect 8 1 25 0;
+#X connect 8 2 7 0;
+#X connect 12 0 71 0;
+#X connect 13 0 14 0;
+#X connect 13 1 15 0;
+#X connect 14 0 17 0;
+#X connect 15 0 14 1;
+#X connect 17 0 11 0;
+#X connect 18 0 63 0;
+#X connect 19 0 16 0;
+#X connect 20 0 50 0;
+#X connect 21 0 22 0;
+#X connect 21 1 61 0;
+#X connect 22 0 61 0;
+#X connect 23 0 12 0;
+#X connect 24 0 65 1;
+#X connect 25 0 26 1;
+#X connect 26 0 27 0;
+#X connect 27 0 9 0;
+#X connect 28 0 68 0;
+#X connect 29 0 31 0;
+#X connect 30 0 39 0;
+#X connect 31 0 32 0;
+#X connect 31 1 30 0;
+#X connect 32 0 30 0;
+#X connect 33 0 53 0;
+#X connect 34 0 35 0;
+#X connect 34 0 36 0;
+#X connect 34 0 37 2;
+#X connect 35 0 34 1;
+#X connect 36 0 40 1;
+#X connect 37 0 33 0;
+#X connect 38 0 37 1;
+#X connect 39 0 40 0;
+#X connect 39 1 38 0;
+#X connect 39 2 34 0;
+#X connect 39 3 44 0;
+#X connect 40 0 37 0;
+#X connect 41 0 34 1;
+#X connect 42 0 29 0;
+#X connect 42 1 41 0;
+#X connect 42 2 28 0;
+#X connect 42 3 43 0;
+#X connect 43 0 44 1;
+#X connect 44 0 37 3;
+#X connect 45 0 42 0;
+#X connect 46 0 47 0;
+#X connect 47 0 48 0;
+#X connect 50 0 0 0;
+#X connect 50 1 51 0;
+#X connect 51 0 69 0;
+#X connect 54 0 55 0;
+#X connect 55 0 57 0;
+#X connect 55 1 67 0;
+#X connect 56 0 58 0;
+#X connect 57 0 3 0;
+#X connect 58 0 57 1;
+#X connect 59 0 26 2;
+#X connect 61 0 1 0;
+#X connect 61 1 60 0;
+#X connect 62 0 63 1;
+#X connect 63 0 23 0;
+#X connect 64 0 65 1;
+#X connect 65 0 4 0;
+#X connect 65 0 24 0;
+#X connect 65 0 54 0;
+#X connect 66 0 67 1;
+#X connect 67 0 56 0;
+#X connect 69 0 70 0;
+#X connect 69 1 49 0;
+#X connect 70 0 49 0;
+#X connect 71 0 13 0;