[PD] Select treats all symbol numbers as floats

IOhannes m zmoelnig zmoelnig at iem.at
Mon Aug 15 16:30:24 CEST 2005


Dan wrote:
> I am trying to [select a b c 1 2 3]
> 
> According to the PD documentation, this is possible if I send all symbols.
> 
>>From select help:
> " Notice that "400" here is defined as a symbol data type and the [select]
> object can successfully match it to the creation argument."
> 
> But if I add a [symbol 300{ it gets a match at 400 (the first float in the
> select). When I have
> 
> [sel a 1 b 2] 
> 
> I can successfully find both a and b, but any numbers I send, as symbols,
> get caught at 1. 

alright.
you should not (cannot, must not) mix symbols and floats with
[select]/[route].

you have 2 problems:
the simple one is, that [symbol 400( does _not_ create a symbol "400",
but instead something different (i think it used to be a symbol "float",
but it is not with pd-0.38; it looks (with [print]) like it is an empty
symbol but i don't think it actually is); if you really want to create a
symbol "401" you will have to use [makefilename %d]

the more complicated one is with [select]:
if you do [sel a 1 b 2] it is actually [sel a "float" b "float"] and
each  that comes in will match against "float" (don't take the "float"
literally though)

> 
> It behaves like this in both .3.7 and .3.8. I was starting to draw a
> workaround  and thought I'd mention it. Am I missing something?

the workaround is to use 2 cascaded [select]s, one for symbols, the
other for floats.


mfg.a.sr
IOhannes




More information about the Pd-list mailing list