module Harmonic.Interface.Tidal.Devices.S1
(
s1pat, s1seq, s1modwheel, s1portatime, s1pan, s1expression,
s1portamode, s1damper, s1portasw, s1finetune, s1transpose, s1osclfo,
s1oscrange, s1oscpwm, s1oscpwmsrc, s1oscbend, s1square, s1saw, s1sub,
s1suboct, s1noise, s1noisemode, s1cutoff, s1res, s1filterenv,
s1filterlfo, s1keytrack, s1filterbend, s1ampmode, s1lforate,
s1lfowave, s1lfomod, s1lfomode, s1lfokeytrg, s1lfosync, s1attack,
s1decay, s1sustain, s1release, s1envtrig, s1polymode, s1voice2sw,
s1voice3sw, s1voice4sw, s1voice2shift, s1voice3shift, s1voice4shift,
s1revlvl, s1revtime, s1dellvl, s1deltime, s1chorus, s1drawsw,
s1drawmul, s1overtone, s1chopcomb
) 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
s1chan :: Pattern ValueMap
s1chan :: ControlPattern
s1chan = Int -> ControlPattern
ch Int
6
s1pat :: Pattern Double -> ControlPattern
s1seq :: Pattern Double -> Pattern Double -> ControlPattern
s1pat :: Pattern Double -> ControlPattern
s1pat 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
# ControlPattern
s1chan
s1seq :: Pattern Double -> Pattern Double -> ControlPattern
s1seq Pattern Double
pat Pattern Double
bk = Pattern Double -> ControlPattern
s1pat ((Pattern Double
patPattern Double -> Pattern Double -> Pattern Double
forall a. Num a => a -> a -> a
-Pattern Double
1)Pattern Double -> Pattern Double -> Pattern Double
forall a. Num a => a -> a -> a
+((Pattern Double
bkPattern Double -> Pattern Double -> Pattern Double
forall a. Num a => a -> a -> a
-Pattern Double
1)Pattern Double -> Pattern Double -> Pattern Double
forall a. Num a => a -> a -> a
*Pattern Double
8))
s1modwheel, s1portatime, s1pan, s1expression, s1portamode, s1damper,
s1portasw, s1finetune, s1transpose :: Pattern Double -> ControlPattern
s1modwheel :: Pattern Double -> ControlPattern
s1modwheel Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
1 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1portatime :: Pattern Double -> ControlPattern
s1portatime Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
5 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1pan :: Pattern Double -> ControlPattern
s1pan 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
s1chan
s1expression :: Pattern Double -> ControlPattern
s1expression Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
11 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1portamode :: Pattern Double -> ControlPattern
s1portamode Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
31 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1damper :: Pattern Double -> ControlPattern
s1damper Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
64 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1portasw :: Pattern Double -> ControlPattern
s1portasw Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
65 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1finetune :: Pattern Double -> ControlPattern
s1finetune 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
s1chan
s1transpose :: Pattern Double -> ControlPattern
s1transpose 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
s1chan
s1osclfo, s1oscrange, s1oscpwm, s1oscpwmsrc, s1oscbend, s1square,
s1saw, s1sub, s1suboct, s1noise, s1noisemode :: Pattern Double -> ControlPattern
s1osclfo :: Pattern Double -> ControlPattern
s1osclfo 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
s1chan
s1oscrange :: Pattern Double -> ControlPattern
s1oscrange 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
s1chan
s1oscpwm :: Pattern Double -> ControlPattern
s1oscpwm 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
s1chan
s1oscpwmsrc :: Pattern Double -> ControlPattern
s1oscpwmsrc 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
s1chan
s1oscbend :: Pattern Double -> ControlPattern
s1oscbend 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
s1chan
s1square :: Pattern Double -> ControlPattern
s1square 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
s1chan
s1saw :: Pattern Double -> ControlPattern
s1saw 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
s1chan
s1sub :: Pattern Double -> ControlPattern
s1sub 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
s1chan
s1suboct :: Pattern Double -> ControlPattern
s1suboct Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
22 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1noise :: Pattern Double -> ControlPattern
s1noise 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
s1chan
s1noisemode :: Pattern Double -> ControlPattern
s1noisemode 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
s1chan
s1cutoff, s1res, s1filterenv, s1filterlfo, s1keytrack, s1filterbend,
s1ampmode :: Pattern Double -> ControlPattern
s1cutoff :: Pattern Double -> ControlPattern
s1cutoff 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
s1chan
s1res :: Pattern Double -> ControlPattern
s1res 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
s1chan
s1filterenv :: Pattern Double -> ControlPattern
s1filterenv 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
s1chan
s1filterlfo :: Pattern Double -> ControlPattern
s1filterlfo 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
s1chan
s1keytrack :: Pattern Double -> ControlPattern
s1keytrack 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
s1chan
s1filterbend :: Pattern Double -> ControlPattern
s1filterbend Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
27 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1ampmode :: Pattern Double -> ControlPattern
s1ampmode 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
s1chan
s1lforate, s1lfowave, s1lfomod, s1lfomode, s1lfokeytrg, s1lfosync,
s1attack, s1decay, s1sustain, s1release, s1envtrig :: Pattern Double -> ControlPattern
s1lforate :: Pattern Double -> ControlPattern
s1lforate 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
s1chan
s1lfowave :: Pattern Double -> ControlPattern
s1lfowave 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
s1chan
s1lfomod :: Pattern Double -> ControlPattern
s1lfomod 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
s1chan
s1lfomode :: Pattern Double -> ControlPattern
s1lfomode 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
s1chan
s1lfokeytrg :: Pattern Double -> ControlPattern
s1lfokeytrg Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
105 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1lfosync :: Pattern Double -> ControlPattern
s1lfosync Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
106 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1attack :: Pattern Double -> ControlPattern
s1attack 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
s1chan
s1decay :: Pattern Double -> ControlPattern
s1decay 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
s1chan
s1sustain :: Pattern Double -> ControlPattern
s1sustain 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
s1chan
s1release :: Pattern Double -> ControlPattern
s1release 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
s1chan
s1envtrig :: Pattern Double -> ControlPattern
s1envtrig 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
s1chan
s1polymode, s1voice2sw, s1voice3sw, s1voice4sw, s1voice2shift,
s1voice3shift, s1voice4shift :: Pattern Double -> ControlPattern
s1polymode :: Pattern Double -> ControlPattern
s1polymode Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
80 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1voice2sw :: Pattern Double -> ControlPattern
s1voice2sw Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
81 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1voice3sw :: Pattern Double -> ControlPattern
s1voice3sw Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
82 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1voice4sw :: Pattern Double -> ControlPattern
s1voice4sw Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
83 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1voice2shift :: Pattern Double -> ControlPattern
s1voice2shift 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
s1chan
s1voice3shift :: Pattern Double -> ControlPattern
s1voice3shift 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
s1chan
s1voice4shift :: Pattern Double -> ControlPattern
s1voice4shift 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
s1chan
s1revlvl, s1revtime, s1dellvl, s1deltime, s1chorus :: Pattern Double -> ControlPattern
s1revlvl :: Pattern Double -> ControlPattern
s1revlvl 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
s1chan
s1revtime :: Pattern Double -> ControlPattern
s1revtime 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
s1chan
s1dellvl :: Pattern Double -> ControlPattern
s1dellvl 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
s1chan
s1deltime :: Pattern Double -> ControlPattern
s1deltime 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
s1chan
s1chorus :: Pattern Double -> ControlPattern
s1chorus Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
93 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1drawsw, s1drawmul, s1overtone, s1chopcomb :: Pattern Double -> ControlPattern
s1drawsw :: Pattern Double -> ControlPattern
s1drawsw Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
107 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1drawmul :: Pattern Double -> ControlPattern
s1drawmul Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
102 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1overtone :: Pattern Double -> ControlPattern
s1overtone Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
103 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan
s1chopcomb :: Pattern Double -> ControlPattern
s1chopcomb Pattern Double
v = Pattern Double -> Pattern Double -> ControlPattern
ctl Pattern Double
104 Pattern Double
v ControlPattern -> ControlPattern -> ControlPattern
forall b. Unionable b => Pattern b -> Pattern b -> Pattern b
# ControlPattern
s1chan