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
Hi,
what you want is a "t_clock". clock_new() takes a function pointer + void pointer. You can then schedule the function for execution with clock_delay().
For a simple example, check the source code for the delay object ("t_delay") in "x_time.c".
Christof
On 07.06.2021 01:21, 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@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
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@lists.iem.at https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_lis...
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@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@lists.iem.at
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_lis...
--
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@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@lists.iem.at
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_lis...
--
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@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@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@lists.iem.at
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_lis...
--
--
You can (ab)use Pd's own symbol table by storing the clocks in a "fake" Pd object and bind it to a symbol. But I wouldn't really recommend this...
Alternatively, you can use one of the existing hash table implementations in C, e. g. the hash table from the "stb" library: https://github.com/nothings/stb/blob/master/stb_ds.h.
Or use C++ :-)
Christof
On 07.06.2021 03:22, Iain Duncan wrote:
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@ucsd.edu mailto:msp@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@ucsd.edu <mailto:msp@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@lists.iem.at <mailto:Pd-dev@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= <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=> > > > > > > -- > > --
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
Well, Pd's own scheduler for clocks keeps them in a linked list and chases down it to set and unset them. So if you did anything smart for the scheme callbacks Pd would see to it that it's still linear time in the number of active callbacks.
cheers M
On Sun, Jun 06, 2021 at 06:22:41PM -0700, Iain Duncan wrote:
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@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@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@lists.iem.at
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_lis...
--
--
Ah, ok. I also just realized (necessity being the mother of and all that) that I can probably be storing these on the scheme side too, as the actual function object is stored there anyway in a hash-table.
Related: in Max they recommend using sysmem_newptr instead of malloc, is there a recommended cross-platform Pd replacement for malloc I should be using?
thanks! iain
On Sun, Jun 6, 2021 at 6:52 PM Miller Puckette msp@ucsd.edu wrote:
Well, Pd's own scheduler for clocks keeps them in a linked list and chases down it to set and unset them. So if you did anything smart for the scheme callbacks Pd would see to it that it's still linear time in the number of active callbacks.
cheers M
On Sun, Jun 06, 2021 at 06:22:41PM -0700, Iain Duncan wrote:
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@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@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@lists.iem.at
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_lis...
--
--
--
getbytes() + freebytes()
Christof
On 07.06.2021 03:56, Iain Duncan wrote:
Ah, ok. I also just realized (necessity being the mother of and all that) that I can probably be storing these on the scheme side too, as the actual function object is stored there anyway in a hash-table.
Related: in Max they recommend using sysmem_newptr instead of malloc, is there a recommended cross-platform Pd replacement for malloc I should be using?
thanks! iain
On Sun, Jun 6, 2021 at 6:52 PM Miller Puckette <msp@ucsd.edu mailto:msp@ucsd.edu> wrote:
Well, Pd's own scheduler for clocks keeps them in a linked list and chases down it to set and unset them. So if you did anything smart for the scheme callbacks Pd would see to it that it's still linear time in the number of active callbacks. cheers M On Sun, Jun 06, 2021 at 06:22:41PM -0700, Iain Duncan wrote: > 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@ucsd.edu <mailto:msp@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@ucsd.edu <mailto:msp@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@lists.iem.at <mailto:Pd-dev@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= <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=> > > > > > > > > > > > > -- > > > > > > > > -- > > --
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
Thanks Christof, will hack further on this today!
iain
On Sun, Jun 6, 2021 at 7:00 PM Christof Ressi info@christofressi.com wrote:
getbytes() + freebytes()
Christof On 07.06.2021 03:56, Iain Duncan wrote:
Ah, ok. I also just realized (necessity being the mother of and all that) that I can probably be storing these on the scheme side too, as the actual function object is stored there anyway in a hash-table.
Related: in Max they recommend using sysmem_newptr instead of malloc, is there a recommended cross-platform Pd replacement for malloc I should be using?
thanks! iain
On Sun, Jun 6, 2021 at 6:52 PM Miller Puckette msp@ucsd.edu wrote:
Well, Pd's own scheduler for clocks keeps them in a linked list and chases down it to set and unset them. So if you did anything smart for the scheme callbacks Pd would see to it that it's still linear time in the number of active callbacks.
cheers M
On Sun, Jun 06, 2021 at 06:22:41PM -0700, Iain Duncan wrote:
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@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@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@lists.iem.at >
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.puredata.info_lis...
--
--
--
Pd-dev mailing listPd-dev@lists.iem.athttps://lists.puredata.info/listinfo/pd-dev
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev