module Korg.VolcaBeats where
import Korg.KorgBase
import Sound.Tidal.Params
import Sound.Tidal.Pattern
midiNote :: Pattern String -> ControlPattern
midiNote :: Pattern String -> ControlPattern
midiNote = Pattern Note -> ControlPattern
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
volcaBeatsMidiNote forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>)
volcaBeatsMidiNote :: Num a => String -> a
volcaBeatsMidiNote :: forall a. Num a => String -> a
volcaBeatsMidiNote String
"bd" = a
36
volcaBeatsMidiNote String
"sd" = a
38
volcaBeatsMidiNote String
"lt" = a
43
volcaBeatsMidiNote String
"ht" = a
50
volcaBeatsMidiNote String
"ch" = a
42
volcaBeatsMidiNote String
"oh" = a
46
volcaBeatsMidiNote String
"cp" = a
39
volcaBeatsMidiNote String
"cl" = a
75
volcaBeatsMidiNote String
"ag" = a
67
volcaBeatsMidiNote String
"cr" = a
49
mr16 :: Pattern String -> ControlPattern
mr16 :: Pattern String -> ControlPattern
mr16 = Pattern Note -> ControlPattern
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
mr16MidiNote forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>)
mr16MidiNote :: Num a => String -> a
mr16MidiNote :: forall a. Num a => String -> a
mr16MidiNote String
"bd" = a
35
mr16MidiNote String
"rs" = a
37
mr16MidiNote String
"sd" = a
38
mr16MidiNote String
"cp" = a
39
mr16MidiNote String
"lt" = a
41
mr16MidiNote String
"ch" = a
42
mr16MidiNote String
"oh" = a
46
mr16MidiNote String
"ht" = a
47
mr16MidiNote String
"cr" = a
49
mr16MidiNote String
"rd" = a
51
mr16MidiNote String
"lc" = a
52
mr16MidiNote String
"hc" = a
53
mr16MidiNote String
"ta" = a
54
mr16MidiNote String
"cb" = a
56
mr16MidiNote String
"ti" = a
57
mr16MidiNote String
"ca" = a
58
mr16MidiNote String
"wb" = a
60
mr16MidiNote String
"la" = a
61
mr16MidiNote String
"ha" = a
63
mr16MidiNote String
"mp" = a
64
mr16MidiNote String
"mf" = a
65
ccn_num_1 :: String -> a
ccn_num_1 String
m =
([ a
1 | String
m forall a. Eq a => a -> a -> Bool
== String
"aa" ] forall a. [a] -> [a] -> [a]
++
[ a
2 | String
m forall a. Eq a => a -> a -> Bool
== String
"bb" ] forall a. [a] -> [a] -> [a]
++
[ a
3 | String
m forall a. Eq a => a -> a -> Bool
== String
"cc" ] forall a. [a] -> [a] -> [a]
++
[ a
4 | String
m forall a. Eq a => a -> a -> Bool
== String
"dd" ] forall a. [a] -> [a] -> [a]
++
[ a
5 ])forall a. [a] -> Int -> a
!!Int
0
ccn_num_2 :: String -> a
ccn_num_2 String
m
| String
m forall a. Eq a => a -> a -> Bool
== String
"aa" = a
1
| String
m forall a. Eq a => a -> a -> Bool
== String
"bb" = a
2
| String
m forall a. Eq a => a -> a -> Bool
== String
"cc" = a
3
| String
m forall a. Eq a => a -> a -> Bool
== String
"dd" = a
4
| Bool
otherwise = a
5
ccn_num :: String -> a
ccn_num String
m =
case String
m of
String
"kickLevel" -> a
40
String
"snareLevel" -> a
41
String
"cc" -> a
3
String
"dd" -> a
4
String
_ -> a
5
ccparam :: String -> a -> String
ccparam String
m a
v = String
"ccv " forall a. [a] -> [a] -> [a]
++ (forall a. Show a => a -> String
show a
v) forall a. [a] -> [a] -> [a]
++ String
" # ccn " forall a. [a] -> [a] -> [a]
++ (forall a. Show a => a -> String
show (forall a. Num a => String -> a
ccn_num String
m))