>________________________________
> From: Ivica Bukvic <i...@vt.edu>
>To: Jonathan Wilkes <jancs...@yahoo.com> 
>Cc: pd-list <pd-list@iem.at> 
>Sent: Friday, March 1, 2013 7:55 AM
>Subject: Re: [PD] bang vs empty list
> 
>
>To add to this, I cannot think of a scenario where you would want to 
>differentiate between bang versus symbol bang. Please feel free to convince me 
>otherwise.

Just one example:

If you parse a Pd patch in Pd you'll want to handle everything as lists, because
the moment you shave off the list selector you're in danger of outputting bad
messages:

"#X text 10 10 INLET_0 bang float symbol"

|
[route #X]
|
[route text]
|
[route 10]
|
[route 10]
|
[route INLET_0]
|
[route bang]
|
[route float]  <-- oops, "float" got silently discarded above


Of course that's just a didactic example, because in real life you
would iterate over the message one atom at a time, and if "bang"
and "float" had been switched above you'd even get an explicit error
about "Bad arguments" (since float needs to be followed by a
float atom and not the symbol atom "bang").  Therefore you have
to use list objects to ensure you don't lose data or run into a badly
formed mesage, and when you split lists you end up with "symbol bang"
which [select] handles perfectly well.


The point is that select inspects the payload of the message and not the
selector.  Bang messages don't have a payload so you've now made a special
case where the selector is inspected only if the user types "bang" as an arg. 
The
[route] object already chooses bases on selector so I don't see a reason to 
change
the behavior for [select] in this way.


-Jonathan


>On Mar 1, 2013 7:50 AM, "Ivica Bukvic" <i...@vt.edu> wrote:
>
>Yes, but it also prevents profuse errors on the console regarding how select 
>does not understand things which may happen in complex patches under certain 
>circumstances, and which previously were not reported.
>>On Mar 1, 2013 3:29 AM, "Jonathan Wilkes" <jancs...@yahoo.com> wrote:
>>
>>----- Original Message -----
>>>
>>>> From: Ivica Ico Bukvic <i...@vt.edu>
>>>> To: pd-list@iem.at
>>>> Cc:
>>>> Sent: Thursday, February 28, 2013 7:15 PM
>>>> Subject: Re: [PD] bang vs empty list
>>>>
>>>> BTW, the only regression with this is that [select] object complains it 
>>>> does not
>>>> understand "bang."
>>>
>>>Pd's [select] only understands symbol and float messages.  If you make it
>>>accept bangs then you create an inconsistency where both
>>>"symbol bang" and "bang" are matched by [sel bang].
>>>
>>>-Jonathan
>>>
>>>> I've patched it so that when it receives a bang
>>>> it redirects it to sel1_symbol and sel2_symbol with a gensym("bang").
>>>> This also means that [sel b] would not work for bangs, but [sel bang] 
>>>> will. I
>>>> think that makes sense since someone might want to select letter "b."
>>>>
>>>> _______________________________________________
>>>> Pd-list@iem.at mailing list
>>>> UNSUBSCRIBE and account-management ->
>>>> http://lists.puredata.info/listinfo/pd-list
>>>>
>>>
>
>

_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to