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) ())