hi,
forgive me torturing 'self-modifying abstractions' thread, but
still, this thread self-modified little bit further in my mind...
The question was, whether passing (sub)abstraction name to an
abstraction may be useful, and whether it should be allowed.
Well, perhaps the answer is 'yes' and 'yes', although the other
solution (linking at the same level instead of nesting) is by no
means less encapsulated or general, while being safer and not
dependent on yet unsettled features of PureData.
However, if passing by name is allowed, then we need to find a
simple way of inserting $-objects into an abstraction. This
cannot be done easily if an abstraction is edited in a toplevel
window, because not instantiated `formal parameter object' has no
inlets/outlets (as pix rightly pointed out), and therefore must
be used without patchcord connections. Relying solely on
send/receives makes the whole concept exotic.
If an abstraction is edited after instantiation, then $-objects
will get their proper inlets/outlets according to a name passed to
that abstraction. Before reasoning any further, I have three
questions about saving instantiated abstractions.
1. Custom saving routines, particularly those of gui-objects, are
dollar-killers. Is that a permanent feature?
2. Pd-objects (holding subpatches) show just the opposite
behaviour to gui-objects. While editing an abstraction instance,
one can put a [pd $1] object and $1 is properly instantiated.
But any dollar used in a subpatch name is not instantiated at all
after reloading. Is that a permanent feature?
3. Any change made to one instance will not be applied to other
instances before reloading of a parent patch. Is that a permanent
feature?
Krzysztof