Mercurial > hg > amuse
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 ;; |