diff --git a/BootTidal.hs b/BootTidal.hs new file mode 100644 index 0000000..2b5ba0e --- /dev/null +++ b/BootTidal.hs @@ -0,0 +1,72 @@ +:set -XOverloadedStrings +:set prompt "" + +import Sound.Tidal.Context + +import System.IO (hSetEncoding, stdout, utf8) + +hSetEncoding stdout utf8 + +-- total latency = oLatency + cFrameTimespan +tidal <- startTidal (superdirtTarget {oLatency = 0.2, oAddress = "127.0.0.1", oPort = 57120}) (defaultConfig {cFrameTimespan = 1/20}) + +:{ +let p = streamReplace tidal + hush = streamHush tidal + list = streamList tidal + mute = streamMute tidal + unmute = streamUnmute tidal + solo = streamSolo tidal + unsolo = streamUnsolo tidal + once = streamOnce tidal + first = streamFirst tidal + asap = once + nudgeAll = streamNudgeAll tidal + all = streamAll tidal + resetCycles = streamResetCycles tidal + setcps = asap . cps + xfade i = transition tidal True (Sound.Tidal.Transition.xfadeIn 4) i + xfadeIn i t = transition tidal True (Sound.Tidal.Transition.xfadeIn t) i + histpan i t = transition tidal True (Sound.Tidal.Transition.histpan t) i + wait i t = transition tidal True (Sound.Tidal.Transition.wait t) i + waitT i f t = transition tidal True (Sound.Tidal.Transition.waitT f t) i + jump i = transition tidal True (Sound.Tidal.Transition.jump) i + jumpIn i t = transition tidal True (Sound.Tidal.Transition.jumpIn t) i + jumpIn' i t = transition tidal True (Sound.Tidal.Transition.jumpIn' t) i + jumpMod i t = transition tidal True (Sound.Tidal.Transition.jumpMod t) i + mortal i lifespan release = transition tidal True (Sound.Tidal.Transition.mortal lifespan release) i + interpolate i = transition tidal True (Sound.Tidal.Transition.interpolate) i + interpolateIn i t = transition tidal True (Sound.Tidal.Transition.interpolateIn t) i + clutch i = transition tidal True (Sound.Tidal.Transition.clutch) i + clutchIn i t = transition tidal True (Sound.Tidal.Transition.clutchIn t) i + anticipate i = transition tidal True (Sound.Tidal.Transition.anticipate) i + anticipateIn i t = transition tidal True (Sound.Tidal.Transition.anticipateIn t) i + forId i t = transition tidal False (Sound.Tidal.Transition.mortalOverlay t) i + d1 = p 1 . (|< orbit 0) + d2 = p 2 . (|< orbit 1) + d3 = p 3 . (|< orbit 2) + d4 = p 4 . (|< orbit 3) + d5 = p 5 . (|< orbit 4) + d6 = p 6 . (|< orbit 5) + d7 = p 7 . (|< orbit 6) + d8 = p 8 . (|< orbit 7) + d9 = p 9 . (|< orbit 8) + d10 = p 10 . (|< orbit 9) + d11 = p 11 . (|< orbit 10) + d12 = p 12 . (|< orbit 11) + d13 = p 13 + d14 = p 14 + d15 = p 15 + d16 = p 16 +:} + +:{ +let setI = streamSetI tidal + setF = streamSetF tidal + setS = streamSetS tidal + setR = streamSetR tidal + setB = streamSetB tidal +:} + +:set prompt "tidal> " +-- :set prompt-cont ""