;; Pm_MessageStatus(), Pm_MessageData1(), and
;; Pm_MessageData2() extract fields from a 32-bit midi message.
;; */
(bind-alias PmMessage i32) ;; /**< see PmEvent */
;; #define Pm_Message(status, data1, data2) ((((data2) << 16) & 0xFF0000) | (((data1) << 8) & 0xFF00) | ((status) & 0xFF))
(bind-func Pm_Message
(lambda (status:PmMessage data1:PmMessage data2:PmMessage)
(+ (& (<< data2 16) #xFF0000)
(& (<< data1 8) #xFF00)
(& status #xFF))))