[CM] midi-received functions
Forrest Curo
treegestalt at gmail.com
Fri Feb 19 07:59:43 PST 2016
Okay, among 'examples' there is a section titled 'Output Hooks' (not, to my
mind, the most obvious titles to look for)
and the examples have errors:
ie
; An opcode receiver that plays a major or minor chord whenever a
; Note On arrives
function mychord (data)
with channel = second(data),
keynum = third(data),
velocity = fourth(data)
send("mp:midi", key: key, vel: vel, chan: chan)
send("mp:midi", key: key + pick(3,4), vel: vel, chan: chan)
send("mp:midi", key: key + 7, vel: vel, chan: chan)
end
;; assign receiver for the mm:on opcode (Note Ons)
send("mp:receive", mm:on, mychord)
;; when you are done clear it...
send("mp:receive", mm:on, #f)
-----------------------------------------------------------
It can be fixed, however. This works:
-------------------------------------------------------------
function mychord (data)
with channel = second(data),
keynum = third(data),
velocity = fourth(data)
send("mp:midi", key: keynum, amp: velocity, chan: channel)
send("mp:midi", key: keynum + pick(3,4), amp: velocity, chan: channel)
send("mp:midi", key: keynum + 7, amp: velocity, chan: channel)
end
;; assign receiver for the mm:on opcode (Note Ons)
send("mp:receive", mm:on, mychord)
On Thu, Feb 18, 2016 at 9:10 PM, Forrest Curo <treegestalt at gmail.com> wrote:
> I see a tutorial on sending midi out
>
> and ways to declare a function to be receiving midi in with specific
> opcodes
>
> but I'm not at all clear on how such a function should be written to
> extract the data when a midi message comes in.
>
> Examples anywhere?
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cm-mail.stanford.edu/mailman/private/cmdist/attachments/20160219/8823789a/attachment.html>
More information about the Cmdist
mailing list