view implementations/midi/classes.lisp @ 33:d1010755f507

Large upload of local changes. Many additions, such as harmony and piece-level objects darcs-hash:20070413100909-f76cc-a8aa8dfc07f438dc0c1a7c45cee7ace2ecc1e6a5.gz
author David Lewis <d.lewis@gold.ac.uk>
date Fri, 13 Apr 2007 11:09:09 +0100
parents 5e705b6f94b6
children 5bec705db9d6
line wrap: on
line source
(cl:in-package #:amuse-midi) 

(defclass midi-composition (amuse:composition)
  ((time-signatures :initarg :time-signatures
		    :initform 'nil
		    :accessor %midi-time-signatures)
   (tempi :initarg :tempi
	  :initform 'nil
	  :accessor %midi-tempi)
   (misc-controllers :initarg :controllers
		      :initform 'nil
		      :accessor %midi-misc-controllers)))

(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
	     :accessor %midi-pitched-event-velocity)
   (patch :initarg :patch
	  :accessor %midi-pitched-event-patch)))

(defclass midi-percussive-event (percussive-event midi-message)
  ((velocity :initarg :velocity
	     :accessor %midi-percussive-event-velocity)
   (patch :initarg :patch
	  :accessor %midi-percussive-event-patch)
   (sound :initarg :sound
	  :accessor %midi-percussive-event-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)))