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].)
Frank