user=> (use 'overtone.live)
....
Collaborative Programmable Music. v0.10.6
....
user=> (System/getProperty "java.vm.version")
"11.0.5+10-LTS"
user=> (def r (first (midi-connected-receivers)))
#'user/r
user=> r
{:description "mio", :vendor "iConnectivity", :sinks 2147483647, :sources 0, :name "mio", :overtone.studio.midi/full-device-key [:midi-device "iConnectivity" "mio" "mio" 0], :info #object[com.sun.media.sound.MidiOutDeviceProvider$MidiOutDeviceInfo 0xf809993 "mio"], :overtone.studio.midi/dev-num 0, :device #object[com.sun.media.sound.MidiOutDevice 0x1ce025a9 "com.sun.media.sound.MidiOutDevice@1ce025a9"], :version "Unknown version", :receiver #object[com.sun.media.sound.MidiOutDevice$MidiOutReceiver 0x4ca3e136 "com.sun.media.sound.MidiOutDevice$MidiOutReceiver@4ca3e136"]}
user=> (on-event [:midi :control-change] (fn [k] (println "midi event: " k)) :cc-event)
:added-async-handler
user=> (midi-control r 64 127)
nil
user=>
---------
Shouldn't the last expression cause the (println "midi event: " k) to be evaluated?
I'm probably missing something, but I'm not sure what. Looking at the overtone code, it looks like this should work.
Regards,
Bill