-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 08/20/2010 08:30 AM, Jonathan Wilkes wrote:
(And I think initbang and closebang are totally different animals...)
They definitely are very different.
sure. i implemented both while i was at it :-)
As for [initbang] - my only use has been for making abstractions that can spawn a variable number of inlets/outlets. That's the only way I've used it and the only way I've ever seen it used-- if there are other uses maybe someone else on this list can give an example.
i hae used [initbang] a lot for dynamic patching (where [loadbang] is not triggered).
e.g. i have used both [initbang] and [closebang] together in a system that implements click-free reinstantiation of objects: when you have several abstractions generating audio, and you edit and save one of them, all of the sister abs are recreated, which easily generates dropouts because of 2 reasons - - the dsp-chain has to be recalculated - - the phase of the a vanishing object is different from that of the newly created replacement.
the dsp-chain recalculation can be made click-free by simply using faster processors (there are other ways (or rather: ways to reduce the time it takes for recalculation) as well, but i won't open this can of worms now)
the phase however, is a real problem which cannot be easily solved (unless Pd does automatic fade in/out for created/deleted objects automatically, which is probably not such a good idea)
the way i solved it, was sending the output of the abstraction to a summing bus (where [initbang] would create a fade in), and if the abstraction got deleted (detected by [closebang]!) it would fade out.
this has proven to work well in live-coding performances on an eee901 (e.g. a not so super-fast processor), without a rather minimal change in the core of Pd (only [initbang] and [closebang] are required)
mfgfst IOhannes