packages feed

maquinitas-tidal 0.2.7 → 0.2.8

raw patch · 2 files changed

+72/−83 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Korg.VolcaBeats: ccn_num :: Num a => String -> a
- Korg.VolcaBeats: ccn_num_1 :: Num a => String -> a
- Korg.VolcaBeats: ccn_num_2 :: Num a => String -> a
- Korg.VolcaBeats: ccparam :: Show a => String -> a -> [Char]
+ Korg.VolcaBeats: ccn :: Pattern String -> ControlPattern
+ Korg.VolcaBeats: ccnList :: Num a => String -> a

Files

maquinitas-tidal.cabal view
@@ -1,5 +1,5 @@ name:                maquinitas-tidal-version:             0.2.7+version:             0.2.8 synopsis:            library for MIDI control of hardware description:         maquinitas is a library for MIDI control of hardware homepage:            https://github.com/maquinitas/maquinitas-tidal
src/Korg/VolcaBeats.hs view
@@ -4,97 +4,86 @@ module Korg.VolcaBeats where    import Korg.KorgBase-  import Sound.Tidal.Params-  import Sound.Tidal.Pattern +  import qualified Sound.Tidal.Params+  import Sound.Tidal.Pattern +  -- MIDI notes+   midiNote :: Pattern String -> ControlPattern-  midiNote = n . (subtract 60 . volcaBeatsMidiNote <$>)+  midiNote = Sound.Tidal.Params.n . (subtract 60 . volcaBeatsMidiNote <$>)    volcaBeatsMidiNote :: Num a => String -> a-  volcaBeatsMidiNote "bd" = 36-  volcaBeatsMidiNote "sd" = 38-  volcaBeatsMidiNote "lt" = 43-  volcaBeatsMidiNote "ht" = 50-  volcaBeatsMidiNote "ch" = 42-  volcaBeatsMidiNote "oh" = 46-  volcaBeatsMidiNote "cp" = 39-  volcaBeatsMidiNote "cl" = 75-  volcaBeatsMidiNote "ag" = 67-  volcaBeatsMidiNote "cr" = 49+  volcaBeatsMidiNote m =+    case m of+      "bd" -> 36+      "sd" -> 38+      "lt" -> 43+      "ht" -> 50+      "ch" -> 42+      "oh" -> 46+      "cp" -> 39+      "cl" -> 75+      "ag" -> 67+      "cr" -> 49+      _    -> 0    -- Korg MR-16 drum machine+   mr16 :: Pattern String -> ControlPattern-  mr16 = n . (subtract 60 . mr16MidiNote <$>)+  mr16 = Sound.Tidal.Params.n . (subtract 60 . mr16MidiNote <$>)+     mr16MidiNote :: Num a => String -> a-  -- bass drum-  mr16MidiNote "bd" = 35-  -- rimshot-  mr16MidiNote "rs" = 37-  -- snare drum-  mr16MidiNote "sd" = 38-  -- clap-  mr16MidiNote "cp" = 39-  -- low tom-  mr16MidiNote "lt" = 41  -  -- closed hihat-  mr16MidiNote "ch" = 42-  -- open hihat-  mr16MidiNote "oh" = 46-  -- high tom-  mr16MidiNote "ht" = 47-  -- crash-  mr16MidiNote "cr" = 49-  -- ride-  mr16MidiNote "rd" = 51-  -- low conga-  mr16MidiNote "lc" = 52-  -- high conga-  mr16MidiNote "hc" = 53-  -- tambourine-  mr16MidiNote "ta" = 54-  -- cow bell-  mr16MidiNote "cb" = 56-  -- timbale-  mr16MidiNote "ti" = 57-  -- cabasa-  mr16MidiNote "ca" = 58-  -- wood block-  mr16MidiNote "wb" = 60-  -- low agogo-  mr16MidiNote "la" = 61-  -- high agogo-  mr16MidiNote "ha" = 63-  -- metronome piano-  mr16MidiNote "mp" = 64-  -- metronome forte-  mr16MidiNote "mf" = 65---  -- ccv xx # ccn yy-  -- ccn: cc param number-  -- ccv: cc value (0 to 127)+  mr16MidiNote m =+    case m of+      "bd" -> 35 -- bass drum+      "rs" -> 37 -- rimshot+      "sd" -> 38 -- snare drum+      "cp" -> 39 -- clap+      "lt" -> 41 -- low tom+      "ch" -> 42 -- closed hihat+      "oh" -> 46 -- open hihat+      "ht" -> 47 -- high tom+      "cr" -> 49 -- crash+      "rd" -> 51 -- ride+      "lc" -> 52 -- low conga+      "hc" -> 53 -- high conga+      "ta" -> 54 -- tambourine+      "cb" -> 56 -- cow bell+      "ti" -> 57 -- timbale+      "ca" -> 58 -- cabasa+      "wb" -> 60 -- wood block+      "la" -> 61 -- low agogo+      "ha" -> 63 -- high agogo+      "mp" -> 64 -- metronome piano+      "mf" -> 65 -- metronome forte+      _    -> 0  -- no match -  ccn_num_1 m =-    ([ 1 | m == "aa" ] ++-    [ 2 | m == "bb" ] ++-    [ 3 | m == "cc" ] ++-    [ 4 | m == "dd" ] ++-    [ 5 ])!!0+  -- ControlChange list -  ccn_num_2 m-    | m == "aa" = 1-    | m == "bb" = 2-    | m == "cc" = 3-    | m == "dd" = 4-    | otherwise = 5+  ccn :: Pattern String -> ControlPattern+  ccn = Sound.Tidal.Params.ccn . ( ccnList<$> )   -  -- ccn_num :: Pattern String -> ControlPattern-  ccn_num m =+  ccnList :: Num a => String -> a+  ccnList m =     case m of-      "kickLevel" -> 40-      "snareLevel" -> 41-      "cc" -> 3-      "dd" -> 4-      _ -> 5-    -  ccparam m v = "ccv " ++ (show v) ++ " # ccn " ++ (show (ccn_num m))+      "kickLevel"   -> 40+      "snareLevel"  -> 41+      "loTomLevel"  -> 42+      "hiTomLevel"  -> 43+      "clHatLevel"  -> 44+      "opHatLevel"  -> 45+      "clapLevel"   -> 46+      "clavesLevel" -> 47+      "agogoLevel"  -> 48+      "crashLevel"  -> 49+      "clapSpeed"   -> 50+      "clavesSpeed" -> 51+      "agogoSpeed"  -> 52+      "crashSpeed"  -> 53+      "stutterTime" -> 54+      "stutterDepth"-> 55+      "tomDecay"    -> 56+      "closedHatDecay"  -> 57+      "openHatDecay"    -> 58+      "hatGrain"        -> 59+      _ -> 0