module Harmonic.Interface.Tidal.Devices.P6
(
p6prog, p6note, p6trig, p6pad, p6grainSize, p6headPos, p6headSpeed,
p6grains, p6grainShape, p6spread, p6grainJitter, p6grainRev,
p6grainTimeKF, p6coarseTune, p6fineTune, p6detune, p6filterType,
p6cutoff, p6res, p6filterEnv, p6filterKF, p6filterVel, p6attack,
p6decay, p6sustain, p6release, p6envMode, p6envTimeKF, p6ampSwitch,
p6startMode, p6level, p6pan, p6autoPan, p6levelJitter, p6lofi,
p6lofiSw, p6sample, p6outputBus, p6sendDelay, p6sendReverb, p6revTime,
p6delTime, p6revLevel, p6delLevel
) where
import Sound.Tidal.Context
import Harmonic.Interface.Tidal.Instruments (ch)
ctl :: Pattern Double -> Pattern Double -> ControlPattern
ctl :: Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
num Pattern Double
v = Pattern Double -> ControlPattern
control (Pattern Double
v Pattern Double -> Pattern Double -> Pattern Double
forall a. Num a => a -> a -> a
* Pattern Double
127) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# Pattern String -> ControlPattern
midicmd Pattern String
"control" ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# Pattern Double -> ControlPattern
ctlNum Pattern Double
num
p6trigChan, p6granChan :: Pattern ValueMap
p6trigChan :: ControlPattern
p6trigChan = Int -> ControlPattern
ch Int
4
p6granChan :: ControlPattern
p6granChan = Int -> ControlPattern
ch Int
5
p6prog :: Pattern Double -> ControlPattern
p6prog :: Pattern Double -> ControlPattern
p6prog Pattern Double
p = Pattern String -> ControlPattern
midicmd Pattern String
"program" ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
#Pattern Double -> ControlPattern
progNum Pattern Double
p ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# Int -> ControlPattern
ch Int
16
p6note :: Int -> Int -> Int
p6trig :: Int -> Int -> Pattern Bool -> ControlPattern
p6pad :: Int -> Pattern Bool -> ControlPattern
p6note :: Int -> Int -> Int
p6note Int
b Int
pad = Int
48 Int -> Int -> Int
forall a. Num a => a -> a -> a
+ (Int
bInt -> Int -> Int
forall a. Num a => a -> a -> a
-Int
1)Int -> Int -> Int
forall a. Num a => a -> a -> a
*Int
6 Int -> Int -> Int
forall a. Num a => a -> a -> a
+ (Int
padInt -> Int -> Int
forall a. Num a => a -> a -> a
-Int
1)
p6trig :: Int -> Int -> Pattern Bool -> ControlPattern
p6trig Int
b Int
pad Pattern Bool
pat = Pattern Bool -> ControlPattern -> ControlPattern
forall a. Pattern Bool -> Pattern a -> Pattern a
struct Pattern Bool
pat (ControlPattern -> ControlPattern)
-> ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ Pattern Note -> ControlPattern
midinote (Int -> Pattern Note
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Int -> Int
p6note Int
b Int
pad)) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6trigChan ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# Pattern Double -> ControlPattern
sustain Pattern Double
0.1
p6pad :: Int -> Pattern Bool -> ControlPattern
p6pad Int
pad Pattern Bool
pat = Pattern Bool -> ControlPattern -> ControlPattern
forall a. Pattern Bool -> Pattern a -> Pattern a
struct Pattern Bool
pat (ControlPattern -> ControlPattern)
-> ControlPattern -> ControlPattern
forall a b. (a -> b) -> a -> b
$ Pattern Note -> ControlPattern
midinote (Int -> Pattern Note
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int
48Int -> Int -> Int
forall a. Num a => a -> a -> a
+Int
pad)) ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6trigChan ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# Pattern Double -> ControlPattern
sustain Pattern Double
0.1
p6grainSize, p6headPos, p6headSpeed, p6grains, p6grainShape,
p6spread, p6grainJitter, p6grainRev, p6grainTimeKF :: Pattern Double -> ControlPattern
p6grainSize :: Pattern Double -> ControlPattern
p6grainSize Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
23 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6headPos :: Pattern Double -> ControlPattern
p6headPos Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
19 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6headSpeed :: Pattern Double -> ControlPattern
p6headSpeed Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
20 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6grains :: Pattern Double -> ControlPattern
p6grains Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
21 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6grainShape :: Pattern Double -> ControlPattern
p6grainShape Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
15 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6spread :: Pattern Double -> ControlPattern
p6spread Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
25 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6grainJitter :: Pattern Double -> ControlPattern
p6grainJitter Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
68 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6grainRev :: Pattern Double -> ControlPattern
p6grainRev Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
3 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6grainTimeKF :: Pattern Double -> ControlPattern
p6grainTimeKF Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
16 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6coarseTune, p6fineTune, p6detune :: Pattern Double -> ControlPattern
p6coarseTune :: Pattern Double -> ControlPattern
p6coarseTune Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
76 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6fineTune :: Pattern Double -> ControlPattern
p6fineTune Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
18 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6detune :: Pattern Double -> ControlPattern
p6detune Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
13 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6filterType, p6cutoff, p6res, p6filterEnv, p6filterKF, p6filterVel :: Pattern Double -> ControlPattern
p6filterType :: Pattern Double -> ControlPattern
p6filterType Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
12 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6cutoff :: Pattern Double -> ControlPattern
p6cutoff Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
74 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6res :: Pattern Double -> ControlPattern
p6res Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
71 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6filterEnv :: Pattern Double -> ControlPattern
p6filterEnv Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
24 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6filterKF :: Pattern Double -> ControlPattern
p6filterKF Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
26 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6filterVel :: Pattern Double -> ControlPattern
p6filterVel Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
78 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6attack, p6decay, p6sustain, p6release, p6envMode, p6envTimeKF,
p6ampSwitch, p6startMode :: Pattern Double -> ControlPattern
p6attack :: Pattern Double -> ControlPattern
p6attack Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
73 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6decay :: Pattern Double -> ControlPattern
p6decay Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
75 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6sustain :: Pattern Double -> ControlPattern
p6sustain Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
30 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6release :: Pattern Double -> ControlPattern
p6release Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
72 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6envMode :: Pattern Double -> ControlPattern
p6envMode Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
29 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6envTimeKF :: Pattern Double -> ControlPattern
p6envTimeKF Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
77 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6ampSwitch :: Pattern Double -> ControlPattern
p6ampSwitch Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
28 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6startMode :: Pattern Double -> ControlPattern
p6startMode Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
79 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6level, p6pan, p6autoPan, p6levelJitter :: Pattern Double -> ControlPattern
p6level :: Pattern Double -> ControlPattern
p6level Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
7 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6pan :: Pattern Double -> ControlPattern
p6pan Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
10 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6autoPan :: Pattern Double -> ControlPattern
p6autoPan Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
9 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6levelJitter :: Pattern Double -> ControlPattern
p6levelJitter Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
14 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6lofi, p6lofiSw :: Pattern Double -> ControlPattern
p6lofi :: Pattern Double -> ControlPattern
p6lofi Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
17 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6lofiSw :: Pattern Double -> ControlPattern
p6lofiSw Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
87 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6sample, p6outputBus, p6sendDelay, p6sendReverb :: Pattern Double -> ControlPattern
p6sample :: Pattern Double -> ControlPattern
p6sample Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
88 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6outputBus :: Pattern Double -> ControlPattern
p6outputBus Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
84 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6sendDelay :: Pattern Double -> ControlPattern
p6sendDelay Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
85 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6sendReverb :: Pattern Double -> ControlPattern
p6sendReverb Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
86 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6revTime, p6delTime, p6revLevel, p6delLevel :: Pattern Double -> ControlPattern
p6revTime :: Pattern Double -> ControlPattern
p6revTime Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
89 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6delTime :: Pattern Double -> ControlPattern
p6delTime Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
90 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6revLevel :: Pattern Double -> ControlPattern
p6revLevel Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
91 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan
p6delLevel :: Pattern Double -> ControlPattern
p6delLevel Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
92 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
p6granChan