[...]
there's really no point in querying the time every microsecond. you can only start recording with [writesf~] on block boundaries, so you could as well use [bang~].
Indeed, thanks for pointing this out!
I made a first abstraction using this approach (attached).
a somewhat better approach might be to use OSC timestamps to start the recording synchronously.
recent versions of [packOSC] and [unpackOSC] (v0.3, available on deken) allow you¹ to use Pd's internal notion of time (rather than the system time). the time is synched to the system time (which should by synchronized with NTP) at startup (or manually via the "usepdtime" message).
Just looked into its docs and despite relying on an external as well, I didn't find a straight way to make it work for my current application. But it is very good to know. :)
best, Peter