d@22: (cl:in-package #:amuse) d@22: d@22: (defclass midi-message () ;? d@22: ((channel :accessor %midi-message-channel :initarg :channel) d@22: (track :accessor %midi-message-track :initarg :track))) d@22: d@22: (defclass midi-pitched-event (chromatic-pitched-event midi-message) d@22: ((velocity :initarg :velocity) d@22: (patch :initarg :patch))) d@22: d@22: (defclass midi-percussive-event (percussive-event midi-message) d@22: ((velocity :initarg :velocity) d@22: (patch :initarg :patch) d@22: (sound :initarg :sound))) d@22: d@22: (defclass midi-key-signature (basic-key-signature) d@22: ;; Is mode ever used in real life? Is it ever accurately used in d@22: ;; real life? d@22: ((mode :accessor %midi-key-signature-mode d@22: :initarg mode))) d@22: d@22: ;;; Constructors d@22: d@22: (defun make-midi-pitched-event (pitch-number velocity patch d@22: channel track onset duration) d@22: (make-instance 'midi-pitched-event d@22: :number pitch-number d@22: :velocity velocity d@22: :patch patch d@22: :channel channel d@22: :track track d@22: :time onset d@22: :interval duration)) d@22: d@22: (defun make-midi-percussive-event (pitch-number velocity patch d@22: channel track onset duration) d@22: (make-instance 'midi-percussive-event d@22: :sound pitch-number d@22: :velocity velocity d@22: :patch patch d@22: :channel channel d@22: :track track d@22: :time onset d@22: :interval duration)) d@22: d@22: (defun make-midi-key-signature (sharp-count mode onset duration) d@22: (make-instance 'midi-key-signature d@22: :sharp-count sharp-count d@22: :mode mode d@22: :time onset d@22: :interval duration)) d@22: