Mercurial > hg > amuse
diff implementations/meredith/classes.lisp @ 215:4eceac78e7c6
add minimal backend for Dave Meredith's data
Ignore-this: 91608f727967a4c5709bd41634ab9ae2
darcs-hash:20090524193956-16a00-038e6f7cb235dea4e7efcc70c4d1a7bc7fd402a6.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 | |
children | 6f0881af3403 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/implementations/meredith/classes.lisp Thu Feb 24 11:23:18 2011 +0000 @@ -0,0 +1,49 @@ +(cl:in-package #:amuse-meredith) + +;;; Top-level class + +(defclass meredith-data-object (amuse:amuse-object) ()) + +;;; Identifiers + +(defclass meredith-identifier (meredith-data-object) ()) + +(defclass meredith-composition-identifier (composition-identifier + meredith-identifier) + ((composition-id + :initarg :composition-id + :reader composition-id))) + +(defclass meredith-event-identifier (event-identifier + meredith-identifier) + ((event-id :initarg :event-id + :reader event-id))) + +;;; Music objects + +(defclass meredith-music-object (meredith-data-object) ()) + +(defclass meredith-composition (amuse:standard-composition + meredith-music-object) + ((identifier :initarg :identifier :reader identifier) + (description :initarg :description :reader description))) + +(defclass meredith-event (amuse:chromatic-pitched-event + amuse:diatonic-pitched-event + amuse:standard-anchored-period + meredith-music-object) + ((identifier :initarg :identifier :accessor identifier) + (tatum-on :initarg :tatum-on :accessor tatum-on) + (tatum-dur :initarg :tatum-dur :accessor tatum-dur) + (tactus-on :initarg :tactus-on :accessor tactus-on) + (tactus-dur :initarg :tactus-dur :accessor tactus-dur) + (tatum-on-ms :initarg :tatum-on-ms :accessor tatum-on-ms) + (tatum-dur-ms :initarg :tatum-dur-ms :accessor tatum-dur-ms) + (beat-on-ms :initarg :beat-on-ms :accessor beat-on-ms) + (beat-dur-ms :initarg :beat-dur-ms :accessor beat-dur-ms) + (crot-on-ms :initarg :crot-on-ms :accessor crot-on-ms) + (crot-dur-ms :initarg :crot-dur-ms :accessor crot-dur-ms) + (pitch-name :initarg :pitch-name :accessor pitch-name) + (voice :initarg :voice :accessor voice))) + +