Difference between revisions of "SuperDirt API"

From TidalCycles userbase
Jump to: navigation, search
(Created page with "For the curious, this is what an OSC trigger message from TidalCycles to SuperDirt looks like, as of Tidal version 1.7.x and probably later. This is a message sent from the...")
 
 
Line 1: Line 1:
 
For the curious, this is what an OSC trigger message from TidalCycles to SuperDirt looks like, as of Tidal version 1.7.x and probably later.  
 
For the curious, this is what an OSC trigger message from TidalCycles to SuperDirt looks like, as of Tidal version 1.7.x and probably later.  
  
This is a message sent from the pattern `sound "bd" # speed 2`:
+
Lets consider this pattern:
 +
```
 +
sound "bd" # speed 2
 +
```
 +
This is the kind of OSC message it generates:
 
```
 
```
 
Bundle
 
Bundle

Latest revision as of 23:04, 22 February 2021

For the curious, this is what an OSC trigger message from TidalCycles to SuperDirt looks like, as of Tidal version 1.7.x and probably later.

Lets consider this pattern: ``` sound "bd" # speed 2 ``` This is the kind of OSC message it generates: ``` Bundle

   Timetag: Feb 22, 2021 21:54:04.960054397 UTC
   Size: 92 bytes
   Message: /dirt/play ,sfsfsfsisssf
       Header
           Path: /dirt/play
           Format: ,sfsfsfsisssf
       String: cps
       Float: 0.4
       String: cycle
       Float: 40549
       String: delta
       Float: 2.5
       String: orbit
       Int32: 0
       String: s
       String: bd
       String: speed
       Float: 2

```

It consists of a single message, wrapped in a bundle, which provides the timestamp for when the event should be triggered. Because the OSC target for superdirt has `oSchedule` set to `Pre BundleStamp`, messages will be sent in bursts, ahead of time, and it's up to the receiver (such as superdirt) to schedule them accurately.

The message inside the bundle has the path `/dirt/play`, and contains a variable number of name-value pairs. You can see the `s bd` and "speed 2" pairs, but Tidal adds a number of additional ones.. The current `cps` tempo, the position of the event in cycles (since Tidal started), the `delta` or duration of the event in seconds, and the `orbit` number.