I am blind and operating my system with VoiceOver. This way, SC help system and this forum are unfortunately not very accessible to me.
I tried to use SC synced to Logic Pro via LinkClock. In Logic, 1 synced device shows up, when I evaluate: l = LinkClock(1).latency_(Server.default.latency); (tempo in Logic is set to 60, time signature to 4/4)
in SC there is a test Pbind:
p = Pbind(
which works when evaluated.
If I press „play“ in Logic, nothing happens in SC, and vv.
what is wrong with this configuration, or what is missing in my code?
Possibly your code should pass the LinkClock to the Pbind play message, for example:
l = LinkClock(1).latency_(Server.default.latency);
p = Pbind(
).play(l, quant: 1);
The first parameter of play is clock, which defaults TempoClock.default, so we pass in LinkClock here. I also added the quant parameter in my example as this can be useful for controlling pattern start.
I tried your code with those adjustments and the DAW synchronisation worked for me.
It’s worth noting Link doesn’t send transport controls (start/stop messages), so pressing start is required for all respective participants in a Link session - Logic and SC in this case.
You can receive these in SC – if l is a LinkClock:
var startStop = SimpleController(l)
/* here is a function to run upon 'start' */
/* here is a function to run upon 'stop' */
// this function is for the SC clock being permanently stopped.
// it is NOT about peers starting or stopping.
// we need this to clean up this status listener.
But you only get “start” and “stop” – it doesn’t tell you which peer started or stopped, and it doesn’t tell you an absolute beat position.