Targeting SuperDirt on a local network

Hello,
sorry for cross posting (I ask this on tidal club)

I’d like to be able to have tidal running on one machine and SC (superdirt) on another.
I’d like to send osc from tidal to the other machine running SuperCollider and SuperDirt.
I don’t know if it’s possible, is anyone ever try this kind of set up ?

So far, my attempt to do that can be resumed like this:

  • The two machines are on a LAN connected to each other by an ethernet cable, I can ping from one machine to the other (and vice versa) without any problems.
  • I have ptpd2 running on the two machines.
    On the server machine (which run scsynth and therefore superdirt) I run this in the terminal:
sudo ptpd -V -s -i enp0s31f6

(enp0s31f6 is my network device)
On the other machine (which run tidal) I run this in the terminal:

sudo ptpd -V -M -i enp0s31f6

(I assumed the machine which send the osc messages is the Master that’s the -M)

On the server machine before booting scsynth, I execute this:

s.options.maxLogins = 2;

After scsynth has started, I execute this:

~dirt = SuperDirt(2, s);
~dirt.loadSoundFiles;
s.sync; // I'm in a routine
~dirt.start(57120, 0 ! 12, "IP of the Tidal machine");

On the other machine (which run tidal), I put this in the bootTidal.hs:

tidal <- startTidal (superdirtTarget {oLatency = 0.1, oAddress = "IP of the scsynth Machine", oPort = 57120}) (defaultConfig {cFrameTimespan = 1/20})

When I try to boot Tidal, I have this message in the post window (in Atom):

t> Waiting for SuperDirt

It’s look like tidal can’t connect to the instance of superdirt on the other machine.
Maybe it’s not possible to do this ? Is anyone has any experience with that kind of set up ?
I don’t know what I’m missing here but if someone can help me with this it would be awesome.

I thank you in advance

Everything is ok in the process describe above exept the modification of the bootTidal.hs which should be:

tidal <- startTidal (superdirtTarget {oLatency = 0.1, oAddress = "IP of the scsynth Machine", oPort = 57120}) (defaultConfig {cVerbose = True, cFrameTimespan = 1/20, cCtrlAddr = "0.0.0.0"})

This way you can run tidal on one machine and Superdirt on another.
Thanks to @yaxu on tidal club for his help.

1 Like

Why do you need ptpd2, if I may ask?

If I understand correctly ptpd is for syncing the two machines, Osc messages from tidal need to be in sync