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@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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list