comparison base/classes.lisp @ 246:25b6b52eb770

generalise constituent so not required to be anchored
author Jamie Forth <j.forth@gold.ac.uk>
date Thu, 24 Feb 2011 11:23:18 +0000
parents 76a695fe294f
children e5ff7d53f084
comparison
equal deleted inserted replaced
245:70969555ca07 246:25b6b52eb770
212 212
213 ;;;===================================================================== 213 ;;;=====================================================================
214 ;;; Constituents: collections of more than one event 214 ;;; Constituents: collections of more than one event
215 ;;;===================================================================== 215 ;;;=====================================================================
216 216
217 (defclass constituent (anchored-period) () 217 (defclass constituent (period) ()
218 (:documentation "Base class for constituents")) 218 (:documentation "Base class for constituents"))
219 219
220 (defclass standard-constituent (constituent standard-anchored-period) () 220 (defclass anchored-constituent (anchored-period) ()
221 (:documentation "Base class for constituents using standard 221 (:documentation "Base class for anchored constituents"))
222
223 (defclass standard-constituent (constituent standard-period) ()
224 (:documentation "Base class for constituents using standard time
225 representation"))
226
227 (defclass standard-anchored-constituent (anchored-constituent
228 standard-anchored-period) ()
229 (:documentation "Base class for anchored-constituents using standard
222 time representation")) 230 time representation"))
223 231
224 (defclass time-ordered-constituent (constituent list-slot-sequence) 232 (defclass time-ordered-constituent (constituent list-slot-sequence)
225 ;; this won't work if lisp implementation doesn't support extensible 233 ;; this won't work if lisp implementation doesn't support extensible
226 ;; sequences. 234 ;; sequences.
227 ()) 235 ())
228 236
229 (defclass standard-time-ordered-constituent (time-ordered-constituent 237 (defclass time-ordered-anchored-constituent (anchored-constituent
230 standard-constituent) 238 list-slot-sequence)
231 ;; this won't work if lisp implementation doesn't support extensible 239 ;; this won't work if lisp implementation doesn't support extensible
232 ;; sequences. 240 ;; sequences.
233 ()) 241 ())
234 242
235 (defclass composition (time-ordered-constituent) () 243 (defclass standard-time-ordered-constituent
236 (:documentation "Base class for compositions")) 244 (time-ordered-constituent standard-constituent)
237 245 ;; this won't work if lisp implementation doesn't support extensible
238 (defclass standard-composition (composition 246 ;; sequences.
239 standard-time-ordered-constituent) () 247 ())
240 (:documentation "Base class for compositions using standard 248
241 time representation")) 249 (defclass standard-time-ordered-anchored-constituent
250 (time-ordered-anchored-constituent standard-anchored-constituent)
251 ;; this won't work if lisp implementation doesn't support extensible
252 ;; sequences.
253 ())
254
255 (defclass composition (time-ordered-anchored-constituent) ()
256 (:documentation "Base class for compositions. Compositions are
257 assumed to be anchord constituents."))
258
259 (defclass standard-composition
260 (composition standard-time-ordered-anchored-constituent) ()
261 (:documentation "Base class for compositions using standard time
262 representation. Standard compositions are assumed to be
263 anchored."))
242 264
243 (defclass monody (composition) () 265 (defclass monody (composition) ()
244 (:documentation "Class for indicating suitability for analysis 266 (:documentation "Class for indicating suitability for analysis
245 requiring a monody")) 267 requiring a monody"))
246 268
247 (defclass standard-monody (monody standard-composition) ()) 269 (defclass standard-monody (monody standard-composition) ())
248
249 ;; Floating Constituents
250
251 (defclass floating-constituent (period) ()
252 (:documentation "Base class for non-anchored constituents"))
253
254 (defclass standard-floating-constituent (floating-constituent
255 standard-period) ()
256 (:documentation "Base class for floating constituents using standard
257 time representation"))
258
259 (defclass time-ordered-floating-constituent (floating-constituent
260 list-slot-sequence)
261 ;; this won't work if lisp implementation doesn't support extensible
262 ;; sequences.
263 ())
264
265 (defclass standard-time-ordered-floating-constituent
266 (time-ordered-floating-constituent standard-floating-constituent)
267 ;; this won't work if lisp implementation doesn't support extensible
268 ;; sequences.
269 ())
270 270
271 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 271 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
272 ;; 272 ;;
273 ;; Experimental: 273 ;; Experimental:
274 ;; 274 ;;