Mercurial > hg > amuse
view midi-classes-and-constructors.lisp @ 25:fe73cc3f1605
implementations/midi: move MIDI implementation to subdirectory.
darcs-hash:20061215162417-aa3d6-164486669cc7e76206afd76f5c9cdd4fb2ba5b75.gz
author | m.pearce <m.pearce@gold.ac.uk> |
---|---|
date | Fri, 15 Dec 2006 16:24:17 +0000 |
parents | 99ccd775245a |
children |
line wrap: on
line source
(cl:in-package #:amuse) (defclass midi-message () ;? ((channel :accessor %midi-message-channel :initarg :channel) (track :accessor %midi-message-track :initarg :track))) (defclass midi-pitched-event (chromatic-pitched-event midi-message) ((velocity :initarg :velocity) (patch :initarg :patch))) (defclass midi-percussive-event (percussive-event midi-message) ((velocity :initarg :velocity) (patch :initarg :patch) (sound :initarg :sound))) (defclass midi-key-signature (basic-key-signature) ;; Is mode ever used in real life? Is it ever accurately used in ;; real life? ((mode :accessor %midi-key-signature-mode :initarg mode))) ;;; Constructors (defun make-midi-pitched-event (pitch-number velocity patch channel track onset duration) (make-instance 'midi-pitched-event :number pitch-number :velocity velocity :patch patch :channel channel :track track :time onset :interval duration)) (defun make-midi-percussive-event (pitch-number velocity patch channel track onset duration) (make-instance 'midi-percussive-event :sound pitch-number :velocity velocity :patch patch :channel channel :track track :time onset :interval duration)) (defun make-midi-key-signature (sharp-count mode onset duration) (make-instance 'midi-key-signature :sharp-count sharp-count :mode mode :time onset :interval duration))