[PD-dev] s4pd help: portable uid-like thing in C?

Christof Ressi info at christofressi.com
Sat Jun 12 23:28:22 CEST 2021


this is a bit of a XY question. The actual problem is about managing 
clocks. Let's see if we can find a proper solution.

I would assume that you are storing the clock(s) alongside the 
interpreter instance. If you restart the interpret, unset the clock(s) 
with clock_unset(). If you free the instance, free the clock(s) with 

If that somehow doesn't work for you, explain the exact problem and show 
the code.


 > It doesn't need to be unique across the world, just the local machine

Why would your ID even need to be unique across the whole machine? I 
think it should be enough that it's unique within the app. In that case, 
you can simply use the memory address of the interpreter instance 
itself. In fact, that's how Pd creates the canvas and object IDs for 
communicating with the Tcl/Tk GUI app.


On 12.06.2021 18:50, Iain Duncan wrote:
> Hi folks, i'm wrestling away with the schedule functions for 
> Scheme-for-Pd, and I think I can make things a lot more reliable if I 
> let every instantiation (or restart) of the scheme interpreter have a 
> uid of some sort so that on a reset we can just ignore clocks running 
> out on a previous instance instead of trying to clean them all up with 
> manual memory management. (which approach is giving me segfaults 
> because I'm screwing something up)
> Can anyone tell me what a smart way of getting a unique identifier 
> would be? It doesn't need to be unique across the world, just the 
> local machine, so something that was seeded from system time would be 
> fine. I'm not a Real C Programmer though, so am not clear what options 
> will just work across all OS's, without needing to add dependencies.
> thanks!
> _______________________________________________
> Pd-dev mailing list
> Pd-dev at lists.iem.at
> https://lists.puredata.info/listinfo/pd-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20210612/d8c17de3/attachment.htm>

More information about the Pd-dev mailing list