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 <[email protected] <mailto:[email protected]>> 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 <[email protected]
    <mailto:[email protected]>> 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 <[email protected]
    <mailto:[email protected]>> 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
    > > > > > [email protected] <mailto:[email protected]>
    > > > > >
    > > > >
    > >
    
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
[email protected]
https://lists.puredata.info/listinfo/pd-dev
_______________________________________________
Pd-dev mailing list
[email protected]
https://lists.puredata.info/listinfo/pd-dev

Reply via email to