Mercurial > hg > amuse
changeset 14:2af5e4f825a8
classes.lisp: add slots.
darcs-hash:20061205170515-aa3d6-d1d49951a3a96960fc04ecf7aa319a923f14124e.gz
author | m.pearce <m.pearce@gold.ac.uk> |
---|---|
date | Tue, 05 Dec 2006 17:05:15 +0000 |
parents | ccb65e2f7382 |
children | 38976571a4ac |
files | classes.lisp |
diffstat | 1 files changed, 20 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/classes.lisp Tue Dec 05 15:16:54 2006 +0000 +++ b/classes.lisp Tue Dec 05 17:05:15 2006 +0000 @@ -9,30 +9,39 @@ ;; types of information-specifiers (defclass moment-designator () ()) -(defclass time-interval-designator () ()) -(defclass anchored-time-interval-designator (moment-designator time-interval-designator) ()) +(defclass period-designator () ()) +(defclass anchored-period-designator (moment-designator period-designator) ()) (defclass pitch-designator () ()) (defclass pitch-interval-designator () ()) ;; time-related classes -(defclass moment (moment-designator) ()) -(defclass time-interval (time-interval-designator) ()) -(defclass floating-time-interval (time-interval) ()) -(defclass anchored-time-interval (time-interval anchored-time-interval-designator) ()) +(defclass moment (moment-designator) + ((time :accessor %moment-time :initarg :time))) + +(defclass period (period-designator) + ((interval :accessor %period-interval :initarg :interval))) + +(defclass floating-period (period) ()) +(defclass anchored-period (period moment anchored-period-designator) ()) ;; pitch-related classes (defclass frequency () ()) (defclass pitch (pitch-designator) ()) -(defclass chromatic-pitch (pitch) ()) -(defclass diatonic-pitch (pitch) ()) - -(defclass pitch-interval (pitch-interval-designator) ()) +(defclass chromatic-pitch (pitch) + ((number :accessor %chromatic-pitch-number :initarg :number))) +(defclass diatonic-pitch (pitch) + ((name :accessor %diatonic-pitch-name :initarg :name) + (accidental :accessor %diatonic-pitch-accidental :initarg :accidental) + (octave :accessor %diatonic-pitch-octave :initarg :octave))) + +(defclass pitch-interval (pitch-interval-designator) + ((span :accessor %pitch-interval-span :initarg :span))) ;; events -(defclass event (anchored-time-interval-designator) ()) +(defclass event (anchored-period) ()) (defclass pitched-event (event pitch-designator) ()) (defclass percussive-event (event) ())