From 9ce05217d923c35c41e9c19e96ab9cdc5a7e42ea Mon Sep 17 00:00:00 2001 From: Martin Peach Date: Thu, 28 Oct 2010 19:04:07 +0000 Subject: Added multicast support svn path=/trunk/externals/mrpeach/; revision=14245 --- net/udpsend~-help.pd | 384 ++++++++++++++++++++++++++++----------------------- 1 file changed, 211 insertions(+), 173 deletions(-) (limited to 'net/udpsend~-help.pd') diff --git a/net/udpsend~-help.pd b/net/udpsend~-help.pd index bd03c81..29c4164 100644 --- a/net/udpsend~-help.pd +++ b/net/udpsend~-help.pd @@ -1,173 +1,211 @@ -#N canvas 197 27 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 0 -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 0; -#X obj -178 297 udpsend~ 2 512; -#X text -88 296 sends 2 dsp-channels using 512-sample blocks; -#X obj -389 541 udpreceive~ 8008 2 512; -#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 338 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 -127 554 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 365 [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 -248 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; -#X text -455 326 Author: Martin Peach 2010/03/22; -#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 64 0; -#X connect 43 0 64 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 70 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 86 0; -#X connect 62 0 10 0; -#X connect 62 1 57 0; -#X connect 64 0 65 0; -#X connect 64 1 65 1; -#X connect 64 2 91 0; -#X connect 64 3 88 0; -#X connect 64 4 52 0; -#X connect 68 0 69 0; -#X connect 69 0 62 1; -#X connect 70 0 54 1; -#X connect 70 0 69 1; -#X connect 80 0 64 0; -#X connect 87 0 62 0; -#X connect 88 0 28 0; -#X connect 88 1 25 0; -#X connect 88 2 26 0; -#X connect 88 3 27 0; -#X connect 88 4 33 0; -#X connect 88 5 34 0; -#X connect 88 6 35 0; -#X connect 88 7 36 0; -#X connect 88 8 72 0; -#X connect 88 9 89 0; -#X connect 88 10 8 0; -#X connect 91 0 92 0; +#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; -- cgit v1.2.1