[PD-dev] Creating delayed functions in Pd external?

Iain Duncan iainduncanlists at gmail.com
Mon Jun 7 03:22:41 CEST 2021


Thanks Miller. That brings up one more question.. ;-)

In Scheme for Max, the way I do it is I keep a hash-table in C going
with keys that are created on Scheme delay calls, so that one can cancel
clocks by fetching them from the hashtable. In Max, there's a
cross-platform hash-table implementation that I'm using. Is there something
similar for Pd, or if not, is there an approach you would recommend for
keeping a key-value store in C for the clocks by a symbolic key? I guess a
good question might be if this is even necessary, given there can't be
*that* many clocks scheduled for the future. And association list type
thing might do just as well.

thanks for the help, it's going well, now that I can finally work on it!
ought to have a first alpha folks can play with in the next couple of weeks.
iain



On Sun, Jun 6, 2021 at 5:36 PM Miller Puckette <msp at ucsd.edu> wrote:

> clock() is the only mechanism - for repeats, the easiest thing is often
> to just re-use a clock() and re-set it each time it goes off (as in
> the metro obejct).  You can indeed create clock obejcts on the fly -
> that's what pipe does.  But you'll want to keep track of them so you can
> cancel them if the owning object goes away.
>
> cheers
> M
>
> On Sun, Jun 06, 2021 at 05:16:09PM -0700, Iain Duncan wrote:
> > Ah fantastic, thanks. I was looking in pipe and not seeing it, but was
> > probably just lost in other new details and not seeing the forest for the
> > trees. :-)
> >
> > Couple of follow ups:
> > - is there a separate facility for making a repeated callback (ie not
> > one-shot), or does one just do both with clock?
> > - is it safe to make clocks as we need them (ie during a method call, not
> > necessarily at object instantiation time), or is this the kind of thing
> > where for real time use one needs to make a clock pool and a pool manager
> > and all that?
> >
> > thanks!
> > iain
> >
> > On Sun, Jun 6, 2021 at 5:12 PM Miller Puckette <msp at ucsd.edu> wrote:
> >
> > > Yep, clock_delay() .  Simples example is in Pd's "delay" object,
> x_time.c
> > >
> > > cheers
> > > Miller
> > >
> > > On Sun, Jun 06, 2021 at 04:21:46PM -0700, Iain Duncan wrote:
> > > > Hi folks, I'm hoping someone can point me in the right direction
> here.
> > > I'm
> > > > porting Scheme for Max to pure data and I'm stuck figuring out how
> to get
> > > > delayed functions going. In Max, the SDK has a facility to make
> register
> > > a
> > > > callback to executed at some point in the future, a few different
> ways.
> > > Is
> > > > there a Pd equivalent, and if so, could anyone point me at resources
> or
> > > > code for it?  I basically just need to be able to have a callback
> fire
> > > off
> > > > at the right time with one argument, which can be void pointer to the
> > > rest
> > > > of the stuff i want to get.
> > > >
> > > > thanks!
> > > > iain
> > >
> > > > _______________________________________________
> > > > Pd-dev mailing list
> > > > Pd-dev at lists.iem.at
> > > >
> > >
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_listinfo_pd-2Ddev&d=DwICAg&c=-35OiAkTchMrZOngvJPOeA&r=XprZV3Fxus2L1LCw80hE4Q&m=uekrR-wLMB9CDNku0beRkRmoSJoExinRbBSlb0UQknQ&s=98jkGlO1FFE0Ea5fhSopCbZt6bmZH580Y0IUfgX4Rwk&e=
> > >
> > >
> > > --
> > >
>
> --
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20210606/637b81bd/attachment.htm>


More information about the Pd-dev mailing list