Mercurial > hg > amuse
diff implementations/geerdes/classes.lisp @ 88:8ea75cc8bc2c
Basic geerdes functionality moved to implementations/geerdes from separate package
darcs-hash:20070720161242-f76cc-fd256cbbb81d8c418a6c7c45844264184c5ed932.gz
author | David Lewis <d.lewis@gold.ac.uk> |
---|---|
date | Fri, 20 Jul 2007 17:12:42 +0100 |
parents | |
children | b849c4fc4c26 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/implementations/geerdes/classes.lisp Fri Jul 20 17:12:42 2007 +0100 @@ -0,0 +1,52 @@ +(cl:in-package #:amuse-geerdes) + +(defclass property-list-mixin () + ((properties :initarg :properties :accessor properties :initform nil))) + +(defclass geerdes-identifier (identifier) ()) +(defclass geerdes-identifier-cat-id (geerdes-identifier) + ((cat-id :initarg :cat-id + :initform 'nil))) +(defclass geerdes-identifier-file-id (geerdes-identifier) + ((file-id :initarg :file-id + :initform 'nil))) + +(defclass geerdes-composition (midi-composition property-list-mixin) + ((db-entry :initarg :db-entry + :initform nil + :accessor %db-entry) + (bar-numbers :initform nil + :accessor %bar-numbers) + (monody :initform nil + :accessor %monody) + (caches :initform nil + :accessor %caches) + (midi-constituents :initarg :constituents + :accessor %midi-constituents) + (midi-events :initarg :midi-events + :accessor %midi-events) + (midi-timebase :initarg :midi-timebase + :accessor %midi-timebase) + (identifier :initarg :id + :accessor %fast-identifier) + (db-cat-id :initarg :cat-id + :accessor %db-cat-id) + (db-file-id :initarg :file-id + :accessor %db-file-id))) + +(defclass geerdes-monody (monody geerdes-composition) + ;; FIXME: necessary slots? Do we even use them? + ((inter-onset-intervals :initarg :i-o-i + :initform nil + :accessor %i-o-i) + (inter-onset-interval-mode :initarg :ioi-mode + :initform 0 + :accessor %ioi-mode))) + +(defclass geerdes-pitched-event (midi-pitched-event property-list-mixin) + ((id :initarg :id + :accessor %geerdes-pitched-event-id))) + +(defclass geerdes-percussive-event (midi-percussive-event property-list-mixin) + ((id :initarg :id + :accessor %geerdes-percussive-event-id)))