{-# LANGUAGE NoMonomorphismRestriction #-} module Sound.Tidal.SuperCollider where import Sound.Tidal.Stream import Sound.Tidal.Pattern import Sound.Tidal.Parse import Sound.OSC.FD supercollider :: String -> [Param] -> Double -> OscShape supercollider n ps l = OscShape { -- The OSC path path = "/s_new", preamble = [string n, int32 (-1), int32 1, int32 1], namedParams = True, params = ps, cpsStamp = False, timestamp = BundleStamp, latency = l } scStream n ps l = do let shape = (supercollider n ps l) sc <- stream "127.0.0.1" 57110 shape return (sc, shape)