#N canvas 289 56 785 803 10; #X obj -178 225 osc~ 440; #X msg -398 60 disconnect; #X msg -353 105 format float; #X msg -332 126 format 16bit; #X msg -311 147 format 8bit; #X msg -440 18 connect localhost 8008; #X text -244 103 float is the most expensive with the best resolution (32bit) \, default is 16bit; #X msg -419 39 connect 255.255.255.255 8008; #X obj 52 687 print udpreceive~; #X obj 224 369 print udpsend~; #X obj -178 320 tgl 15 0 empty empty empty 17 7 0 10 -4034 -1 -1 1 1; #X symbolatom -97 435 10 0 0 0 - - -; #X floatatom -44 369 5 0 0 0 - - -; #X floatatom 10 391 9 0 0 0 - - -; #X floatatom 63 411 9 0 0 0 - - -; #X symbolatom 117 390 10 0 0 0 - - -; #X obj -97 411 prepend set; #X obj 117 367 prepend set; #X text -102 368 channels:; #X text -144 442 format:; #X text 13 411 bitrate:; #X text -51 391 framesize:; #X text 98 389 to:; #X msg -216 242 info; #X symbolatom -293 774 10 0 0 0 - - -; #X floatatom -259 708 5 0 0 0 - - -; #X floatatom -224 687 7 0 0 0 - - -; #X floatatom -190 752 9 0 0 0 - - -; #X obj -293 733 prepend set; #X text -323 707 channels:; #X text -339 773 format:; #X text -239 751 bitrate:; #X text -288 686 framesize:; #X floatatom -155 709 9 0 0 0 - - -; #X floatatom -121 687 9 0 0 0 - - -; #X floatatom -86 730 5 0 0 0 - - -; #X floatatom -52 709 5 0 0 0 - - -; #X text -212 708 overflow:; #X text -181 686 underflow:; #X text -147 729 queuesize:; #X text -100 708 average:; #X msg -435 478 info; #X text -237 34 broadcast to everybody on your local subnet listening on the specified port; #X msg -455 458 reset; #X text -402 477 status info to rightmost outlet; #X text -415 241 status info to rightmost outlet; #X text -417 457 reset underflow & overflow counters; #X floatatom -260 589 3 0 0 0 - - -; #X floatatom -237 589 3 0 0 0 - - -; #X floatatom -214 589 3 0 0 0 - - -; #X floatatom -191 589 3 0 0 0 - - -; #X floatatom -167 589 5 0 0 0 - - -; #X obj -260 563 unpack 0 0 0 0 0; #X text -297 588 from:; #X obj -179 268 *~; #X floatatom -164 150 5 0 0 0 - - -; #X text -66 148 Framesize = (blocksize) X (number of channels) X (bytes per sample); #X obj -97 339 route format channels framesize bitrate ipaddr vecsize ; #X floatatom 170 430 9 0 0 0 - - -; #X text 70 430 dsp vector size:; #X msg -258 200 channels \$1; #X obj -412 185 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -4034 -1 -1 2; #X obj -178 297 udpsend~ 2 512; #X text -88 296 sends 2 dsp-channels using 512-sample blocks; #X obj -388 572 dac~ 1 2; #X text 68 448 (blocksize must be a multiple of this); #X text -160 318 1 = transmitting; #X obj -97 246 noise~; #X obj -98 268 *~; #X obj -164 170 / 100; #X text -455 343 Based on: [netreceive~] and [netsend~]by Olaf Matthes ; #X floatatom -17 752 9 0 0 0 - - -; #X text -69 751 packets:; #X text -50 177 Default blocksize is 2048 The number of samples per block must be an integer multiple of the number of samples in one signal vector.; #X text -28 225 Arguments: (1st required \, 2nd optional) 1:number of channels to send. 2:blocksize = number of samples per channel per frame. (Blocksize of sender and receiver must be the same.); #X text -122 562 To communicate \, a [udpreceive~] and [udpsend~] pair must have the same number of channels and the same blocksize. Also [udpsend~] must [connect( to the port on which [udpreceive~] is listening. ; #X text -329 59 stop transmitting; #X text -355 76 format defines the resolution of the sent signal and may be changed on-the-fly; #X text -450 200 number of channels to transmit; #X msg -414 499 buffer 2; #X text -352 498 set number of frames to buffer before playback; #X text -458 368 [udpsend~] transmits dsp vectors ("audio") via UDP. UDP is a connectionless protocol \, so [udpsend~] will transmit even if nothing is receiving.; #X text -299 18 connect to and begin transmitting ; #X text -456 313 [udpreceive~] and [udpsend~]; #X text -249 540 receives 2 channels on port 8008 Same blocksize as udpsend~; #X floatatom -412 216 5 0 0 0 - - -; #X obj -288 172 tgl 15 0 empty empty toggle_connection 17 7 0 10 -4034 -1 -1 0 1; #X obj -293 650 route format channels framesize bitrate overflow underflow queuesize average packets tag_errors; #X floatatom 17 730 9 0 0 0 - - -; #X text -49 729 tag errors:; #X obj -326 601 env~; #X floatatom -326 624 9 0 0 0 - - -; #X text -266 613 The rightmost signal outlet outputs 1 if the stream is valid \, else 0; #N canvas 335 200 657 334 multicast 0; #X msg 91 87 multicast_interface 192.168.0.88; #X msg 66 62 multicast_interface eth1; #X text 229 13 send to a multicast address; #X text 201 38 specify an interface to use with multicast; #X msg 43 39 multicast_interface 1; #X text 251 61 by index \, name or address; #X floatatom 183 112 5 0 256 0 - - -; #X obj 165 135 f 1; #X obj 165 115 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1 -1; #X text 17 136 set multicast ttl:; #X msg 165 161 multicast_ttl \$1; #X msg 215 211 multicast_loopback \$1; #X obj 215 189 tgl 15 0 empty empty empty 20 7 0 8 -24198 -241291 -1 1 1; #X text 26 187 enable multicast loopback:; #X obj 244 257 outlet; #X msg 18 14 connect 239.200.200.200 8008; #X text 262 278 [udpreceive~ 8008 2 512 239.200.200.200]; #X text -70 278 Will be received by any udpreceive~ declared like this: ; #X text 347 295 (2 and 512 may be changed); #X connect 0 0 14 0; #X connect 1 0 14 0; #X connect 4 0 14 0; #X connect 6 0 7 1; #X connect 7 0 10 0; #X connect 8 0 7 0; #X connect 10 0 14 0; #X connect 11 0 14 0; #X connect 12 0 11 0; #X connect 15 0 14 0; #X restore -347 280 pd multicast; #X obj -389 541 udpreceive~ 8008 2 512; #X text -50 497 Arguments: port \, channels \, blocksize \, multicast_address. Blocksize should match [udpsend~]. multicast_address is optional. Arguments must be in that order.; #X text -455 328 Author: Martin Peach 2010/10/28; #X connect 0 0 54 0; #X connect 1 0 62 0; #X connect 2 0 62 0; #X connect 3 0 62 0; #X connect 4 0 62 0; #X connect 5 0 62 0; #X connect 7 0 62 0; #X connect 16 0 11 0; #X connect 17 0 15 0; #X connect 23 0 62 0; #X connect 28 0 24 0; #X connect 41 0 94 0; #X connect 43 0 94 0; #X connect 52 0 47 0; #X connect 52 1 48 0; #X connect 52 2 49 0; #X connect 52 3 50 0; #X connect 52 4 51 0; #X connect 54 0 62 0; #X connect 55 0 69 0; #X connect 57 0 16 0; #X connect 57 1 12 0; #X connect 57 2 13 0; #X connect 57 3 14 0; #X connect 57 4 17 0; #X connect 57 5 58 0; #X connect 57 6 9 0; #X connect 60 0 62 0; #X connect 61 0 60 0; #X connect 61 0 85 0; #X connect 62 0 10 0; #X connect 62 1 57 0; #X connect 67 0 68 0; #X connect 68 0 62 1; #X connect 69 0 54 1; #X connect 69 0 68 1; #X connect 79 0 94 0; #X connect 86 0 62 0; #X connect 87 0 28 0; #X connect 87 1 25 0; #X connect 87 2 26 0; #X connect 87 3 27 0; #X connect 87 4 33 0; #X connect 87 5 34 0; #X connect 87 6 35 0; #X connect 87 7 36 0; #X connect 87 8 71 0; #X connect 87 9 88 0; #X connect 87 10 8 0; #X connect 90 0 91 0; #X connect 93 0 62 0; #X connect 94 0 64 0; #X connect 94 1 64 1; #X connect 94 2 90 0; #X connect 94 3 87 0; #X connect 94 4 52 0;