Hi, when using A_GIMME I can test if the type is A_FLOAT or A_SYMBOL,
but if I give it a "$1", for instance, it's treated as a float.
Well, it depends on the actual value of "$1". In the case of
[cyclone/play~ $1], the "$1" is replaced by its actual value before
being passed to the object. A_GIMME (and Pd lists in general) doesn't
know anything about dollars or dollarsyms, all list items are either
A_FLOAT, A_SYMBOL or A_POINTER.
Now, if I have 'A_DEFSYM' instead of 'A_GIMME', then '$1' is
considered as a symbol.
I guess what happens is that you instantiate [cyclone/play~] on a top
level canvas (which doesn't have creation arguments), so the value of
"$1" is always "0". A_DEFSYM converts non-symbols to an empty symbol.
So there is nothing to worry about. I guess the easiest way is to just
use A_SYMBOL, so Pd will automatically give an error if you try to pass
it a float. Otherwise use A_GIMME and check manually.
Christof
_______________________________________________
Pd-dev mailing list
[email protected]
https://lists.puredata.info/listinfo/pd-dev