View SuperDirt commands

Hi. I'm new to Tidal.

I was wondering if there is a way to find what SuperDirt (or is it SuperCollider) commands are being sent when we run TidalCycles commands.

To sort of better appreciate the conciseness of Tidal code when compared to the more verbose equivalent commands.

Is there a way?

To clear the context: Tidal is not a SuperCollider subset or abstraction as there are not directly equivalent ways within SuperCollider to generate Tidal's patterned event streams, nor within Tidal to create synths. What's happening under the hood is Tidal sending OSC messages with the appropiate time-stamps and parameters for SuperDirt to play.

To see this start the Tidal interpreter, do not start SuperDirt (or even quit the SuperCollider server altogether with s.quit, but keep the language interpreter running) and in SuperCollider run OSCFunc.trace(true). This will show you the existing local OSC messages. At this point you will observe Tidal repeatedly looking for good ol' SuperDirt:

OSC Message Received:
	time: 324.877610068
	address: a NetAddr(127.0.0.1, 6010)
	recvPort: 57120
	msg: [ /dirt/handshake ]

If you execute a Tidal pattern like d1 $ s "bd sn", you'll also see the corresponding messages passing the relevant parameters to SuperDirt:

OSC Message Received:
	time: 202.56913974229
	address: a NetAddr(127.0.0.1, 6010)
	recvPort: 57120
	msg: [ /dirt/play, _id_, 1, cps, 0.5625, cycle, 92.0, delta, 0.88888800144196, orbit, 0, s, bd ]

Hope this helps.

Additionally, you can take a look at the sclang interface of SuperDirt, which uses the event system: https://github.com/musikinformatik/SuperDirt/blob/develop/hacks/sclang-dirt.scd

But it is different …

1 Like

Thanks.

I had thought tidal was providing a cleaner interface to superdirt. Hadn't realized that it was not the case.

Sorry for the late reply.