annotate midi-classes-and-constructors.lisp @ 22:99ccd775245a

Moved midi out of main files darcs-hash:20061214125711-f76cc-c9e7f9af1054c67473ff6d8a8e3b84e45fe43f35.gz
author David Lewis <d.lewis@gold.ac.uk>
date Thu, 14 Dec 2006 12:57:11 +0000
parents
children
rev   line source
d@22 1 (cl:in-package #:amuse)
d@22 2
d@22 3 (defclass midi-message () ;?
d@22 4 ((channel :accessor %midi-message-channel :initarg :channel)
d@22 5 (track :accessor %midi-message-track :initarg :track)))
d@22 6
d@22 7 (defclass midi-pitched-event (chromatic-pitched-event midi-message)
d@22 8 ((velocity :initarg :velocity)
d@22 9 (patch :initarg :patch)))
d@22 10
d@22 11 (defclass midi-percussive-event (percussive-event midi-message)
d@22 12 ((velocity :initarg :velocity)
d@22 13 (patch :initarg :patch)
d@22 14 (sound :initarg :sound)))
d@22 15
d@22 16 (defclass midi-key-signature (basic-key-signature)
d@22 17 ;; Is mode ever used in real life? Is it ever accurately used in
d@22 18 ;; real life?
d@22 19 ((mode :accessor %midi-key-signature-mode
d@22 20 :initarg mode)))
d@22 21
d@22 22 ;;; Constructors
d@22 23
d@22 24 (defun make-midi-pitched-event (pitch-number velocity patch
d@22 25 channel track onset duration)
d@22 26 (make-instance 'midi-pitched-event
d@22 27 :number pitch-number
d@22 28 :velocity velocity
d@22 29 :patch patch
d@22 30 :channel channel
d@22 31 :track track
d@22 32 :time onset
d@22 33 :interval duration))
d@22 34
d@22 35 (defun make-midi-percussive-event (pitch-number velocity patch
d@22 36 channel track onset duration)
d@22 37 (make-instance 'midi-percussive-event
d@22 38 :sound pitch-number
d@22 39 :velocity velocity
d@22 40 :patch patch
d@22 41 :channel channel
d@22 42 :track track
d@22 43 :time onset
d@22 44 :interval duration))
d@22 45
d@22 46 (defun make-midi-key-signature (sharp-count mode onset duration)
d@22 47 (make-instance 'midi-key-signature
d@22 48 :sharp-count sharp-count
d@22 49 :mode mode
d@22 50 :time onset
d@22 51 :interval duration))
d@22 52