Mercurial > hg > amuse
view implementations/midi/classes.lisp @ 136:fd85f52d9f9d
Class revolution
* PITCH-DESIGNATOR -> PITCH (PITCH removed)
* MOMENT-DESIGNATOR -> MOMENT , MOMENT -> STANDARD-MOMENT
* PERIOD-DESIGNATOR -> PERIOD , PERIOD -> STANDARD-PERIOD
* ANCHORED-PERIOD-DESIGNATOR -> ANCHORED-PERIOD , ANCHORED-PERIOD -> STANDARD-ANCHORED-PERIOD
* FLOATING-PERIOD removed
* TIME-SIGNATURE-DESIGNATOR -> TIME-SIGNATURE & TIME-SIGNATURE-PERIOD
* TIME-SIGNATURE -> STANDARD-TIME-SIGNATURE & STANDARD-TIME-SIGNATURE-PERIOD
* KEY-SIGNATURE-DESIGNATOR -> KEY-SIGNATURE (& ...-PERIOD)
* KEY-SIGNATURE -> STANDARD-KEY-SIGNATURE (& ...-PERIOD)
* TEMPO now abstract (& TEMPO-PERIOD)
* STANDARD-TEMPO AND STANDARD-TEMPO-PERIOD
* COMPOSITION, CONSTITUENT & TIME-ORDERED-CONSTITUENT all have STANDARD- forms
make-x methods and specialisers changes appropriately
darcs-hash:20070831142943-f76cc-7be0d08963de06d87b36e4922076287d565c7ee2.gz
author | David Lewis <d.lewis@gold.ac.uk> |
---|---|
date | Fri, 31 Aug 2007 15:29:43 +0100 |
parents | 5e362d998f29 |
children | a74494a94be9 |
line wrap: on
line source
(cl:in-package #:amuse-midi) (defclass midi-object (amuse-object) () (:documentation "MIDI base class")) (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)) (:documentation "Class for midi compositions, with time signatures, tempi, key signatures and other controllers as lists in slots")) (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"))