Skip to content

Latest commit

 

History

History
112 lines (94 loc) · 3.91 KB

GETTING-STARTED.md

File metadata and controls

112 lines (94 loc) · 3.91 KB

1. Setting conexion between OSC (Tidal) and Processing.

-- didactic pattern visualizer  
-- testing on TidalCycles 3.16.17

import Sound.Tidal.Context

let  targetdpv = Target {oName = "didacticpatternvisualizer",
                        oAddress = "127.0.0.1",
                        oPort = 1818,
                        oLatency = 0.2,
                        oWindow = Nothing,
                        oSchedule = Live,
                        oBusPort = Nothing,
                        oHandshake = False
                       }
     formatsdpv = [OSC "/delivery"  Named {requiredArgs = []} ]
     oscmapdpv = [(targetdpv, formatsdpv),
                 (superdirtTarget, [superdirtShape])
                 ]
     grid = pS "grid"
     connectionN = pI "connectionN"
     connectionMax = pI "connectionMax"
     speedSequenser = pF "speedSequenser"
     clear = pI "clear"
     sizeMin = pF "sizeMin"
     sizeMax = pF "sizeMax"
     figure = pS "figure"
     color = pS "color"


-- this line returns a warning, but it is necessary
tidal <- startStream defaultConfig oscmapdpv

-- total latency = oLatency + cFrameTimespan
-- tidal <- startTidal (superdirtTarget {oLatency = 0.1, oAddress = "127.0.0.1", oPort = 57120}) (defaultConfig {cVerbose = True, cFrameTimespan = 1/20})


let only = (hush >>)
    p = streamReplace tidal
    hush = streamHush tidal
    panic = do hush
               once $ sound "superpanic"
    list = streamList tidal
    mute = streamMute tidal
    unmute = streamUnmute tidal
    -- unmuteAll = streamUnmuteAll tidal
    -- unsoloAll = streamUnsoloAll 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
    getcps = streamGetcps tidal
    getnow = streamGetnow tidal
    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 getState = streamGet tidal
    setI = streamSetI tidal
    setF = streamSetF tidal
    setS = streamSetS tidal
    setR = streamSetR tidal
    setB = streamSetB tidal

2. Download Processing sketch "didacticpatternvisualizer" and play.

3. Execute some example from README.md