annotate implementations/midi/classes.lisp @ 146:a74494a94be9

implementations/midi: implement MONODY for midi files darcs-hash:20070924160443-c0ce4-302ec7f06335a374b673f70ef2e79d4b2a8b3616.gz
author Marcus Pearce <m.pearce@gold.ac.uk>
date Mon, 24 Sep 2007 17:04:43 +0100
parents fd85f52d9f9d
children 4e0a5c7026ca 619194befdd4
rev   line source
m@25 1 (cl:in-package #:amuse-midi)
m@25 2
d@136 3 (defclass midi-object (amuse-object) ()
d@134 4 (:documentation "MIDI base class"))
d@130 5
d@136 6 (defclass midi-composition (standard-composition midi-object)
d@33 7 ((time-signatures :initarg :time-signatures
d@33 8 :initform 'nil
d@33 9 :accessor %midi-time-signatures)
d@33 10 (tempi :initarg :tempi
d@33 11 :initform 'nil
d@33 12 :accessor %midi-tempi)
d@115 13 (key-signatures :initarg :key-signatures
d@115 14 :initform 'nil
d@115 15 :accessor %midi-key-signatures)
d@33 16 (misc-controllers :initarg :controllers
d@33 17 :initform 'nil
d@134 18 :accessor %midi-misc-controllers))
d@134 19 (:documentation "Class for midi compositions, with time
d@134 20 signatures, tempi, key signatures and other controllers as
d@134 21 lists in slots"))
d@33 22
m@146 23 (defclass midi-monody (amuse:standard-monody midi-composition)
m@146 24 ())
m@146 25
d@130 26 (defclass midi-message (midi-object) ;?
m@25 27 ((channel :accessor %midi-message-channel :initarg :channel)
m@25 28 (track :accessor %midi-message-track :initarg :track)))
m@25 29
d@136 30 (defclass midi-pitched-event (standard-chromatic-pitched-event midi-message)
d@32 31 ((velocity :initarg :velocity
d@32 32 :accessor %midi-pitched-event-velocity)
d@32 33 (patch :initarg :patch
d@134 34 :accessor %midi-pitched-event-patch))
d@134 35 (:documentation "Adds MIDI information to chromatic-pitched-event"))
m@25 36
d@136 37 (defclass midi-percussive-event (standard-percussive-event midi-message)
d@32 38 ((velocity :initarg :velocity
d@32 39 :accessor %midi-percussive-event-velocity)
d@33 40 (patch :initarg :patch
d@33 41 :accessor %midi-percussive-event-patch)
d@33 42 (sound :initarg :sound
d@134 43 :accessor %midi-percussive-event-sound))
d@134 44 (:documentation "Adds MIDI information to percussive-event"))
m@25 45