[PD] Indicating when a patch is fully loaded
Frank Barknecht
fbar at footils.org
Mon May 25 13:01:35 CEST 2009
Hallo,
IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
> hmm, not sure whether i fully understand this (and mind that i don't
> have a full overview of how RjDj works in my head).
>
> 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.
>
> a simpler example would involve no [delay] on the patch side (that is:
> everything is initialized directly via [loadbang]).
> now [loadbang]s are executed depth first: if you have an abstraction
> containing a [loadbang] and another abstraction also containing a
> [loadbang], the "inner" [loadbang] will always fire before the "outer"
> one.
> to make it the other way round, use [loadbang]->[delay 0] in the inner
> abstraction.
> (since timing is not crucial in your case, the above will most likely be
> just accurate enough)
You did understand my problem very well! :)
The approach from above is what I'm currently playing with and for
"well-behaved" patches that don't use [delay]s after loadbangs themselves, it
works pretty okay.
> another thing:
> if the patch/scene is loaded with something like [;pd open myscene.pd .(
> the [loadbang]s in "myscene" will fire before the sending of the
> open-message returns.
> something like:
>
> |
> [t b b]
> | [; pd open myscene.pd .(
> |
> [print loading-done]
Hm, that's a very interesting approach, maybe this can work in RjDj, depending
on I how switching "scenes" is realized internally (which I don't know).
Ciao
--
Frank
More information about the Pd-list
mailing list