maquinitas-tidal 0.2.13 → 0.2.16
raw patch · 5 files changed
+172/−101 lines, 5 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Roland: sh01a :: Pattern String -> ControlPattern
- Roland: sh01aMidiCC :: Num a => String -> a
- Roland: tr08 :: Pattern String -> ControlPattern
- Roland: tr08MidiCC :: Num a => String -> a
+ Boss.DR880: drum1 :: Pattern String -> ControlPattern
+ Boss.DR880: drum1midi :: Num a => String -> a
+ Boss.DR880: drum2 :: Pattern String -> ControlPattern
+ Boss.DR880: drum2midi :: Num a => String -> a
+ Boss.DR880: drum3 :: Pattern String -> ControlPattern
+ Boss.DR880: drum3midi :: Num a => String -> a
+ Korg.MR16: mr16 :: Pattern String -> ControlPattern
+ Korg.MR16: mr16MidiNote :: Num a => String -> a
+ Roland.TB3: ccn :: Pattern String -> ControlPattern
+ Roland.TB3: ccnList :: Num a => String -> a
Files
- maquinitas-tidal.cabal +4/−2
- src/Boss/DR880.hs +99/−0
- src/Korg/MR16.hs +39/−0
- src/Roland.hs +0/−99
- src/Roland/TB3.hs +30/−0
maquinitas-tidal.cabal view
@@ -1,5 +1,5 @@ name: maquinitas-tidal-version: 0.2.13+version: 0.2.16 synopsis: library for MIDI control of hardware description: maquinitas is a library for MIDI control of hardware homepage: https://github.com/maquinitas/maquinitas-tidal@@ -18,9 +18,11 @@ Korg.VolcaBeats Korg.VolcaBass Korg.VolcaKeys+ Korg.MR16+ Boss.DR880+ Roland.TB3 MFBTanzbar OtoBam- Roland -- other-modules: -- other-extensions:
+ src/Boss/DR880.hs view
@@ -0,0 +1,99 @@+-- maquinitas-tidal+-- parameters for instruments by Korg++module Boss.DR880 where++ import qualified Sound.Tidal.Params+ import Sound.Tidal.Pattern++ -- Drum machine 1+ + drum1 :: Pattern String -> ControlPattern+ drum1 = Sound.Tidal.Params.n . (subtract 60 . drum1midi <$>)+ + drum1midi :: Num a => String -> a+ drum1midi m =+ case m of+ "kick1" -> 36+ "kick2" -> 35+ "snare1" -> 38+ "snare2" -> 40+ "closedHH" -> 42+ "crossStick" -> 37+ "clap" -> 39+ "cowbell" -> 56+ "pedalHH" -> 44+ "openHH" -> 46+ "tom1" -> 50+ "tom2" -> 48+ "tom3" -> 45+ "tom4" -> 41+ "chinaCym" -> 52+ "crash1" -> 49+ "crash2" -> 57+ "splashCym" -> 55+ "bell" -> 53+ "ride" -> 51+ _ -> 0 -- no match++ + -- Drum machine 2+ + drum2 :: Pattern String -> ControlPattern+ drum2 = Sound.Tidal.Params.n . (subtract 60 . drum2midi <$>)+ + drum2midi :: Num a => String -> a+ drum2midi m =+ case m of+ "kick1" -> 60+ "kick2" -> 61+ "snare1" -> 62+ "snare2" -> 63+ "closedHH" -> 64+ "crossStick" -> 54+ "clap" -> 91+ "cowbell" -> 95+ "pedalHH" -> 96+ "openHH" -> 97+ "tom1" -> 69+ "tom2" -> 94+ "tom3" -> 70+ "tom4" -> 82+ "chinaCym" -> 92+ "crash1" -> 89+ "crash2" -> 90+ "splashCym" -> 93+ "bell" -> 84+ "ride" -> 59 + _ -> 0 -- no match+++ -- Drum machine 3+ + drum3 :: Pattern String -> ControlPattern+ drum3 = Sound.Tidal.Params.n . (subtract 60 . drum3midi <$>)+ + drum3midi :: Num a => String -> a+ drum3midi m =+ case m of+ "kick1" -> 86+ "kick2" -> 87+ "snare1" -> 78+ "snare2" -> 79+ "closedHH" -> 83+ "crossStick" -> 76+ "clap" -> 77+ "cowbell" -> 85+ "pedalHH" -> 66+ "openHH" -> 65+ "tom1" -> 71+ "tom2" -> 72+ "tom3" -> 75+ "tom4" -> 67+ "chinaCym" -> 68+ "crash1" -> 73+ "crash2" -> 74+ "splashCym" -> 58+ "bell" -> 80+ "ride" -> 81+ _ -> 0 -- no match
+ src/Korg/MR16.hs view
@@ -0,0 +1,39 @@+-- maquinitas-tidal++module Korg.MR16 where++ import Korg.KorgBase+ import qualified Sound.Tidal.Params+ import Sound.Tidal.Pattern++ -- MIDI notes+ -- Korg MR-16 drum machine++ mr16 :: Pattern String -> ControlPattern+ mr16 = Sound.Tidal.Params.n . (subtract 60 . mr16MidiNote <$>)+ + mr16MidiNote :: Num a => String -> a+ 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
− src/Roland.hs
@@ -1,99 +0,0 @@--- maquinitas-tidal--- parameters for instruments by Roland--module Roland where- import Sound.Tidal.Params- import Sound.Tidal.Pattern- - -- i copied this from volcaBeats- -- where this notation was used for midi notes- -- so this needs to be adapted to CC- sh01a :: Pattern String -> ControlPattern- sh01a = n . (subtract 60 . sh01aMidiCC <$>)-- sh01aMidiCC :: Num a => String -> a- sh01aMidiCC "modulation" = 1- sh01aMidiCC "lfoRate" = 3- sh01aMidiCC "portamentoTime" = 5- sh01aMidiCC "expressionPedal" = 11- sh01aMidiCC "lfoWaveform" = 12- sh01aMidiCC "vcoModDepth" = 13- sh01aMidiCC "vcoRange" = 14- sh01aMidiCC "vcoPulseWidth" = 15- sh01aMidiCC "vcoPwmSource" = 16- sh01aMidiCC "vcoModSens" = 17- sh01aMidiCC "vcoBendDepth" = 18- sh01aMidiCC "vcoPwmLevel" = 19- sh01aMidiCC "vcoSawLevel" = 20- sh01aMidiCC "vcoSubLevel" = 21- sh01aMidiCC "vcoSubType" = 22- sh01aMidiCC "vcoNoiseLevel" = 23- sh01aMidiCC "vcfEnvDepth" = 24- sh01aMidiCC "vcfModDepth" = 25- sh01aMidiCC "vcfKeyFollow" = 26- sh01aMidiCC "vcfBendDepth" = 27- sh01aMidiCC "vcaEnvSw" = 28- sh01aMidiCC "vcaEnvMode" = 29- sh01aMidiCC "envSustain" = 30- sh01aMidiCC "portamentMode" = 31- sh01aMidiCC "hold" = 64- sh01aMidiCC "portamento" = 65- sh01aMidiCC "vcfResonance" = 71- sh01aMidiCC "envRelease" = 72- sh01aMidiCC "envAttack" = 73- sh01aMidiCC "vcfCutoff" = 74- sh01aMidiCC "envDecay" = 75- sh01aMidiCC "tune" = 76- sh01aMidiCC "transposeSw" = 77- sh01aMidiCC "noiseMode" = 78- sh01aMidiCC "lfoMode" = 79- sh01aMidiCC "assignMode" = 80- sh01aMidiCC "chordVoice2Sw" = 81- sh01aMidiCC "chordVoice3Sw" = 82- sh01aMidiCC "chordVoice4Sw" = 83- sh01aMidiCC "chordVoice2KeyShift" = 85- sh01aMidiCC "chordVoice3KeyShift" = 86- sh01aMidiCC "chordVoice4KeyShift" = 87-- -- TODO: also needs to be adapted- tr08 :: Pattern String -> ControlPattern- tr08 = n . (subtract 60 . tr08MidiCC <$>)-- tr08MidiCC "bdTune" = 20- tr08MidiCC "bdTone" = 21- tr08MidiCC "bdComp" = 22- tr08MidiCC "bdDecay" = 23- tr08MidiCC "bdLevel" = 24- tr08MidiCC "sdTone" = 25- tr08MidiCC "sdSnappy" = 26- tr08MidiCC "sdComp" = 27- tr08MidiCC "sdDecay" = 28- tr08MidiCC "sdLevel" = 29- tr08MidiCC "ltTune" = 46- tr08MidiCC "ltDecay" = 47- tr08MidiCC "ltLevel" = 48- tr08MidiCC "mtTune" = 49- tr08MidiCC "mtDecay" = 50- tr08MidiCC "mtLevel" = 51- tr08MidiCC "htTune" = 52- tr08MidiCC "htDecay" = 53- tr08MidiCC "htLevel" = 54- tr08MidiCC "rsTune" = 55- tr08MidiCC "rsDecay" = 56- tr08MidiCC "rsLevel" = 57- tr08MidiCC "cpTune" = 58- tr08MidiCC "cpDecay" = 59- tr08MidiCC "cpLevel" = 60- tr08MidiCC "chTune" = 61- tr08MidiCC "chDecay" = 62- tr08MidiCC "chLevel" = 63- tr08MidiCC "accent" = 71- tr08MidiCC "ohTune" = 80- tr08MidiCC "ohDecay" = 81- tr08MidiCC "ohLevel" = 82- tr08MidiCC "cyTune" = 83- tr08MidiCC "cyDecay" = 84- tr08MidiCC "cyLevel" = 85- tr08MidiCC "cbTune" = 86- tr08MidiCC "cbDecay" = 87- tr08MidiCC "cbLevel" = 88
+ src/Roland/TB3.hs view
@@ -0,0 +1,30 @@+-- maquinitas-tidal+-- parameters for instruments by Korg++module Roland.TB3 where++ import qualified Sound.Tidal.Params+ import Sound.Tidal.Pattern++ -- ControlChange list++ ccn :: Pattern String -> ControlPattern+ ccn = Sound.Tidal.Params.ccn . (ccnList <$>)+ + ccnList :: Num a => String -> a+ ccnList m =+ case m of+ "padZ" -> 1+ "padYplay" -> 11+ "padXenvMod" -> 12+ "padYenvMod" -> 13+ "accent" -> 16+ "effect" -> 17+ "scatterType" -> 68+ "scatterDepth" -> 69+ "resonance" -> 71+ "cutoff" -> 74+ "patternSlide" -> 102+ "patternAccent" -> 103+ "tuning" -> 104+ _ -> 0