-
js99
what is the difference of doing something like:
[osc~ 220]
| [osc~ 230]
| | [osc~ 240]
| | |
|/ /
| /
[*~ 1]
| \
[dac~]and:
[osc~ 220]
| [osc~ 230]
| | [osc~ 240]
| | |
[expr~ $v1 + $v2 + $v3]
| \
[dac~]Both a technical and 'practical application' explanation would be appreciated, as I'm not sure what is actually going on under the hood, or how it makes a difference sound / performance wise.
Thanks
-
js99
Is it possible to dynamically create and and locally store an instance of an abstraction within a session? Specifically, I want to create one abstraction patch for a synthesizer, then be able to create and reference an arbitrary number of those instances. I know one way I could emulate this is just create a bunch of object boxes for the abstraction, and only instantiate them when needed, which means the limit of instances being how many ever objects I create in the main patch before hand. In practice, this would actually work fine as I most likely will never need more than 20 instances or so, but just wanted to know if there is a more elegant way to do this.
thanks.
-
js99
If I want to play sound from a table/array named phat_beats, I can do:
[tabplay~ phat_beats]
Can I use tabplay~ to play a table with a variable name? I assumed tabplay~ could receive a symbol, as such:
[symbol phat_beats(
|
[tabplay~ $1]However, this doesn't seem to work. I'm hooking the rest up to audio output of course. I looked at the help file for tabplay~ but couldn't find a definitive discussion of what arguments tabplay~ takes. Or maybe I'm misunderstanding the way variables work? Is there any official documentation for PD that isn't just the patch help files, that describes in a standardized way input arguments / output in a standardized format?
Thanks
-
js99
thanks for the replies and examples. i didn't know you could dynamically create patches from templates like in the testBuildFiles. i ended up just settling for a limited number of pre-defined instances because it works for my purposes.
thanks.
-
js99
Indeed, I overlooked that - thank you.
I am using libpd to select preloaded samples by array name from the application code, so from the PD end, the solution was simple as:
[r selectSample] <- symbol sent in with libpd
|
[set $1]
|
[tabplay~]