Mercurial > hg > amuse
view implementations/midi/classes.lisp @ 229:c9573d61b1b9
twiddle meredith import functions
Ignore-this: e28a31418c8e60420bd84047d9110a13
darcs-hash:20090918124512-16a00-6354c6e9942caba1496caaac990d1f6985bfa17b.gz
committer: Jamie Forth <j.forth@gold.ac.uk>
author | j.forth <j.forth@gold.ac.uk> |
---|---|
date | Thu, 24 Feb 2011 11:23:18 +0000 |
parents | de60993404c1 |
children | bba5e8571b92 |
line wrap: on
line source
(cl:in-package #:amuse-midi) (defclass midi-object (amuse-object) () (:documentation "MIDI base class")) (defclass midifile-identifier (composition-identifier midi-object) ((pathname :initarg :path :reader midifile-identifier-pathname :initform 'nil)) (:documentation "Identifier for MIDI files, containing pathname information")) (defclass midi-composition (standard-composition midi-object) ((time-signatures :initarg :time-signatures :initform 'nil :accessor %midi-time-signatures) (tempi :initarg :tempi :initform 'nil :accessor %midi-tempi) (key-signatures :initarg :key-signatures :initform 'nil :accessor %midi-key-signatures) (misc-controllers :initarg :controllers :initform 'nil :accessor %midi-misc-controllers) (identifier :initarg :identifier :reader identifier) (midi-timebase :initarg :midi-timebase :reader %midi-timebase)) (:documentation "Class for midi compositions, with time signatures, tempi, key signatures and other controllers as lists in slots")) (defclass midi-monody (amuse:standard-monody midi-composition) ()) (defclass midi-message (midi-object) ;? ((channel :accessor %midi-message-channel :initarg :channel) (track :accessor %midi-message-track :initarg :track))) (defclass midi-pitched-event (standard-chromatic-pitched-event midi-message) ((velocity :initarg :velocity :accessor %midi-pitched-event-velocity) (patch :initarg :patch :accessor %midi-pitched-event-patch)) (:documentation "Adds MIDI information to chromatic-pitched-event")) (defclass midi-percussive-event (standard-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)) (:documentation "Adds MIDI information to percussive-event"))