diff implementations/geerdes/classes.lisp @ 217:d8f650e3796e

Rationalise base and geerdes classes, constructors and methods. Ignore-this: d9d4d88566a6d110844d91d4c70513cd Towards a more standardised interface. Some of these changes (generalised constructors and reader functions) are necessary for amuse-database-admin functionality and some other CHARM-like things. darcs-hash:20090716154406-16a00-8a9b4fb1fc1f5ba75af66a1bbd87e1bb68e02493.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 619194befdd4
children 7afb8cfdcdcf
line wrap: on
line diff
--- a/implementations/geerdes/classes.lisp	Thu Feb 24 11:23:18 2011 +0000
+++ b/implementations/geerdes/classes.lisp	Thu Feb 24 11:23:18 2011 +0000
@@ -7,13 +7,24 @@
 
 (defclass geerdes-object (property-list-mixin) ())
 
-(defclass geerdes-identifier (composition-identifier geerdes-object) ())
-(defclass geerdes-identifier-cat-id (geerdes-identifier)
+(defclass geerdes-identifier (geerdes-object) ())
+
+(defclass geerdes-composition-identifier (composition-identifier
+					  geerdes-object) ())
+
+(defclass geerdes-identifier-cat-id (geerdes-composition-identifier)
   ((cat-id :initarg :cat-id
 	   :initform 'nil)))
-(defclass geerdes-identifier-file-id (geerdes-identifier)
+
+(defclass geerdes-identifier-file-id (geerdes-composition-identifier)
   ((file-id :initarg :file-id
-	    :initform 'nil)))
+	    :initform 'nil))
+  (:documentation "Define geerdes-file-id as composition-id."))
+
+(defclass geerdes-event-identifier (event-identifier
+				    geerdes-identifier)
+  ((event-id :initarg :event-id
+	     :reader event-id)))
 
 (defclass geerdes-composition (midi-composition geerdes-object)
   ((db-entry :initarg :db-entry
@@ -50,12 +61,18 @@
 			      :initform 0
 			      :accessor %ioi-mode)))
 
-(defclass geerdes-pitched-event (midi-pitched-event geerdes-object)
-  ((id :initarg :id
-       :accessor %geerdes-pitched-event-id))
-  (:documentation "Only adds a database id to midi-pitched-event"))
+(defclass geerdes-event (geerdes-object) ()
+  (:documentation "Base class for geerdes events."))
 
-(defclass geerdes-percussive-event (midi-percussive-event geerdes-object)
-  ((id :initarg :id
-       :accessor %geerdes-percussive-event-id))
-  (:documentation "Only adds a database id to midi-percussive-event"))
+(defclass geerdes-pitched-event (midi-pitched-event geerdes-event)
+  ((identifier :initarg :identifier
+	       :reader identifier))
+  (:documentation "Only adds a database identifier to
+  midi-pitched-event"))
+
+(defclass geerdes-percussive-event (midi-percussive-event
+				    geerdes-event)
+  ((identifier :initarg :identifier
+	       :reader identifier))
+  (:documentation "Only adds a database identifier to
+  midi-percussive-event"))