[PD] dynamic array names

Frank Barknecht fbar at footils.org
Wed Nov 16 00:15:43 CET 2005

Chuckk Hubbard hat gesagt: // Chuckk Hubbard wrote:

>  I thought the point was that you could use this in numerous places and each
> one would be unique... so how could $0 alone refer to a specific one?

$0 is a number, which is guaranteed to be a different number in every
abstraction instance it is used in. Not much else is known about $0. 

However it still is just a number, so you can legally send this number
and pass it as an argument to other abstractions. (You could do math
with it, however that doesn't make sense, as the content of $0 is

Passing $0 may be an advanced, but it is still a very common Pd idiom.
For example, in RRADical a passed $0 is used to communicate between
the various abstractions, that make up the state saving system inside. 

Using $0 as argument makes abstractions behave more like real objects.
Consider for example [tabread4 $0-table]: If you build your own
tabread-abstraction, which may do a different kind of interpolation
e.g. a linear one, and you call this [tabread1], then it is only
natural to use this abstraction the same way, as you'd use tabread4:
that is as: [tabread1 $0-table]. This is "passing $0" in action.  Your
new [tabread1] then will only read the [table $0-table] in its own
parent patch, and it will not touch any other [table $0-table] in
other abstraction instances.

 Frank Barknecht                 _ ______footils.org_ __goto10.org__

More information about the Pd-list mailing list