Hi list,
just discovered that LinkClock.tempo differs slightly between different
hosts.
On the first client (Debian/GNU Linux):
~myLinkClock = LinkClock(130/60).latency_(Server.default.latency).permanent_(true);
~myLinkClock.tempo
gives 2.1666666666667
on three other clients (Mac OS or Windows):
~myLinkClock = LinkClock.new.latency_(Server.default.latency).permanent_(true);
~myLinkClock.tempo
gives 2.1666688333355
When the tempo on the first client is changed:
~myLinkClock.tempo=110/60;
it gives 1.8333333333333
while on all other clients it is 1.8333318055568
I wonder what the reason for this may be, and if the clocks are really
running in sync or not.
When all clients, including the first, used a remote scserver on yet
another machine, Patterns such as
Pbind(\degree, 8.rand, \legato, 0.1).play(~myLinkClock, quant: 4);
played in sync but with all phases offset to each other. Patterns are
said to apply Server latency automatically in the Scheduling and Server
timing help file.
I wonder if Server.default.latency will also include (changing?) network
latency when using remote servers? That remote server was made the
default server before instantiating LinkClock:
r = Server.remote(name: \remote1, addr: NetAddr("192.168.2.1", 57110), options: Server.default.options.copy);
Server.default = r;
Is there a (recommended) way to get multiple sclang clients, synced via
LinkClock and playing via a common remote server, to play in sync and in
phase?
Or is it simply impossible due to network latency and the fact that
LinkClock is only affecting sclang?
Thanks to all!
P