#N canvas 368 44 872 498 12;
#X text 17 462 see also:;
#X obj 93 462 oscformat;
#X text 608 462 updated for Pd version 0.48.0;
#X obj 31 10 fudiformat;
#X text 116 9 - convert messages to FUDI packets;
#X msg 179 179 1 2 3 foo 5;
#X obj 179 204 fudiformat;
#X obj 279 204 fudiformat -u;
#X listbox 279 348 14 0 0 0 - - - 0;
#X listbox 279 252 63 0 0 0 - - - 0;
#X obj 31 34 fudiparse;
#X text 116 34 - parse FUDI packets into Pd messages;
#N canvas 790 123 531 433 reference 0;
#X obj 8 52 cnv 5 500 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 8 100 cnv 2 500 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 7 195 cnv 5 500 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X obj 28 19 fudiformat;
#X text 83 66 anything - any message to convert to a FUDI packet.;
#X text 118 110 list - converted FUDI packet., f 42;
#X text 131 170 '-u': switches to "UDP" mode, f 31;
#X obj 7 292 cnv 5 500 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 7 335 cnv 2 500 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 6 404 cnv 5 500 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X obj 28 261 fudiparse;
#X text 113 261 - parse FUDI packets into Pd messages;
#X text 128 306 list - FUDI packet to convert to Pd messages.;
#X text 100 345 anything - Pd messages., f 42;
#X obj 8 372 cnv 2 500 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X text 160 381 NONE;
#X obj 7 163 cnv 1 500 1 empty empty flag: 8 12 0 13 #9f9f9f #000000 0;
#X obj 7 137 cnv 2 500 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X text 113 18 - convert messages into FUDI packets;
#X restore 654 25 pd reference;
#X text 748 25 <= click;
#X obj 7 63 cnv 1 860 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 169 462 netsend;
#X obj 279 291 fudiparse;
#X text 423 291 The [fudiparse] object takes incoming lists of numbers \, interpreting them as the bytes in a FUDI message (as received when sending Pd-messages via [netreceive -b]). The object can still parse the message if it doesn't contain the packet separator (as received when using [fudiformat -u])., f 55;
#X msg 279 179 list foo 1 2 3 5;
#N canvas 401 143 876 486 [netsend]-UDP-example 0;
#X msg 89 335 disconnect;
#X msg 78 307 connect localhost 5000;
#X text 95 128 FUDI messages with numbers and symbols., f 20;
#X msg 320 145 listen 5000;
#X msg 332 173 listen 0;
#X text 399 172 stop listening;
#X text 448 200 UDP packets \, binary output;
#X text 407 145 listen on port 5000;
#X obj 320 402 list;
#X listbox 320 436 23 0 0 0 - - - 0;
#X listbox 320 244 71 0 0 0 - - - 0;
#X obj 320 331 fudiparse;
#X obj 370 291 print FUDI-message;
#X obj 340 361 print parse-output;
#X obj 320 110 loadbang;
#X obj 78 275 loadbang;
#X floatatom 49 134 5 0 0 0 - - - 0;
#X obj 49 377 netsend -u -b;
#X obj 320 200 netreceive -u -b;
#X text 153 378 send as UDP \, binary;
#X msg 49 177 foo \$1 5 weasel 6 7;
#X obj 49 221 fudiformat -u;
#X text 57 22 This example shows how to send FUDI messages via UDP with [netsend] and listen to them with [netreceive]. Nonetheless \, note that [netsend]/[netreceive] have built-in FUDI capabilities without the '-b' flag. Hence \, you should probably use [fudiformat]/[fudiparse] for more specific use cases where you want to manipulate the bytes of the message or use it with other low level network externals like "iemnet" and [comport]., f 107;
#X obj 320 290 t l l;
#X connect 0 0 17 0;
#X connect 1 0 17 0;
#X connect 3 0 18 0;
#X connect 4 0 18 0;
#X connect 8 0 9 0;
#X connect 10 0 23 0;
#X connect 11 0 8 0;
#X connect 11 0 13 0;
#X connect 14 0 3 0;
#X connect 15 0 1 0;
#X connect 16 0 20 0;
#X connect 18 0 10 0;
#X connect 20 0 21 0;
#X connect 21 0 17 0;
#X connect 23 0 11 0;
#X connect 23 1 12 0;
#X restore 31 351 pd [netsend]-UDP-example;
#X obj 6 449 cnv 1 860 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 236 462 list tosymbol;
#X obj 341 462 list fromsymbol;
#X text 352 291 <--------;
#X text 28 399 Note that [fudiformat] and [fudiparse] also relate to [list fromsymbol] and [list tosymbol] \, but it's more powerful as it deals with any kind of message \, not only symbols., f 115;
#X text 26 76 FUDI stands for "Fast Universal Digital Interface" and is a networking protocol used by Pd. The [fudiformat] object converts messages to the FUDI protocol so you can send them over the network. The converted message is a list of bytes ending with a packet separator (59 10). The '-u' flag switches to "UDP" mode and omits the packet separator making it suitable for sending FUDI messages over UDP (but you can also use the default format over UDP). See the description of the [fudiparse] object below., f 115;
#X obj 31 286 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#N canvas 798 148 488 282 html-reference 0;
#X obj 101 59 inlet;
#X obj 101 190 pdcontrol;
#X obj 101 130 pdcontrol;
#X msg 101 105 dir;
#X text 205 94 this window opens the html reference link via the [pdcontrol] object., f 25;
#X msg 101 159 browse \$1/../8.topics/fudi.htm;
#X connect 0 0 3 0;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 5 0 1 0;
#X restore 31 316 pd html-reference;
#X text 18 256 For more details on "FUDI":;
#X text 54 286 <-- Open HTML reference;
#X text 384 204 <-- convert without the packet separator;
#X connect 5 0 6 0;
#X connect 6 0 9 0;
#X connect 7 0 9 0;
#X connect 9 0 16 0;
#X connect 16 0 8 0;
#X connect 18 0 7 0;
#X connect 26 0 27 0;
