[PD] state object
Frank Barknecht
fbar at footils.org
Tue Jun 27 19:53:11 CEST 2006
Hallo,
Federico hat gesagt: // Federico wrote:
> unless pd will have a standardized way of doing this, I prefer doing:
>
> [loadbang]
> | [r slider001]
> | |
> | [set $1(
> |/
> [0(
> |
> ##
> ##
> ##
> ##
> ## <- Vslider or whatever
> |
> [s slider001]
What if I already have a receiver called "slider001" somewhere else
which does something different? ;)
> however this can't be packed into an abstraction (only a subpatch will
> do), and not even into a GOP abstraction, because Vslider it's too narrow.
>
With [sssad] this looks like this:
[r slider]
|
[sssad TAG]
|
[vsl]
|
[s slider]
Instead of [r/s slider] you use direct connections in a real patch,
but this is hard to draw in ASCII. Then it would look somehow like
this:
[vsl]X[sssad TAG]
So to retrofit a slider for state saving, you just "cross-connect" a
[ssaad TAG] object to it. One additional object, two additional
connections. In an abstraction to be reused, one normally uses
something like [sssad $1/tag] and then you create this abstraction
with a unique argument. [sssad] only uses two global receivers,
there's no further receiver-namespace-pollution besides this. It saves
symbols, floats and lists (or actually just lists, including lists
with one element).
State-saving to a [textfile] then is easily done using the idiom
described in the help patch or use Chris McCormick's [ssad/panel]
abstraction. All this is only using builtin objects, however you can
also extend it with [pool], [coll] or whatever.
Known bug: If you create two or more [sssad] objects with the same tag and
then delete the first one, state saving is broken until you reload the
patch.
Ciao
--
Frank Barknecht _ ______footils.org_ __goto10.org__
More information about the Pd-list
mailing list