annotate implementations/midi/classes.lisp @ 130:b849c4fc4c26

implementation/midi and /geerdes: add midi-object and geerdes-object darcs-hash:20070730164010-f76cc-baca3a289ca6c022c0085177d539e8c5c6fbea4e.gz
author David Lewis <d.lewis@gold.ac.uk>
date Mon, 30 Jul 2007 17:40:10 +0100
parents cf198383852d
children 5e362d998f29
rev   line source
m@25 1 (cl:in-package #:amuse-midi)
m@25 2
d@130 3 (defclass midi-object (amuse:amuse-object) ())
d@130 4
d@130 5 (defclass midi-composition (amuse:composition midi-object)
d@33 6 ((time-signatures :initarg :time-signatures
d@33 7 :initform 'nil
d@33 8 :accessor %midi-time-signatures)
d@33 9 (tempi :initarg :tempi
d@33 10 :initform 'nil
d@33 11 :accessor %midi-tempi)
d@115 12 (key-signatures :initarg :key-signatures
d@115 13 :initform 'nil
d@115 14 :accessor %midi-key-signatures)
d@33 15 (misc-controllers :initarg :controllers
d@33 16 :initform 'nil
d@33 17 :accessor %midi-misc-controllers)))
d@33 18
d@130 19 (defclass midi-message (midi-object) ;?
m@25 20 ((channel :accessor %midi-message-channel :initarg :channel)
m@25 21 (track :accessor %midi-message-track :initarg :track)))
m@25 22
m@25 23 (defclass midi-pitched-event (chromatic-pitched-event midi-message)
d@32 24 ((velocity :initarg :velocity
d@32 25 :accessor %midi-pitched-event-velocity)
d@32 26 (patch :initarg :patch
d@32 27 :accessor %midi-pitched-event-patch)))
m@25 28
m@25 29 (defclass midi-percussive-event (percussive-event midi-message)
d@32 30 ((velocity :initarg :velocity
d@32 31 :accessor %midi-percussive-event-velocity)
d@33 32 (patch :initarg :patch
d@33 33 :accessor %midi-percussive-event-patch)
d@33 34 (sound :initarg :sound
d@33 35 :accessor %midi-percussive-event-sound)))
m@25 36