Mercurial > hg > amuse
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"))