annotate implementations/midi/classes.lisp @ 253:b5ffec94ae6d

some very sketchy Charm constituent code
author Jamie Forth <j.forth@gold.ac.uk>
date Thu, 24 Feb 2011 11:23:18 +0000
parents bba5e8571b92
children
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
j@220 6 (defclass midifile-identifier (composition-identifier midi-object)
j@220 7 ((pathname :initarg :path
j@220 8 :reader midifile-identifier-pathname
j@220 9 :initform 'nil))
j@220 10 (:documentation "Identifier for MIDI files, containing pathname
j@220 11 information"))
j@220 12
d@136 13 (defclass midi-composition (standard-composition midi-object)
d@33 14 ((time-signatures :initarg :time-signatures
d@33 15 :initform 'nil
d@33 16 :accessor %midi-time-signatures)
d@33 17 (tempi :initarg :tempi
d@33 18 :initform 'nil
d@33 19 :accessor %midi-tempi)
d@115 20 (key-signatures :initarg :key-signatures
d@115 21 :initform 'nil
d@115 22 :accessor %midi-key-signatures)
d@33 23 (misc-controllers :initarg :controllers
j@212 24 :initform 'nil
j@212 25 :accessor %midi-misc-controllers)
j@212 26 (identifier :initarg :identifier
j@212 27 :reader identifier)
j@212 28 (midi-timebase :initarg :midi-timebase
j@212 29 :reader %midi-timebase))
d@134 30 (:documentation "Class for midi compositions, with time
d@134 31 signatures, tempi, key signatures and other controllers as
d@134 32 lists in slots"))
d@33 33
m@146 34 (defclass midi-monody (amuse:standard-monody midi-composition)
m@146 35 ())
m@146 36
d@130 37 (defclass midi-message (midi-object) ;?
m@25 38 ((channel :accessor %midi-message-channel :initarg :channel)
m@25 39 (track :accessor %midi-message-track :initarg :track)))
m@25 40
j@249 41 (defclass midi-pitched-event (standard-chromatic-pitched-event
j@249 42 linked-event midi-message)
d@32 43 ((velocity :initarg :velocity
d@32 44 :accessor %midi-pitched-event-velocity)
d@32 45 (patch :initarg :patch
d@134 46 :accessor %midi-pitched-event-patch))
d@134 47 (:documentation "Adds MIDI information to chromatic-pitched-event"))
m@25 48
j@249 49 (defclass midi-percussive-event (standard-percussive-event
j@249 50 linked-event midi-message)
d@32 51 ((velocity :initarg :velocity
d@32 52 :accessor %midi-percussive-event-velocity)
d@33 53 (patch :initarg :patch
d@33 54 :accessor %midi-percussive-event-patch)
d@33 55 (sound :initarg :sound
d@134 56 :accessor %midi-percussive-event-sound))
d@134 57 (:documentation "Adds MIDI information to percussive-event"))
m@25 58