[chuck-users] timestamps, NetClock.

Kassen signal.automatique at gmail.com
Thu Apr 9 03:00:10 EDT 2009

Fellow ChucKists,

I've been quite interested in NetClock (
http://netclock.slab.org/wiki/index.php/FAQ ) lately, after some posts about
it on the TOPLAP list. To quickly summarise; the idea is fairly similar to
MIDI clock, except to sync the open source performance programming languages
(SC, PD, Fluxus Perl (because of feedback.pl) and -hopefully- us). NetClock
uses OSC messages, combined with syncing system time to a time-server, to
create a clock shared by all participants. The participants can all change
things like the central BPM so in that sense it's quite different from and a
lot more democratic than MIDI clock. This would be interesting for
colaborative livecoding across systems (currently hard to sync without
agreeing on a protocol prior to the performance) or to sync homebrew
sequencers, generative processes and so on.

The good news is that we could implement the whole standard (as far as I can
see) in ChucK already and have it as a public class, perhaps as a prototype
stage if we would elect to make this a part of the language. A simple class
extending Event and two or so sporked shreds would do the trick.

The bad news is that this would need time-stamps for OSC messages which we
currently lack. This is where I thought things would get tricky; ChucK has
very much it's own ideas about time that are quite independant of the system
clock (aside from the soundcard's clock) and bringing the two together might
get tricky, I feared. After giving it some thought I feel that maybe the
best solution might be to get the system time at the birth of the VM and
store it. From there on OSC timestamps could be offset by this, creating
user accesible timestemps that are purely in terms of ChucK's time. As far
as I can see this would open the posibility for timestamps without any big
conflict in ways of timekeeping or the need for much aditional syntax in
user space. It doesn't sound too involved as a feature either (to me, right
now; I might be missing stuff).

So, the question now (mainly to the dev's) is; does this make sense? Are
there fundamental reasons why we aren't yet supporting OSC timestamps? If
so, could we as a user groups take a look at those and see whether they
could be dealt with in a coherent way?

I can't be the only one who would be very interested in convenient jamming
with my friends who run SC or PD?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20090409/a81105d0/attachment.html>

More information about the chuck-users mailing list