comparison implementations/midi/classes.lisp @ 134:5e362d998f29

More documentation darcs-hash:20070828101524-f76cc-6add2c3c254befc3cf767ac69706865b7830bc6a.gz
author David Lewis <d.lewis@gold.ac.uk>
date Tue, 28 Aug 2007 11:15:24 +0100
parents b849c4fc4c26
children fd85f52d9f9d
comparison
equal deleted inserted replaced
133:d041118612d4 134:5e362d998f29
1 (cl:in-package #:amuse-midi) 1 (cl:in-package #:amuse-midi)
2 2
3 (defclass midi-object (amuse:amuse-object) ()) 3 (defclass midi-object (amuse:amuse-object) ()
4 (:documentation "MIDI base class"))
4 5
5 (defclass midi-composition (amuse:composition midi-object) 6 (defclass midi-composition (amuse:composition midi-object)
6 ((time-signatures :initarg :time-signatures 7 ((time-signatures :initarg :time-signatures
7 :initform 'nil 8 :initform 'nil
8 :accessor %midi-time-signatures) 9 :accessor %midi-time-signatures)
12 (key-signatures :initarg :key-signatures 13 (key-signatures :initarg :key-signatures
13 :initform 'nil 14 :initform 'nil
14 :accessor %midi-key-signatures) 15 :accessor %midi-key-signatures)
15 (misc-controllers :initarg :controllers 16 (misc-controllers :initarg :controllers
16 :initform 'nil 17 :initform 'nil
17 :accessor %midi-misc-controllers))) 18 :accessor %midi-misc-controllers))
19 (:documentation "Class for midi compositions, with time
20 signatures, tempi, key signatures and other controllers as
21 lists in slots"))
18 22
19 (defclass midi-message (midi-object) ;? 23 (defclass midi-message (midi-object) ;?
20 ((channel :accessor %midi-message-channel :initarg :channel) 24 ((channel :accessor %midi-message-channel :initarg :channel)
21 (track :accessor %midi-message-track :initarg :track))) 25 (track :accessor %midi-message-track :initarg :track)))
22 26
23 (defclass midi-pitched-event (chromatic-pitched-event midi-message) 27 (defclass midi-pitched-event (chromatic-pitched-event midi-message)
24 ((velocity :initarg :velocity 28 ((velocity :initarg :velocity
25 :accessor %midi-pitched-event-velocity) 29 :accessor %midi-pitched-event-velocity)
26 (patch :initarg :patch 30 (patch :initarg :patch
27 :accessor %midi-pitched-event-patch))) 31 :accessor %midi-pitched-event-patch))
32 (:documentation "Adds MIDI information to chromatic-pitched-event"))
28 33
29 (defclass midi-percussive-event (percussive-event midi-message) 34 (defclass midi-percussive-event (percussive-event midi-message)
30 ((velocity :initarg :velocity 35 ((velocity :initarg :velocity
31 :accessor %midi-percussive-event-velocity) 36 :accessor %midi-percussive-event-velocity)
32 (patch :initarg :patch 37 (patch :initarg :patch
33 :accessor %midi-percussive-event-patch) 38 :accessor %midi-percussive-event-patch)
34 (sound :initarg :sound 39 (sound :initarg :sound
35 :accessor %midi-percussive-event-sound))) 40 :accessor %midi-percussive-event-sound))
41 (:documentation "Adds MIDI information to percussive-event"))
36 42