[PD] dealing with arguments and inlets
IOhannes m zmoelnig
zmoelnig at iem.at
Sat Feb 4 20:35:20 CET 2006
Hans-Christoph Steiner wrote:
>
> On Feb 4, 2006, at 3:37 AM, Frank Barknecht wrote:
>
>>
>> For consistency I would say: If the user wants "foo" but not "symbol
>> foo" s/he shouold take care of that manually with [list trim].
>
>
> I think we can keep both [any_argument] and [list_argument] so that you
> can choose the behavior. Also its very easily and logically
> straightforward to do this if you want:
>
> [any_argument]
> |
> [route float]
> [symbol]
i think [any_argument] is bad by design.
as far as i understand list vs. selectors, "lists" (the atoms after the
selector) are the data, whereas the "selector" is attached to a function
(e.g. the selector will define how an object will process the data)
arguments to an object are always data for this object (even though they
might influence the way the object handles other data), therefore they
cannot be non list-lists. (arguments to an object can never be messages
because of the timish nature of messages (appearing now....and now) -
however messages can have data which can be used by an ojbect just like
its arguments)
i think most bad things with nonlistlike messages arise from the use of
the selector as _data_.
(and sometimes messages become nonlistlike messages (by the use of say
[route]) just to simple)
>>> So that means that if you want to handle messages like [word( with
>>> [list_argument], there will have to be this after it:
>>>
>>> [route symbol]
>>> |
>>> [route word]
>>
>>
>> better would be [list trim].
>
>
> In my opinion, new is not always better. The double [route] thing
> works fine, and it is a clearly established method. [list] is still
> quite new, so for things like [*_arguments], I think its wise to stick
> to tried-and-true methods whenever possible.
i don't understand this arguing.
using pd objects is not like watering flowers: objects are supposed to
work within their little well defined world, and objects of the high
complexity of [route] and [list] normally don't need generations of
evolution to become what they are.
after all, since [route]s behaviour has changed a bit as to what type is
output, i guess using [list] would even be more stable.
the only reason to not use [list] is compatibility with older pd
versions (but i also advise to use pd-0.39)
>
>>> Personally, I think its better having the argument not be a symbol
>>> since its very likely that [route] will be involved soon after.
how comes?
for me it is more likely to have a [symbol] (or nowadays: [list])
involved whenever a symbol by chance becomes a message without arguments.
mfg.adsr
IOhannes
More information about the Pd-list
mailing list