[PD] Pd FLOSS Manual Update pt 1

Jonathan Wilkes jancsika at yahoo.com
Sun Apr 12 00:21:10 CEST 2009

--- On Sat, 4/11/09, Frank Barknecht <fbar at footils.org> wrote:

> From: Frank Barknecht <fbar at footils.org>
> Subject: Re: [PD] Pd FLOSS Manual Update pt 1
> To: pd-list at iem.at
> Date: Saturday, April 11, 2009, 8:49 PM
> 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].)

I agree that meta-messages should be called meta-messages, if 
they're called anything.  But I don't see how to make the 
distinction clear without having a comprehensive table of relevant 
pd-vanilla objects and their behavior regarding meta-messages.

Why do the first inlets of pack and symbol accept [pitch( ?
Why wouldn't the secondary inlets of pack and symbol accept 
[pitch( ?
Why does the second inlet of [list] accept [pitch( but the first 
inlet of [makefilename %s] doesn't?
How do message-box dollar signs handle meta-messages?
How does [list length] handle them?
Do you need [list trim] to route a float list by the first value?


> Ciao
> -- 
> Frank
> _______________________________________________
> 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