[PD] Pd FLOSS Manual Update pt 1

Frank Barknecht fbar at footils.org
Sat Apr 11 20:49:20 CEST 2009


Hallo,
Derek Holzer hat gesagt: // Derek Holzer wrote:

> as I've mentioned before, this obscure and arcane business of many types  
> of messages is probably the most incomprehensible bit for new users  
> coming to Pd. What I'd like to see in this chapter is not just another  
> taxonomy of the different kind of messages Pd has. Rather, I'd like to  
> see clear tutorials with real world examples of why you would use  
> different messages for different purposes instead of presenting a bunch  
> of abstract information right away.
>
> I think the priority for the FLOSS Manual should be to show *why* things  
> are used, rather than to be exhaustive about all the different things  
> that *could* be used. 

Meta-messages (I'll use this term now) have a very important "why": In Pd they
are generally used to set the status of objects or make them do specific
actions. Sending a "stop"-meta-message to [poly] will make it stop playing,
sending a "set"-meta-message to a [makefilename] will change the format string,
a "set" to a tabread sets the table to read from and so on.

The other messages - float, symbol or list - generally are data carrying
messages. Floats to tabread will give the value of that index in the table,
symbol to makefilename will apply the format string, lists to [poly] will be
tagged with a number and output it. All of these change data and pass it along.

There's lots of potential for explaining the difference with examples taken
from daily use.

The distinction between meta-messages and data messages becomes very 
important in message boxes, which are only doing the expected dollar expansion
properly when the incoming message is a data message, and they react to meta
messages like "set" in completely different ways.

  "Messages in Pd are simewhat artificially divided into two
  classes. First are data-holding messages (bang, float,
  symbol, list) which are the primary way of communicating
  between objects. Second is "everything else" (you could
  call them out-of-band messages or metamessages) that
  describe changes in configuration, read and write files,
  quit Pd, etc. These are provided so that complex objects
  don't need to have 100 separate inlets for every possible
  functionality. It's not clear whether this was a good
  design choice, but it's entrenched."
  
That's a quote from list-help.pd

> So if obscure details are skipped in the beginning  
> in favor of clarity, I would prefer that. Other, later examples can show  
> the more exotic types and uses of "meta messages" "custom messages" etc,  
> or the distinctions between them when it becomes important.

The distincion is important all the time. Even if it's explained in detail
later, the terminology should not be different. That's why I recommended to not
use "undefined strings" which is not a common term for the messages it refers
to, especially as most of http://en.flossmanuals.net/bin/view/PureData/Messages
deals with meta-messages and [route]. [route] almost always is used with either
number lists or meta-messages, and only very rarely with data messages not
starting with a float. (That's why my [route]s often come in tandem with [list
trim].)

Ciao
-- 
Frank




More information about the Pd-list mailing list