#N canvas 663 58 642 661 12;
#X text 47 606 see also:;
#X obj 135 606 oscformat;
#X obj 219 606 netreceive;
#X text 401 604 updated for Pd version 0.46;
#X obj 309 606 list;
#X obj 360 428 netreceive -u -b;
#X msg 360 373 listen 5000;
#X msg 372 401 listen 0;
#X text 439 400 stop listening;
#X msg 48 394 1 2 3 foo 5;
#X text 42 369 numbers and symbols;
#X obj 48 419 oscformat dog cat;
#X obj 193 419 oscformat -f b weasel;
#X msg 193 394 -1 1 2 3 4 5;
#X text 205 369 a blob;
#X text 357 349 packets from network;
#X text 445 373 listen on port 5000;
#X text 482 422 UDP packets \, binary output, f 13;
#X text 52 54 oscparse take incoming lists of numbers \, interpreting
them as the bytes in an OSC message. The output is a list containing
\, first \, the symbols making up the address of the OSC packet \,
and following that \, numbers and symbols as present in the OSC message.
OSC messages may contain 'float' \, 'int' \, 'string' \, or 'blob'
elements. Blobs are arrays of bytes (numbers between 0 and 255) and
are copied to the output preceded by the blob's byte count., f 75
;
#X text 54 155 OSC is a complicated networking protocol (FUDI \, as
used in netsend/netreceive is simpler and better but less widely used).
oscparse and oscformat make no attempt to deal with timetags or aggregates
of packets \, nor with streaming OSC. Also \, no attempt is made here
to clearly distinguish between the OSC address (symbols) and the following
data \, nor between blobs and lists of numbers - it is assumed that
you know what types the message should contain. You can alternatively
use the OSC objects from mrpeach which have more features than these.
, f 77;
#X text 54 285 OSC messages may be combined in "bundles". If oscparse
receives a bundle it simply parses all the messages in the bundle in
the order they appear \, and ignores the bundle's time tag., f 77
;
#X obj 47 14 oscparse;
#X text 117 15 - parse Open Sound Control (OSC) packets into Pd messages
, f 58;
#X listbox 49 485 80 0 0 0 - - - 0;
#X obj 49 533 oscparse;
#X obj 49 556 print parse-output;
#X obj 128 527 print packet;
#X connect 5 0 23 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 9 0 11 0;
#X connect 11 0 23 0;
#X connect 12 0 23 0;
#X connect 13 0 12 0;
#X connect 23 0 24 0;
#X connect 23 0 26 0;
#X connect 24 0 25 0;
