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)))
+
+