Hi Daniel and list,
it seems we've created very similar things... Based on Krzysztof's rabin~ code I've made an external called 'clone' that can load several instances of an abstraction. A first experimental prerelease can be found at http://www.akustische-kunst.org/puredata/clone/ (Win and OS X at the moment; but should compile for Linux as well). See the attached PDF for a short overview what it does.
Daniel Heckenberg schrieb:
Is it possible to avoid the proxy objects in any way?
Why? - 'clone' uses proxy inlets / outlets as well and I haven't found any other way to do it.
- Signals. (Should be straightforward, I think... it might even work
already...?)
... have a look at clone (or rabin~) to see how it could be done.
- Can this be done as an external?
Yes and now. Your solution calls a lot of Pd's internal routines which aren't exportet. On the other hand it's possible to use other functions to do (nearly) the same thing.
- Should I just programmatically create a canvas with my objects (inlets
and outlets) in it and connect them together (avoids custom ainlet/aoutlet classes).
If you mean dynamic patching I guess it depends on what you want to do. If you need it to be dynamic while your abstraction is running it's probably a good idea. In case you just want to load a fixed abstraction it's at least easier to create just one object box instead of all the things needed to build your abstraction dynamically...
Olaf