[PD] Understanding Selectors, Atoms, Lists ...

Frank Barknecht fbar at footils.org
Wed Apr 19 18:20:33 CEST 2006


Hallo,

(I cc. to the list as well, I hope you don't mind.)

Sciss hat gesagt: // Sciss wrote:

> frank, thanks for the links to the text from you and hc ; i think i  
> quite understand the thing know (although i still find it not very  
> convincing to have a "symbolic atom" along with a "symbol" ;-)
> 
> so i guess you can often omit the selector for the left inlet because  
> that's a special "accepts all" inlet, right?

No, that's not dependent of the inlet number although as a convention
most objects accept meta-messages at their first inlet. However you
cannot just omit the selector. It really depends on the object that
gets this message. For example "set" and "symbol set" are two very
different messages, which you can see by creating a graphical symbol-object
with Ctrl-4, and connecting a [set( and a [symbol set( message to it.
Pressing the "set" message will not change, what you typed into the
symbol, however "symbol set" will input "set" into the symbol-atom.

This gets even clearer if you use a message object instead of the
symbol-atom like in: 

  [symbol set(
  |
  | [set(
  |/
  [hallo $1(
  |
  [print]

If you press the "symbol set" message, Pd will print "hallo set"
because $1 will get expanded.

However if you press the "set" message, Pd will print nothing, instead
the contents of the "hallo $1" message will be deleted and the message
will be set to be empty. ("set something" would set it to "something").

So the difference between messages with selectors and messages without
a selector can be HUGE. The only place, where the selector can be
omited is with messages that start with a floating point number. They
will automatically become a float or a list messages depending on how
many elements the messages has. Also empty messages are normally
considered to be a "bang" message.

Ciao
-- 
 Frank Barknecht                 _ ______footils.org_ __goto10.org__




More information about the Pd-list mailing list