[PD] Indicating when a patch is fully loaded
IOhannes m zmoelnig
zmoelnig at iem.at
Mon May 25 12:50:20 CEST 2009
Frank Barknecht wrote:
> Hallo,
> IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
>
>>> I'm looking for a hack to find out, when a patch has finished
>>> loading. Any ideas?
>> [loadbang] ?
>
> Well, maybe I should have been more verbose: I'm mostly asking this for the Pd
> in RjDj, but it may apply to other uses as well. We want to show a "Loading
> ..." icon, while a patch is still loading soundfiles etc. and remove the icon,
> when all is done. We only have limited control over how the patch that is
> loaded looks like. People may use their own "loadbang"s in their patches, so we
> don't know if a [loadbang] we add may fire before theirs.
>
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)
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]
fmgads.r
IOhannes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3636 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20090525/1f142771/attachment.bin>
More information about the Pd-list
mailing list