diff options
Diffstat (limited to 'dev/scratch.clj')
| -rw-r--r-- | dev/scratch.clj | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/dev/scratch.clj b/dev/scratch.clj index 9bfac2c..9775320 100644 --- a/dev/scratch.clj +++ b/dev/scratch.clj @@ -1,6 +1,8 @@ (ns scratch (:require [unheard.midi :as midi] [unheard.midi.percussion :refer [kick snare hat]] + [unheard.instrument.minilab3 :as minilab3] + [unheard.midi-util :as mu] [unheard.clock :refer [clock]] [unheard.theory :refer [note poly]] [missionary.core :as m])) @@ -55,18 +57,19 @@ p (song >c >tonic)] (m/amb= (let [[t f] (m/?> 2 (midi/keyboard v)) - [ch k v] (rest (m/?< f))] - (if (= t :control) + [ch k v] (rest (m/?< f)) + chkv [ch k v]] + (if (mu/control-message? t) (m/amb - (if (and (= ch 0) (= k 74)) + (if (minilab3/is-knob 1 chkv) (do (reset! c v) (m/amb)) (m/amb)) - (if (and (= ch 0) (= k 71)) + (if (minilab3/is-knob 2 chkv) (do (reset! tonic v) (m/amb)) (m/amb))) (m/amb))) - [:n (m/?< (m/eduction (dedupe) p))] - [:c (m/?< (m/eduction (dedupe) >c))])))))) + [:n (m/?< (m/eduction (dedupe) p))] + [:c (m/?< (m/eduction (dedupe) >c))])))))) (def cancel (run prn prn)) |
