Sorry, gmail is hacking up the comment log. Comments are inline.
On Wed, 15 Dec 2010, brandon zeeb wrote:
Oh ok. I couldn't imagine that people would cache mtof in a table.Say you compute a raised cosine window and store it in a table, this table is used within one instance of a granular table reading voice abstraction, 1-n of these abstractions are created at run time for polyphony. Now you have N instances of this table. Some people cache mtof in a table, and thus that was my original point.
You can send "reply-to $0-callback" to [s mtof] and see whether your [r $0-callback] gets a bang. If it does, it's because there's a [r mtof] that sees that and has a [t b s]=[s] to send you back a bang. This thing is in an instance of the mtof-cache abstraction somewhere. If you don't get the reply, then you dynamically open the mtof-cache as a toplevel patch (so that the cache doesn't disappear when you close the patch that created it) and you auto-hide it using "vis 0"-[s $0-canvas] [namecanvas $0-canvas].
Does that sound good ?
Yes you do. It's the implicit object numbering. You can renumber an object by deleting and undeleting it. Any new object is created at the end of the order, such that when you save the patch, it will be reloadable in that order.In a given abstraction you do NOT have control of the order in which your abstractions are created in memory.
That said, it's considered bad practice to rely on this. People who need to rely on this may use dynamic patching instead.
I care more about Pd as a language and as a means to learn. For my purposes, using externals is pointless,
I beg your pardon ???
Pd with a lot of externals is a language too !do you, really ?
although I do appreciate all the hard work.
Basically, an abstraction (or object) is given what it needs to function by a 3rd party.
Ok, then connections are given to the abstractions in a kind of attribute that we call an "outlet" : wouldn't that be a form of IoC ?