[PD-dev] First attempt at "list" object uploaded

Hans-Christoph Steiner hans at eds.org
Thu Jul 28 02:54:20 CEST 2005


On Jul 27, 2005, at 1:30 PM, Miller Puckette wrote:

> On Wed, Jul 27, 2005 at 08:52:10AM -0400, B. Bogart wrote:
>> Hey all,
>>
>> I've been barely able to keep up with this thread. Lots of ideas and
>> changes. Here I agree with everything that HC has to say.
>>
>> I'm also a bit confused (anoyed) about the whole list vs nonlist 
>> things
>> just for the reasons HC mentions. Miller, you said it is probably
>> "better" to use lists rather than lists that do not start with "list" 
>> as
>> the first element, non-lists. Why is this?? I think a list should be:
>>
>> * interpreted in many cases as a non-list. (ie creating OSC names for
>>   example, [list send /hello/blah value] automatically gets rid of the
>>   "list" part because it knows what to do about it.
>>
>> * be able to contain a mix of symbols and float atoms
>>
>> * there be only be one "list-like" thing, I don't know what this would
>>   make a non-list into... an undefined list? One would not need a
>>   non-list if the first point above was true and the "list" part not
>>   considered part of the list. (NOT the first element, but something
>>   invisible that you never need to see, like "float [float]" where I
>>   have never had the need to worry about it but the damn list selector
>>   comes up all the time. :(
>>
>> Thats all for me.
>>
> Well, there's an attempt to straighten this out in a subpatch of the 
> "list"
> help window...

Ok, I just did a quick survey of Max/MSP's behavior.  Max handles the 
[route one] example properly (both output from the left outlet):

[one 2 three(
| [list one 2 three(
|/
[route one]

Max does [route list] badly, Pd outputs on the correct outlets (but it 
seems a little odd to me that [route list] would not output a list on 
its left outlet):

[1 two 3]
|   [list 1 two three(
|  /[one 2 three(
| //[list one 2 three(
|///
[route list]

                    (which outlet)
                     Max        Pd
-----------------------------------------
1 two 3             left      left
list 1 two 3        left      left
one 2 three        right      right
list one 2 three   right      left


And lastly, [print].  Max is more consistent, but it would be nice to 
see the selectors when they exist:

[1 two 3]
|   [list 1 two three(
|  /[one 2 three(
| //[list one 2 three(
|///
[print]
                     Max             Pd
-----------------------------------------
1 two 3           1 two 3        1 two 3
list 1 two 3      1 two 3        1 two 3
one 2 three       one 2 three    one 2 three
list one 2 three  one 2 three    list one 2 three


This investigation lead me to another odd behavior:  [route symbol] 
outputs a symbol on its left outlet, while [route list] outputs a 
non-list.  While it is definitely useful to have an object with can 
strip off the "list" selector, I don't think it should be called [route 
list].  [route list] should output a list for every list it receives on 
its inlet.

I added an example of this to my collection:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: list_catalog.pd
Type: application/octet-stream
Size: 3797 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20050727/7803d31f/attachment.obj>
-------------- next part --------------


.hc

________________________________________________________________________ 
____

                   ?El pueblo unido jam?s ser? vencido!


More information about the Pd-dev mailing list