[Pd] Infernal symbols

padawan12 padawan12 at obiwannabe.co.uk
Mon Aug 7 07:52:53 CEST 2006


Easy there Frank! Even I'm starting to understand
it, and then what will I have to whine about?


On Sun, 6 Aug 2006 15:36:55 +0200
Frank Barknecht <fbar at footils.org> wrote:

> Hallo,
> Chuckk Hubbard hat gesagt: // Chuckk Hubbard wrote:
> 
> > I still don't grasp why and when Pd seems to arbitrarily insert the
> > word "symbol" or "list" instead of treating the symbol as a
> > meta-message...
> 
> There is nothing (too) arbitrary about it and it's especially not Pd
> itself that does this: Every object generates a certain kind of
> output. Some objects output symbol-messages (for example the [symbol]
> object always outputs symbol-messages), some objects send
> float-messages (like [float]) while some objects generate meta
> messages (message boxes can do so for example, or [list trim].) Also
> some objects accept only messages of a certain kind to certain inlets. 
> 
> It's part of getting to know Pd and all its objects to learn which
> objects generate and accept which kinds of messages. 
> 
> 
> Additionally there are a two conventions on messages that start with a
> number: A number can never be at the start of a meta message (and thus
> form the "selector" of a message), only words can start a
> meta-message. 
> 
> So while "float 2" is a full float-message, a single number like "2"
> also is a float-message. The selector "float" in this case is implied,
> so that you don't always have to type the "float" part.
> 
> The second convention is, that lists that start with a number, like "1
> 2 3" or "0 is zero" are considered list-messages even when the
> selector "list" at the start is missing. So these are equivalent: 
> 
> "1 2 3" == "list 1 2 3" 
> "0 is zero" == "list 0 is zero"
> 
> Much as with the "float 2" being equal to "2" here the "list"-selector
> is implied and can be omitted, if the first element is a number.
> 
> So basically that's all there is to know about messages in Pd: 
> 
> bang-message:
>     * "bang"
> 
> float-message: 
> 
>   * messages starting with "float" (the selector) and after that one number
>   * single number (the selector "float" is implied here)
> 
> symbol-message:
>   
>   * messages starting with "symbol" and after that one word
> 
> list-message:
> 
>   * messages starting with "list" and after that several words or
>     numbers
>   * messages starting with a number and after that several words or
>     numbers  (the selector "list" is implied here)
> 
> list-messages with no or one element get "downcasted":
> 
>   * an empty list-message ("list" and then nothing) is equivalent 
>     to "bang"
>   * a 1-element list-message where the one element is a number is a
>    float message: "list 1" ==> "float 1" ==> "1"
>   * a 1-element list-message where the one element is a word is a
>    symbol message: "list word" ==> "symbol word"
> 
> meta-message:
> 
>   * (almost) everything else. ("almost" because there also are things
>     like pointers or GemLists, which are even more special)
> 
> Print this. ;)
> 
> Ciao
> -- 
>  Frank Barknecht                 _ ______footils.org_ __goto10.org__
> 
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list




More information about the Pd-list mailing list