[PD] array resize in $0-abstraction
Roman Haefeli
reduzierer at yahoo.de
Sat Mar 11 18:31:09 CET 2006
hi federico
"Federico" <xaero at inwind.it> wrote:
> Hello list!
>
> I am trying to follow some general standards while writing abstractions
> with pure-data.
> One of these, is the habit of prepending $0- to send/receives, so that it
> is possible have more than one instance of an abstraction.
>
> All it is ok except when I use arrays in my abs.
>
> i tried to use the message:
> ;
> $0-myarray resize $1;
this won't work, since you send [resize <$1>( to 0-myarray. try the
following instead:
[nbx]
|
[t b f]
| \
[pack $0 f]
|
[; $1-myarray resize $2(
dollarsigns in message-boxes are not the same as in objects. in
message-boxes they are used
to get a certain element from a list, whereas in objects they are
representing an argument.
> or even:
> [nbx]
> |
> [resize $1(
> |
> [s $0-myarray]
this is actually the same as my example from above. i assume it does not
work, because the $0-array is in an abstraction. abstractions do NOT have
the same $0-value as their parent patch. if you want to send data to an
array in an abs, but you still want to have your mainpatch using localized
symbols, you could do the following: create your abstractions with the
argument $0 -> [yourabs $0]. then replace within your abstraction all $0's
with $1's, e.g. $0-myarray -> $1-myarray. now you can send data from your
mainpatch to your abstraction using $0-myarray. of course, every $1-myarray
will receive the data.
>
> but pd outputs rispectively:
> error: 1002-sample: no such object
> error: 0-sample: no such object
>
> how I can resize arrays inside multi-instance abstractions?
if i understand you right, you want to have independent arrays in each abs,
but you want resize them altogether. in this case just leave all arrays with
the $0-prefix. then you could make some kind of master-resize-send in your
mainpatch:
[nbx]
|
[s resize-all]
then in your abs you need to 'forward' the message:
[r resize-all]
|
[resize $1(
|
[s $0-myarray]
i hope i could help.
roman
___________________________________________________________
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
More information about the Pd-list
mailing list