From 27cfb330ca39c29f88e536b2ab19242b4554eb3c Mon Sep 17 00:00:00 2001 From: Roman Haefeli Date: Tue, 1 Feb 2011 21:48:30 +0000 Subject: use SLIP as a container for OSC messages when transporting them over a stream oriented protocol (according to the OSC 1.1 specification) svn path=/trunk/externals/mrpeach/; revision=14848 --- osc/unpackOSCstream.pd | 170 ++++--------------------------------------------- 1 file changed, 12 insertions(+), 158 deletions(-) (limited to 'osc/unpackOSCstream.pd') diff --git a/osc/unpackOSCstream.pd b/osc/unpackOSCstream.pd index 55fb2e1..8599920 100644 --- a/osc/unpackOSCstream.pd +++ b/osc/unpackOSCstream.pd @@ -1,158 +1,12 @@ -#N canvas 693 326 361 208 10; -#X obj 9 7 inlet; -#N canvas 258 171 365 268 drip 0; -#X obj 12 15 inlet; -#X obj 12 215 outlet; -#X obj 59 15 table \$0.buffer 65536; -#X obj 39 82 s \$0.buffer; -#X obj 39 61 list prepend 0; -#X obj 12 37 t a a; -#X text 10 233 this 'drip' approach might use more memory \, but hopefully -less cpu cycles.; -#X obj 12 102 list length; -#X obj 12 147 until; -#X obj 12 123 t a b; -#X obj 12 170 f; -#X obj 44 170 + 1; -#X msg 62 147 0; -#X obj 12 192 tabread \$0.buffer; -#X connect 0 0 5 0; -#X connect 4 0 3 0; -#X connect 5 0 7 0; -#X connect 5 1 4 0; -#X connect 7 0 9 0; -#X connect 8 0 10 0; -#X connect 9 0 8 0; -#X connect 9 1 12 0; -#X connect 10 0 11 0; -#X connect 10 0 13 0; -#X connect 11 0 10 1; -#X connect 12 0 10 1; -#X connect 13 0 1 0; -#X restore 9 34 pd drip; -#N canvas 161 546 414 355 parse_frameheader 0; -#X obj 14 10 inlet; -#X obj 14 304 outlet; -#X obj 257 304 outlet; -#X obj 77 152 list prepend; -#X obj 146 100 t a; -#X obj 14 43 list prepend 0; -#X obj 14 123 f; -#X obj 14 144 + 1; -#X obj 14 166 sel 4; -#X obj 14 99 t b a; -#X obj 14 69 route 0 1; -#X text 97 64 0 = frame header; -#X text 97 80 1 = frame content; -#X obj 14 187 t b b; -#X obj 95 21 r \$0.route; -#X obj 46 230 s \$0.route; -#X msg 46 208 1; -#X obj 14 261 list append; -#X obj 237 10 inlet; -#X obj 237 44 b; -#X msg 316 106 0; -#X obj 316 126 s \$0.route; -#N canvas 504 266 169 262 MSB_2SB_3SB_LSB->float 0; -#X obj 7 10 inlet; -#X obj 7 214 outlet; -#X obj 7 33 unpack f f f f; -#X obj 70 74 << 8; -#X obj 38 118 << 16; -#X obj 7 165 << 24; -#X obj 70 98 +; -#X obj 38 139 +; -#X obj 7 190 +; -#X connect 0 0 2 0; -#X connect 2 0 5 0; -#X connect 2 1 4 0; -#X connect 2 2 3 0; -#X connect 2 3 6 1; -#X connect 3 0 6 0; -#X connect 4 0 7 0; -#X connect 5 0 8 0; -#X connect 6 0 7 1; -#X connect 7 0 8 1; -#X connect 8 0 1 0; -#X restore 14 283 pd MSB_2SB_3SB_LSB->float; -#X text 282 14 new packet; -#X text 13 321 frame length; -#X text 255 321 data stream; -#X connect 0 0 5 0; -#X connect 3 0 4 0; -#X connect 3 0 17 1; -#X connect 4 0 3 1; -#X connect 5 0 10 0; -#X connect 6 0 7 0; -#X connect 7 0 6 1; -#X connect 7 0 8 0; -#X connect 8 0 13 0; -#X connect 9 0 6 0; -#X connect 9 1 3 0; -#X connect 10 0 9 0; -#X connect 10 1 2 0; -#X connect 13 0 17 0; -#X connect 13 1 16 0; -#X connect 14 0 5 1; -#X connect 16 0 15 0; -#X connect 17 0 22 0; -#X connect 18 0 19 0; -#X connect 18 0 20 0; -#X connect 19 0 3 1; -#X connect 20 0 21 0; -#X connect 20 0 6 1; -#X connect 22 0 1 0; -#X restore 9 58 pd parse_frameheader; -#N canvas 618 581 423 324 form_packet 0; -#X obj -256 -183 inlet; -#X text -259 -166 length; -#X obj -200 -183 inlet; -#X text -203 -167 stream; -#X obj -193 -17 list prepend; -#X obj -124 -69 t a; -#X obj -255 -63 f; -#X obj -255 -42 + 1; -#X obj -255 -111 t b a; -#X obj -255 1 t b b; -#X obj -256 46 list append; -#X obj -255 -20 sel 0; -#X obj -256 79 outlet; -#X text -321 78 OSC packet; -#X text -152 78 EOP; -#X obj -194 79 outlet; -#X obj -201 -111 t b a; -#X msg -201 -80 0; -#X connect 0 0 16 0; -#X connect 2 0 8 0; -#X connect 4 0 5 0; -#X connect 4 0 10 1; -#X connect 5 0 4 1; -#X connect 6 0 7 0; -#X connect 7 0 6 1; -#X connect 7 0 11 0; -#X connect 8 0 6 0; -#X connect 8 1 4 0; -#X connect 9 0 15 0; -#X connect 9 1 10 0; -#X connect 10 0 12 0; -#X connect 11 0 9 0; -#X connect 16 0 17 0; -#X connect 16 0 4 1; -#X connect 16 1 11 1; -#X connect 17 0 6 1; -#X restore 9 111 pd form_packet; -#X obj 161 57 b; -#X obj 9 135 unpackOSC; -#X obj 9 158 outlet; -#X obj 60 158 outlet; -#X text 172 144 Author: Roman Haefeli; -#X text 172 160 Version: 2008-09-09; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 2 0 3 0; -#X connect 2 1 3 1; -#X connect 3 0 5 0; -#X connect 3 1 4 0; -#X connect 4 0 2 1; -#X connect 5 0 6 0; -#X connect 5 1 7 0; +#N canvas 693 326 361 208 10; +#X obj 9 7 inlet; +#X obj 9 135 unpackOSC; +#X obj 9 158 outlet; +#X obj 60 158 outlet; +#X text 172 144 Author: Roman Haefeli; +#X text 172 160 Version: 2011-02-01; +#X obj 9 71 mrpeach/slipdec 65536; +#X connect 0 0 6 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 6 0 1 0; -- cgit v1.2.1