On Mon, 25 May 2009 12:50:20 +0200 IOhannes m zmoelnig zmoelnig@iem.at wrote:
first of all, you have to define, what you mean by "fully loaded". a somewhat naive definition might be: "when the source of the patch has been loaded and everything in the patch has been properly initialized". (the tricky part is of course the "properly initialized") consider a patch that loads soundfiles into an array, and does so by using: [loadbang]->[delay 5000]->[read myfile.wav myarray(->[soundfiler] now the patch will be properly initialized 5000 milliseconds after the patch has been loaded. there is no way to properly detect this.
Agreed, patch-loaded and patch-ready are different things.
In some of my patches, I take a systematic approach to startup instead of having loadbangs dotted here and there. A subpatch called [pd init] is often there, containing a single loadbang and a big [ t b b b b b ... ], connected from right to left order to a set of [s startx], [start y] ... objects. The last thing on that list would be "ready". I'v found that useful to precisely sequence the startup of patches with initially unstable filters etc.
This doesn't help the cases of existing patches though, unless we want to retrofit them all.
And it doen't help with Iohannes case where a [delay] is placed after the [loadbang].
a.