[PD-dev] proposed new "list" object
chris clepper
cgc at humboldtblvd.com
Wed Jul 20 03:31:37 CEST 2005
It looks like the ASCII diagrams got butchered, but it sounds like a
nice object to have in Pd. Can you make a txt or pdf document as an
attachment?
On Jul 19, 2005, at 8:13 PM, Miller Puckette wrote:
> Hi devs...
>
> I'm thinking about finally writing a "list" object for Pd to do jobs
> like "append", "any", etc. I've held off so far because I've felt
> unsure about the best design... and once I stick it in the "base" Pd
> it will be hard to change.
>
> To avoid cluttering up the namespace I want to use just the one name,
> "list", and use the first argument to differentiate between functions
> (an idea inspired by Krzysztof's xeq object). Here are the functions I
> imagine:
>
> list append - append a list to another
> list prepend - prepend a list to another
> list cat - build a list by accumulating elements
> list serialize - spit out elements of a list one by one
> list first - output first n elements
> list last - output last n elements
> list length - output number of items in list
> list reverse - permute elements of a list back to front
> list pack - synonym for 'pack'
> list unpack - synonym for 'unpack'
> list selector - change selector of a list
> list <no args> - "prepend" the selector list to non-list messages
>
> The "append" option would also play the role of "any" (just bang the
> left
> inlet after putting any list in the right).
>
> All of these would expect the "list" selector at the head of messages,
> with
> the exception of plain "list"; all of them would output "list"
> messages except
> "list selector". These would work as follows:
>
> --------------------------- list ----------------------------------
> in (real message) in (as printed) out (real message) out (as
> printed)
> list bang (same)
> list 1 1 (same)
> list foo list foo (same)
> foo foo list foo list foo
>
> --------------------------- list selector bar
> -------------------------
> in (real message) in (as printed) out (real message) out (as
> printed)
> list bang bar
> list 1 1 bar 1
> list foo list foo bar foo
> foo foo (error)
>
> There's one inconvenience with plain "list" since you can't
> differentiate
> "list foo" from "foo" using its output; you'd have to use "route list
> symbol"
> first and then do whatever you wanted to do differently ("list list
> foo" for
> example). It seemed better to leave that to the imagination of
> programmers,
> since there seem to be disagreements about it...
>
>
> cheers
> Miller
>
>
>
>
> _______________________________________________
> PD-dev mailing list
> PD-dev at iem.at
> http://lists.puredata.info/listinfo/pd-dev
>
More information about the Pd-dev
mailing list