[PD] pd to webpage

Thomas O Fredericks tof at danslchamp.org
Thu Oct 18 15:54:33 CEST 2007


What is the difference between [str] and [any2string]?
If I understand correctly str is a wrapper for standard string functions and
it's output is a pointer to a string.
I believe this approach is more limited that using any2string because all
basic string functions can be recreated once a symbol is converted to a
series of bytes. For example, to split a string along a space character you
can use [list split 32], but with the [str] architecture, you need to use
[str csplit 32].

Just my 2cents. Also, [any2string] does not break compatibility with Pd
Vanilla.

Tom

On 10/18/07, Hans-Christoph Steiner <hans at eds.org> wrote:
>
>
> [str] is only included in 0.40.3 because it needs the string patch to
> pd to work.
>
> .hc
>
> On Oct 17, 2007, at 3:27 PM, marius schebella wrote:
>
> > seems like mrpeach is not fully included in pd-extended or at least
> > [str] is missing. is this an abstraction or a library?
> > marius.
> >
> > Martin Peach wrote:
> >> Here's my unfinished attempt at a web server. It will send a file
> >> "index.html" to a browser. It uses the string patch to pd and the str
> >> object, which can handle ascii without pd interpreting it along
> >> the way.
> >> It may be possible to do it using other objects. The main problem
> >> is the
> >> detection of  special characters like CRLF in the request. The
> >> content-length field is not necessary if you close the connection
> >> after
> >> sending the data, so you don't need to know how long the data is
> >> going
> >> to be before you start. I think I have done that in a later
> >> version that
> >> I can't find right now...Obviously the index.html file could also be
> >> generated by pd, and then it would all be more interesting.
> >>
> >> Martin
> >>
> >> #N canvas 539 0 727 919 10;
> >> #X obj 104 61 mrpeach/tcpserver 80;
> >> #X floatatom 171 237 5 0 0 0 - - -;
> >> #X floatatom 286 191 5 0 0 0 - - -;
> >> #X obj 324 138 unpack 0 0 0 0;
> >> #X floatatom 324 161 3 0 0 0 - - -;
> >> #X floatatom 359 161 3 0 0 0 - - -;
> >> #X floatatom 395 161 3 0 0 0 - - -;
> >> #X floatatom 431 161 3 0 0 0 - - -;
> >> #X text 281 160 from;
> >> #X text 224 236 connections;
> >> #X text 199 191 on socket;
> >> #X obj 15 240 mrpeach/str to_symbol;
> >> #X obj 15 218 mrpeach/str csplit 32;
> >> #X obj 15 265 mrpeach/str compare GET;
> >> #X obj 22 282 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
> >> 1;
> >> #X obj 168 260 mrpeach/str csplit 32;
> >> #X obj 168 294 mrpeach/str compare /;
> >> #X obj 175 311 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
> >> 1;
> >> #X obj 153 339 &&;
> >> #X obj 160 356 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
> >> 1;
> >> #X obj 153 371 sel 1;
> >> #X obj 219 343 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
> >> -1 -1;
> >> #X msg 115 20 client 1 c:/martin/pd_patches/index.html;
> >> #X obj 201 399 mrpeach/str to_list Content-Length: 32 53 48 13 10 13
> >> 10;
> >> #X obj 153 439 prepend 464;
> >> #X obj 28 705 mrpeach/str to_symbol;
> >> #X obj 161 705 mrpeach/str to_symbol;
> >> #X obj 293 705 mrpeach/str to_symbol;
> >> #X obj 426 705 mrpeach/str to_symbol;
> >> #X obj 28 726 print a;
> >> #X obj 161 725 print b;
> >> #X obj 28 682 mrpeach/str csplit 10;
> >> #X obj 161 683 mrpeach/str csplit 10;
> >> #X obj 293 683 mrpeach/str csplit 10;
> >> #X obj 426 683 mrpeach/str csplit 10;
> >> #X obj 293 726 print c;
> >> #X obj 426 726 print d;
> >> #X obj 27 776 mrpeach/str to_symbol;
> >> #X obj 160 776 mrpeach/str to_symbol;
> >> #X obj 292 776 mrpeach/str to_symbol;
> >> #X obj 425 776 mrpeach/str to_symbol;
> >> #X obj 27 753 mrpeach/str csplit 10;
> >> #X obj 160 754 mrpeach/str csplit 10;
> >> #X obj 292 754 mrpeach/str csplit 10;
> >> #X obj 425 754 mrpeach/str csplit 10;
> >> #X obj 27 797 print e;
> >> #X obj 160 796 print f;
> >> #X obj 292 797 print g;
> >> #X obj 425 797 print h;
> >> #X obj 26 843 mrpeach/str to_symbol;
> >> #X obj 159 843 mrpeach/str to_symbol;
> >> #X obj 291 843 mrpeach/str to_symbol;
> >> #X obj 424 843 mrpeach/str to_symbol;
> >> #X obj 26 820 mrpeach/str csplit 10;
> >> #X obj 159 821 mrpeach/str csplit 10;
> >> #X obj 291 821 mrpeach/str csplit 10;
> >> #X obj 424 821 mrpeach/str csplit 10;
> >> #X obj 26 864 print i;
> >> #X obj 159 863 print j;
> >> #X obj 291 864 print k;
> >> #X obj 424 864 print l;
> >> #X obj 366 373 prepend 388;
> >> #X obj 378 312 mrpeach/str to_list HTTP/1.1 32 50 48 48 32 OK 13 10
> >> Content-Length: 32 50 49 56 13 10 13 10;
> >> #X obj 400 254 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
> >> -1 -1;
> >> #X msg 510 33 disconnectsocket \$1;
> >> #X msg 407 60 disconnectclient \$1;
> >> #X floatatom 429 -8 5 0 0 0 - - -;
> >> #X obj 407 11 f;
> >> #X obj 407 -8 bng 15 250 50 0 empty empty empty 17 7 0 10 -258699
> >> -241291
> >> -1;
> >> #X floatatom 532 -8 5 0 0 0 - - -;
> >> #X obj 510 11 f;
> >> #X obj 510 -8 bng 15 250 50 0 empty empty empty 17 7 0 10 -258699
> >> -241291
> >> -1;
> >> #X text 378 -27 disconnect by socket or client number;
> >> #X msg 352 212 set \$1;
> >> #X obj 321 446 t b b b;
> >> #X obj 360 468 f;
> >> #X obj 393 468 + 1;
> >> #X obj 360 488 i;
> >> #X obj 360 508 mrpeach/str to_list;
> >> #X obj 360 530 print count;
> >> #X floatatom 308 529 5 0 0 0 - - -;
> >> #X connect 0 0 12 0;
> >> #X connect 0 0 31 0;
> >> #X connect 0 1 1 0;
> >> #X connect 0 2 2 0;
> >> #X connect 0 2 73 0;
> >> #X connect 0 2 69 0;
> >> #X connect 0 3 3 0;
> >> #X connect 3 0 4 0;
> >> #X connect 3 1 5 0;
> >> #X connect 3 2 6 0;
> >> #X connect 3 3 7 0;
> >> #X connect 11 0 13 0;
> >> #X connect 12 0 11 0;
> >> #X connect 12 1 15 0;
> >> #X connect 13 0 14 0;
> >> #X connect 13 0 18 0;
> >> #X connect 15 0 16 0;
> >> #X connect 16 0 18 1;
> >> #X connect 16 0 17 0;
> >> #X connect 18 0 19 0;
> >> #X connect 18 0 20 0;
> >> #X connect 20 0 74 0;
> >> #X connect 21 0 23 0;
> >> #X connect 22 0 0 0;
> >> #X connect 23 0 24 0;
> >> #X connect 24 0 0 0;
> >> #X connect 25 0 29 0;
> >> #X connect 26 0 30 0;
> >> #X connect 27 0 35 0;
> >> #X connect 28 0 36 0;
> >> #X connect 31 0 25 0;
> >> #X connect 31 1 32 0;
> >> #X connect 32 0 26 0;
> >> #X connect 32 1 33 0;
> >> #X connect 33 0 27 0;
> >> #X connect 33 1 34 0;
> >> #X connect 34 0 28 0;
> >> #X connect 34 1 41 0;
> >> #X connect 37 0 45 0;
> >> #X connect 38 0 46 0;
> >> #X connect 39 0 47 0;
> >> #X connect 40 0 48 0;
> >> #X connect 41 0 37 0;
> >> #X connect 41 1 42 0;
> >> #X connect 42 0 38 0;
> >> #X connect 42 1 43 0;
> >> #X connect 43 0 39 0;
> >> #X connect 43 1 44 0;
> >> #X connect 44 0 40 0;
> >> #X connect 44 1 53 0;
> >> #X connect 49 0 57 0;
> >> #X connect 50 0 58 0;
> >> #X connect 51 0 59 0;
> >> #X connect 52 0 60 0;
> >> #X connect 53 0 49 0;
> >> #X connect 53 1 54 0;
> >> #X connect 54 0 50 0;
> >> #X connect 54 1 55 0;
> >> #X connect 55 0 51 0;
> >> #X connect 55 1 56 0;
> >> #X connect 56 0 52 0;
> >> #X connect 61 0 0 0;
> >> #X connect 62 0 61 0;
> >> #X connect 63 0 62 0;
> >> #X connect 64 0 0 0;
> >> #X connect 65 0 0 0;
> >> #X connect 66 0 67 1;
> >> #X connect 67 0 65 0;
> >> #X connect 68 0 67 0;
> >> #X connect 69 0 70 1;
> >> #X connect 70 0 64 0;
> >> #X connect 71 0 70 0;
> >> #X connect 73 0 61 0;
> >> #X connect 74 0 22 0;
> >> #X connect 74 1 62 0;
> >> #X connect 74 2 75 0;
> >> #X connect 75 0 76 0;
> >> #X connect 75 0 77 0;
> >> #X connect 76 0 75 1;
> >> #X connect 77 0 78 0;
> >> #X connect 77 0 80 0;
> >> #X connect 78 0 79 0;
> >>
> >>
> >> ---------------------------------------------------------------------
> >> ---
> >>
> >> _______________________________________________
> >> PD-list at iem.at mailing list
> >> UNSUBSCRIBE and account-management -> http://lists.puredata.info/
> >> listinfo/pd-list
> >
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management -> http://lists.puredata.info/
> > listinfo/pd-list
>
>
>
>
> ------------------------------------------------------------------------
> ----
>
> All mankind is of one author, and is one volume; when one man dies,
> one chapter is not torn out of the book, but translated into a better
> language; and every chapter must be so translated.... -John Donne
>
>
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20071018/9b90777c/attachment.htm>


More information about the Pd-list mailing list