-
CitizenErased
Hi there,
I've working with PureData for (just) a few months, so I guess I'm still a newbie. I hope you can help me to solve this problem. Here it is: I'm trying to build an abstraction which a Sample looper. I'm using a "table" to store the sample and in order to make it as much independient as is possible, I have introduced the table in the abstraction. Also, to load the samples I use the following chain:
bng -> openpanel -> Message : read -resize $1 t1 ->soundFiler
here t1 is the name of the table. Of course, to be able to open more than own instance of my abstraction I need to make the table name a variable, otherwise I'll get the "warning: t1: multiply defined" error message. Now, here's the problem: in other abstractions I have solved this making the table name just a variable and passing a name when creating the object, for example the table would be "table $1" and when creating the object i would type "TapeLoop t1", where TapeLoop is the name of the abstraction. But now I'm already using the $1 variable, and although I have tried multiple ways I haven't be able to make it work by using other variables, for example using the following chain to load the Sample:
bng -> openpanel -> Message : read -resize $1 $2 ->soundfiler
In this case, the soundfiler doesn't take the table name as a valid name. I've also tried with other orders in the same chain, supposing that the $1 might be reserved to the initial arguments of the object:
bng -> openpanel -> Message : read -resize $2 $1 ->soundfiler
but it still didn't work.
Any idea of how to make the thing work? Thanks!
-
CitizenErased
@ClaudiusMaximus said:
Something like
[openpanel]
|
| [loadbang]
| |
| [symbol $1]
| |
[pack s s]
|
[read -resize $2 $1(
|
[soundfiler]might be what you want.
Thanks, it certainly was what I wanted. But I think there was a mistake in the diagram you drew: instead of
[read -resize $2 $1(
which didn't work, I used
[read -resize $1 $2(
being $1 the file to be loaded, and $2 the table in which it was supposed to be loaded. This way it worked fine. Anyway, your post was fundamental to understand what was happening. Thank you very much.