From: Michael Zacherl sdiy-mz01@blauwurf.info To: IOhannes m zmölnig zmoelnig@iem.at Cc: pd-list list pd-list@iem.at Sent: Tuesday, August 14, 2012 9:56 AM Subject: Re: [PD] variable number of outlets/inlets /dynamic patching Hallo IOhannes,
On 08/11/2012 01:58 PM, Michael Zacherl wrote:
In Pd-extended it could be easier since there are more possibilities to control the init-phase of a just loaded patch. I think it's in iemlib (Iohannes could chime in) but admittedly I forgot about it, since also there was a lot of discussion wether this should go into Vanilla or not,
the secrect is [initbang], which fires when the abstraction is ready (rather than [loadbang], which fires when all the patch (with all the abstractions, sub-patches and what not) is ready)).
what about dependencies within cascaded abstractions? E.g. one dynamically patched abstraction would need another one? is there a way to guarantee a sequence in order not to break connections?
unfortunately, i haven't found a way to make [initbang] without hacking Pd itself, so it's not part of any library (e.g. iemlib).
so it's a modified Pd-Vanilla, we have with Pd-extended, not only Pd-Vanilla plus a load of externals and abstractions? I wasn't aware of that. Now I understand all the discussions about that (not trying to open an old can of worms! ;-)
instead, there is a (low-level) "patch" for Pd somewhere in the tracker, which is applied to Pd-extended (but unfortunately not to Pd-vanilla).
tracker?
thus: if you want to need [initbang] (which you do if you really need variable in/outlets in abstractions), you need to either compile Pd yourself or use Pd-extended (only the core binary, no need for any externals here)
What I tried, and apparently works, is to create a maximum number of inlets/outlets and delete the ones not needed at load-time. ButI consider this one a hack and certainly doesn't improve the reliability of a dymamic patch.
Even with [initbang] it's still a hack. When designing and testing the abstraction, the user must remember to always remove the dynamically created inlets/outlets before saving, and there's no way to automate that without using yet another hack (faking mouse/cut messages, for example). -Jonathan
Michael.
-- feed your perception: http://blauwurf.at/ http://soundcloud.com/noiseconformist
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list