module Boss.DR880 where
import qualified Sound.Tidal.Params
import Sound.Tidal.Pattern
drum1 :: Pattern String -> ControlPattern
drum1 :: Pattern String -> ControlPattern
drum1 = Pattern Note -> ControlPattern
Sound.Tidal.Params.n forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a. Num a => a -> a -> a
subtract Note
60 forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Num a => String -> a
drum1midi forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>)
drum1midi :: Num a => String -> a
drum1midi :: forall a. Num a => String -> a
drum1midi String
m =
case String
m of
String
"kick1" -> a
36
String
"kick2" -> a
35
String
"snare1" -> a
38
String
"snare2" -> a
40
String
"closedHH" -> a
42
String
"crossStick" -> a
37
String
"clap" -> a
39
String
"cowbell" -> a
56
String
"pedalHH" -> a
44
String
"openHH" -> a
46
String
"tom1" -> a
50
String
"tom2" -> a
48
String
"tom3" -> a
45
String
"tom4" -> a
41
String
"chinaCym" -> a
52
String
"crash1" -> a
49
String
"crash2" -> a
57
String
"splashCym" -> a
55
String
"bell" -> a
53
String
"ride" -> a
51
String
_ -> a
0
drum2 :: Pattern String -> ControlPattern
drum2 :: Pattern String -> ControlPattern
drum2 = Pattern Note -> ControlPattern
Sound.Tidal.Params.n forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a. Num a => a -> a -> a
subtract Note
60 forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Num a => String -> a
drum2midi forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>)
drum2midi :: Num a => String -> a
drum2midi :: forall a. Num a => String -> a
drum2midi String
m =
case String
m of
String
"kick1" -> a
60
String
"kick2" -> a
61
String
"snare1" -> a
62
String
"snare2" -> a
63
String
"closedHH" -> a
64
String
"crossStick" -> a
54
String
"clap" -> a
91
String
"cowbell" -> a
95
String
"pedalHH" -> a
96
String
"openHH" -> a
97
String
"tom1" -> a
69
String
"tom2" -> a
94
String
"tom3" -> a
70
String
"tom4" -> a
82
String
"chinaCym" -> a
92
String
"crash1" -> a
89
String
"crash2" -> a
90
String
"splashCym" -> a
93
String
"bell" -> a
84
String
"ride" -> a
59
String
_ -> a
0
drum3 :: Pattern String -> ControlPattern
drum3 :: Pattern String -> ControlPattern
drum3 = Pattern Note -> ControlPattern
Sound.Tidal.Params.n forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a. Num a => a -> a -> a
subtract Note
60 forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Num a => String -> a
drum3midi forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>)
drum3midi :: Num a => String -> a
drum3midi :: forall a. Num a => String -> a
drum3midi String
m =
case String
m of
String
"kick1" -> a
86
String
"kick2" -> a
87
String
"snare1" -> a
78
String
"snare2" -> a
79
String
"closedHH" -> a
83
String
"crossStick" -> a
76
String
"clap" -> a
77
String
"cowbell" -> a
85
String
"pedalHH" -> a
66
String
"openHH" -> a
65
String
"tom1" -> a
71
String
"tom2" -> a
72
String
"tom3" -> a
75
String
"tom4" -> a
67
String
"chinaCym" -> a
68
String
"crash1" -> a
73
String
"crash2" -> a
74
String
"splashCym" -> a
58
String
"bell" -> a
80
String
"ride" -> a
81
String
_ -> a
0