diff base/classes.lisp @ 319:8ee20d73d90b

Add floating constituent classes. Ignore-this: f3afc46c68f8ab3b1c9c482919a7378f darcs-hash:20100604153709-16a00-5ec4568ef64401cb0cc67a99246a125367ce4734.gz
author j.forth <j.forth@gold.ac.uk>
date Fri, 04 Jun 2010 16:37:09 +0100
parents b31bb22ba67f
children 25b6b52eb770 4b4fb8859e82
line wrap: on
line diff
--- a/base/classes.lisp	Fri Jun 04 16:33:47 2010 +0100
+++ b/base/classes.lisp	Fri Jun 04 16:37:09 2010 +0100
@@ -208,8 +208,11 @@
 				 standard-anchored-period)
   ()
   (:documentation "Tempo associated with a standard-anchored-period"))
-   
-;; collections of more than one event
+
+
+;;;=====================================================================
+;;; Constituents: collections of more than one event
+;;;=====================================================================
 
 (defclass constituent (anchored-period) ()
   (:documentation "Base class for constituents"))
@@ -243,6 +246,28 @@
 
 (defclass standard-monody (monody standard-composition) ())
 
+;; Floating Constituents
+
+(defclass floating-constituent (period) ()
+  (:documentation "Base class for non-anchored constituents"))
+
+(defclass standard-floating-constituent (floating-constituent
+					 standard-period) ()
+  (:documentation "Base class for floating constituents using standard
+  time representation"))
+
+(defclass time-ordered-floating-constituent (floating-constituent
+					     list-slot-sequence)
+  ;; this won't work if lisp implementation doesn't support extensible
+  ;; sequences.
+  ())
+
+(defclass standard-time-ordered-floating-constituent
+    (time-ordered-floating-constituent standard-floating-constituent)
+  ;; this won't work if lisp implementation doesn't support extensible
+  ;; sequences.
+  ())
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; Experimental: